Möchte ein Benutzer seine ASA 5505 auf die Werkseinstellungen zurückstellen, muss folgendes eingegeben werden. Das Passwort für “enable” muss bekannt sein.

asa> enable
asa# conf t
asa(config)# config factory-default
asa(config)# no enable password

Der letzte Befehl entfernt das enable Passwort aus der ASA.

Eine Cisco ASA 5505 kann in zwei Betriebsarten konfiguriert werden, nämlich sls transparente Firewall oder als Routed Firewall. Normalerweise wird eine ASA meist als eine Routed Firewall eingerichtet. Der Grund liegt darin, dass eine transparente Firewall nicht so ohne weiteres bei der Fehlerdiagnose auftaucht. Sie ist transparent. Damit taucht sie im traceroute nicht als Hop auf. Ein Admin, der einen Fehler sucht, kann über diese Stolperfalle stürzen, sollte eine transparante Firewall Pakete filtern, die gebraucht werden. Es kann nicht einfach sein diese Firewall zu entdecken, sollte sie nicht im Netzwerkplan auftauchen. Daher werden Firewalls gerne als Routed Firewalls konfiguriert. Der Admin schaut von Hop zu Hop, ob alles okay ist und schlußendlich hangelt er sich an das Problem heran.

Hier wird eine ASA als transparante Firewall konfiguriert. Die Anwendung kann im Heimnetzwerk ganz nützlich sein, bzw. die Konfiguration kann verwendet werden, um ganze Netzbereiche aus dem Traffic auszufiltern. Es wird nicht detailliert auf die Inhalte der Access-Liste eingegangen. Die Konfiguration geht nur soweit, dass die transparante Firewall soweit betriebsbereit ist, allerdings wenig bis nichts filtert.

Das Netzwerk sieht so aus, zumindest der kleine Teil.

192.168.200.1 (Router zum DSL)
|
|
ASA <---- 192.168.200.2 (IP zum Konfigurieren der ASA)
|
|
192.168.200.3 (PC/LAN)

Warum eine transparante Firewall im Netzwerk, die IP Bereiche filtert? Das Problem unliebsamer Besucher, Malware und andere Dinge, nimmt mehr und mehr zu. Es kann sinnvoll sein, als Kleinunternehmen oder Privatmann bestimmte Netzwerke komplett aus seinem Interneterlebnis auszublenden.

Es gibt Netzwerke, woher nichts Gutes kommt. Den ganzen Block, den man ohnehin nicht gerne ansurft, hält man komplett von sich weg. Verbindungen jeder Art werden komplett von der ASA weggeworfen und möglicherweise wird der Aspekt geloggt, wenn man als Admin das wünscht. Damit kann vielleicht ein Exploit erfolgreich wirken, der Loader bekommt aber unter Umständen keinen Connect. Natürlich kann es gut sein, das es dann über einen Proxy oder weiß der Himmel läuft, klar... Pech. Das gefilterte Bereich sollte auch recht riesig sein und ein oder mehrere Länder betreffen. Im Grunde muss jeder wissen, was er gerne im Netz so macht, jedem Kleinunternehmen könnte man ans Herz legen über bestimmte Filter nachzudenken, die Teile des Netzes komplett wegschmeist.

Anhand des Bildes hat man nach wie vor ein flaches Netzwerk. Maschinen, die direkt am DSL Router hängen, der vielleicht ncoh einen WLAN AP eingebaut hat, gehen ungefiltert ins Internet. Die andere Seite der ASA nicht. Auf diese Weise behält man ein wenig seine Flexibilität bei, per WLAN ungefiltert ins Internet, per Kabel mit einem gewissen Filter. Was genau gefiltert werden sollte, werde ich an dieser Stelle nicht erwähnen. Jeder möge sich da seine eigene Blockliste zusammenstellen.

Gut, wie wird so eine ASA eingerichtet?

asa> enable
asa# conf t
asa(config)# firewall mode transparent
asa(config)# no names

asa(config)# interface Vlan1
asa(config-if)# nameif inside
asa(config-if)# security-level 100
asa(config-if)# exit

asa(config)# interface Vlan2
asa(config-if)# nameif outside
asa(config-if)# security-level 0
asa(config-if)# exit

asa(config)# interface Ethernet0/0
asa(config-if)# switchport access vlan 2
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/1
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/2
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/3
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/4
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/5
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/6
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# interface Ethernet0/7
asa(config-if)# no sh
asa(config-if)# exit

asa(config)# access-list OUTSIDE-IN permit ip any any
asa(config)# access-group OUTSIDE-IN in int outside
asa(config)# ip address 192.168.200.2 255.255.255.0
asa(config)# monitor-interface outside
asa(config)# monitor-interface inside
asa(config)# end
asa# copy run start

Standardmäßig ist bei der Cisco ASA einlaufender ICMP Verkehr verboten. Ausgehender ICMP Verkehr ist wiederum erlaubt, allerdings wird das rücklaufende Packet, der PONG geschluckt. Wie erlaubt der Admin nun ICMP Verkehr, so dass alle Clienets, die an der ASA angeschlossen sind, frei pingen dürfen? Man legt eine Access-List an, die entsprechend den ICMP Verkehr zulässt, den man haben möchte. Diese Access-List muss an das Interface zum Internet, meist outside genannt angeknüpft werden, damit sie dort wirkt. Damit wird der einlaufende ICMP Verkahr erlaubt. Unten stehen die Befehle für die IOS Konsole.

asa# access-list 101 permit icmp any any echo-reply
asa# access-list 101 permit icmp any any source-quench
asa# access-list 101 permit icmp any any unreachable
asa# access-list 101 permit icmp any any time-exceeded
asa# access-group 101 in interface outside

Hat der Admin das outside Interface anders benannt, muss hier statt outside der richtige Bezeichner verwendet werden. In dem Beispiel oben, wird mehr als nur der Ping erlaubt. Wozu die einzelnen ICMP Typen gut sind, verrät das entsprechende RFC792.

Written on January 5th, 2012 , Interessantes, Technik Tags: , , , , , , , ,

Möchte ein Benutzer auf seinem Webserver oder Heimcomputer einen verschlüsselten Container mit sensiblen Daten erzeugen, so muss zuerst einmal die Datei her, wo diese Daten abgelegt werden sollen. In dem Beipsiel wird eine 2GB große Datei erzeugt. Zuerst wird mit dd eine Datei geschrieben, die mithilfe von urandom viel Schrott beinhaltet. Auf diese Weise kann nicht gesagt werden, wieviele verschlüsselte Daten sich in dieser Datei befinden. Anschließend wird mit mkdir das Zielverzeichnis erzeugt, wohin das Crypto-Device gemounted werden soll.

sample:/# dd if=/dev/urandom of=/home/username/myfile bs=4096 count=524288
sample:/# mkdir /home/username/myfiles
sample:/# ls -l
total 2099208
-rw-r--r-- 1 root root 2147483648 Dec 10 01:16 myfile
drwxr-xr-x 3 root root 4096 Dec 10 02:35 myfiles

Nun muss ein Loop-Device erzeugt werden. losetup erlegt das für uns. So wird sozusagen aus einer Datei ein virtuelles Blockdevice erzeugt. Auf diesem Blockdevice kann wiederum so zugegriffen werden, wie der Benutzer es von Festplatten gewohnt ist.

sample:/# losetup /dev/loop0 /home/username/myfile

Nun existiert ein Blockdevice /dev/loop0. Dieses wird nun mithilfe von cryptsetup initialisiert. Die Parameter finden sich in der man-page wieder. Ab Linuxkernel 2.6.10 kann ein alternatives IV Schema zur Verhinderung einer “Watermark Attack Weakness” verwendet werden. Hierzu kann aes-cbc-essiv:sha256 verwendet werden.

sample:/# cryptsetup -y -c aes -s 256 -h sha256 create mycrypt /dev/loop0

Nun existiert ein neues Blockdevice unter /dev/mapper/mycrypt. Dies ist wiederum ein virtuelles Gerät, welches durch die Verschlüsselungsroutinen mit dem angegebenen Kennwort so geleitet wird, dass schlußendlich der verschlüsselte Datenstrom auf das Loop-Device /dev/loop0 gelangt, was wiederum dann in der Datei selbst landet. Das wars schon. Nun das Gerät mit einem Dateisystem ausstatten.

sample:/# mkfs.ext3 /dev/mapper/mycrypt

Jetzt kann das Laufwerk gemountet werden. Hierzu einfach das verwendete Dateisystem eingeben und das Laufwerk zum angegeben Verzeichnispunkt mounten.

sample:/# mount -t ext3 /dev/mapper/mycrypt /home/username/myfiles
sample:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 7.4G 6.7G 53% /
tmpfs 100M 0 100M 0% /lib/init/rw
udev 10M 16K 10M 1% /dev
/dev/mapper/mycrypt 2.0G 68M 1.9G 4% /home/username/myfiles

Soweit so gut. Nun gibt es ein neues verschlüsseltes Laufwerk im System, auf das der Benutzer nach herzenslust sensible Daten schreiben kann. Die Passphrase sollte entsprechend lang sein und zusätzlich auch eine gewisse Komplexität beinhalten. Das bedeutet, Sonderzeichen, Groß- und Kleinschreibung und Zahlen. Empfohlen wird von mir eine Länge von mindestens 30 Zeichen.

Möchte ein Benutzer ein Loop Device verwenden, kommt es selten zur folgenden Fehlermeldung.

sample:/# losetup /dev/loop0 /home/username/myfile
/dev/loop0: No such file or directory

Der Grund für diese Meldung liegt darin zugrunde, dass das Kernelmodule loop nicht geladen worden ist. Abhilfe schafft kurzerhand:

sample:/# modprobe loop

Nun funktionieren die Loop Devices, jedoch sind nach einem Reboot diese wieder verschwunden. Auch hier gibt es eine schnelle Abhilfe. Unter Debian/Ubuntu/Mint unter /etc/modules eintragen. (Zeile “modprobe loop” hinzufügen)

Angriffe auf eine Netzwerkinfrastruktur sind vielschichtig. Ist es möglich, dass Switche, die mehrere VLANs Betreiber robuster gegen Angriffe sind? Ja, aber es kommt drauf an.

Switche, die managebar sind, haben eine IP Adresse in einem LAN. Über diese IP loggt sich der Systemadmin ein und hat die Kontrolle über das Gerät. Natürlich gibt es an dieser Stelle auch Passwörter, die nicht jeden rein lassen, der anklopft. Doch manchmal bekommen Passwörter Beine. Gerade bei geplanten Angriffen ist die Wahrscheinlichkeit recht groß, dass das eine oder andere Passwort bekannt geworden ist. Schließlich befindet sich dann der Angreifer schon erfolgreich im Netzwerk und hat zumindest einen Zugang längst gebrochen.

Daher ist es unbedingt erforderlich, aus Sicht der Netzwerksicherheit, dass das VLAN, womit das Switch administriert werden kann, in keinem Fall durch unberechtigte Benutzer erreichbar sein darf. Das sollte so bewerkstelligt werden, dass es separat gepatcht und in keinster Weise geroutet wird. Auch eine physikalische Verbindung zu Routern und der Außenwelt sollte vermieden werden.

Doch warum so ein Aufwand? Wenn eine Infrastruktur angegriffen wird, so spielt der Betreiber die Kontrolle seine Geräte dem Angreifer in die Hände, sollte er Zugriff auf die Konfigurationsschnittstellen der Netzwerkinfrastruktur bekommen. Je weniger es denkbar ist, dass die Konfigurationsschnittstellen durch einen Angreifer erreichbar sein könnten, je besser.

Ändert ein Angreifer erfolgreich die Kennwörter in einem Netzwerkgerät, so fällt die Kontrolle eines Segments in die Hände der Angreifer. Er kann dann tun und lassen, was er möchte, ohne dass dies vorerst verhindert werden kann. Da hilft nur Stecker ziehen, aber damit wird es bei einem selbst auch dunkel.

Mithilfe von Inter-VLAN-Routing kann ein Angreifer, durch die Änderungen der Config am Switch erreichen, dass er weitere Bereiche ansprechen kann, die vorher für ihn nicht zu sehen waren. Ist das Netzwerk kompromittiert, sind die Möglichkeiten einen Angreifer zu lokalisieren sehr begrenzt. Zugleich wird der Angriff erfolgreicher. Das Monitoring kann durch einen Angreifer erheblich gestört werden, sollte er auf Router und Switche Zugriff haben.

Das Verlagern der Konfigurationsschnittstellen in ein separates VLAN ist also eine gute Idee. Damit leisten VLAN fähige Switche mit einer sinnvollen Einstellung einen wichtigen Beitrag zur IT Sicherheit. Aus diesem Grund sollte an dieser Stelle nicht zu sehr gespart werden. Eine Schnittstelle, die nicht auf Layer 2 erreichbar ist, kann im LAN nicht gehackt werden.

Final muss gesagt werden, dass jedes Switch technisch gleich angreifbar ist. Also alle Layer 2 Angriffe funktionieren genauso auf einem managebaren Switch, wie auch auf einem völligen normalen Consumer-Switch. Für den Schutz des Netzwerkes und der Nodes müssen weitere Komponenten installiert werden. Das sind meist Security Appliances.

Löschen der Konfiguration PPPoE bei Cisco ASA

Der Benutzer kann bei einer Cisco ASA folgendes Kommando verwenden, um dem DHCP Server die Verwendung der WINS und DNS IP Adressen nahezubringen, die der Zugriffspunkt des ISP im Rahmen des PPP/IPCP Parameteraustausches übertragen hat.

mygateway(config)# dhcpd auto_config (client_ifx_name)

Überwachen und Testen eines PPPoE Clients

Um VPDN Gruppen in der Systemkonfiguration zu löschen, wird das clear configure vpdn group Kommando im global config mode verwendet.

mygateway(config)# clear configure vpdn group

Um alle VPDN Gruppen eines Benutzers zu löschen, wird das clear configure vpdn username Kommando verwendet.

mygateway(config)# clear configure vpdn username

Keiner der Befehle hat einen Einfluss auf die aktive PPPoE Verbindung.

Löschen der Konfiguration PPPoE bei Cisco ASA

Verwenden von PPPoE mit einer fixen IP Adresse

Um eine aktuell eingerichtete PPPoE Konfiguration anzuzeigen, kann folgendes Kommando verwendet werden.

mygateway# show ip address outside pppoe

Verwendet werden kann folgendes Kommando, um das Debugging des PPPoE Clients zu aktivieren:

mygateway# [no] debug pppoe event
mygateway# [no] debug pppoe error
mygateway# [no] debug pppoe packet

Folgende Bedeutung haben die Schlüsselwörter:

- event — Zeige die Ereignisse an, die vom Protokoll erzeugt worden sind.
- error — Zeigt Fehlermeldungen an, die bei der Verbindung aufgetreten sind.
- packet — Zeigt PPPoE Paketinfomrmationen an.

Der Benutzer kann folgendes Kommando verwenden, um sich den Status seiner PPPoE Verbindung anzuzeigen:

mygateway# show vpdn session (l2tp | pppoe) (id sess_id | packets | state | window)

Hier ein Beispiel, dass eine eine kurze Aufstellung der Informationen die dieses Kommando liefert zeigt.

mygateway# show vpdn

Tunnel id 0, 1 active sessions
time since change 13242 secs
Remote Internet Address 10.13.23.42
Local Internet Address 123.42.23.13
23 packets sent, 23 received, 2342 bytes sent, 0 received

Remote Internet Address is 10.13.23.42
Session state is SESSION_UP
Time since event change 64223 secs, interface outside
PPP interface id is 1
23 packets sent, 23 received, 2342 bytes sent, 0 received

mygateway#
mygateway# show vpdn session

PPPoE Session Information (Total tunnels=1 sessions=1)

Remote Internet Address is 10.13.23.42
Session state is SESSION_UP
Time since event change 64223 secs, interface outside
PPP interface id is 1
23 packets sent, 23 received, 2342 bytes sent, 0 received

mygateway#

mygateway# show vpdn tunnel

PPPoE Tunnel Information (Total tunnels=1 sessions=1)

Tunnel id 0, 1 active sessions
time since change 64223 secs
Remote Internet Address 10.13.23.42
Local Internet Address 123.42.23.13
23 packets sent, 23 received, 2342 bytes sent, 0 received

mygateway#

Löschen der Konfiguration PPPoE bei Cisco ASA

Aktivieren von PPPoE bei Cisco ASA

PPPoE kann auch so verwendet werden, dass der Benutzer eine feste IP Adresse einrichten kann, die verwendet werden soll. Dazu verwendet er das ip address Kommando in der Interfacekonfiguration:

mygateway(config-if)# ip address ipadresse netmask pppoe

Dieser Befehl bewegt die ASA dazu eine feste IP Adresse zu verwenden, statt sich mit dem PPPoE Server über eine Adresse zu einigen. Ersetze ipadresse mit der entsprechenden festzusetzenden IP Adresse, die verwendet werden soll und die netmask mit der dazugehörigen Netzwerkmaske.

Beispiel:

mygateway(config-if)# ip address outside 10.13.23.42 255.255.255.0 pppoe

Falls die Option setroute verwendet worden ist, welche erlaubt, einem Zugriffspunkt bereits eine Route zuzuweisen, bevor er eine PPPoE Verbindung aufgebaut hat, ist es nicht möglich eine statisch definierte Route in der Konfiguration zu haben.

Überwachen und Testen eines PPPoE Clients

Projekt: Neurodump is proudly powered by WordPress and the Theme Adventure by Eric Schwarz
Entries (RSS) and Comments (RSS).

Projekt: Neurodump

Gedankenauszüge eines Datenreisenden

Switch to our mobile site