Windows und MAC OSX integrierte Firewalls


Was bekomme ich eigentlich bei Windows 7 oder MAC OSX

Sicherheits- und Funktionsumfang der „fast gratis“ Firewalls?

Die Firewall in Mac OSX und Windows sind integrierte Bestanteile und verlangen wenig individuelle Konfiguration. Bei Windows ist die Standard Firewall heutzutage recht fein konfigurierbar, bietet aber schnell einen umfangreichen Schutz durch vordefinierte Regeln.

Die MAC OSX Firewall in den Sicherheits Einstellungen ist ziemlich rudimentär jedoch liegt den Distributionen eine openBSD Firewall PF bei. Diese ist recht umfangreich und mit dem nötigen Aufwand fein einstellbar.

Firewalls werden oft in 3 Kategorien eingeteilt. Wobei es je nach Hersteller verschiedene Abweichungen, Vermischungen oder Erweiterungen gibt. Eine eindeutige Abgrenzen fällt manchmal schwer.

1) Pakte Filter Firewall

2) Stateful Packet Firewall

3) Applikation Level Gateway

Interessant zu wissen, welche der Firewalls welche Funktionen bietet. Spätestens bei der genaueren Betrachtung bei Windows Vista stossen wir auf Überraschungen bezüglich der gewohnten Definition.

Eine Firewall integriert auf einem Arbeitsrechner Zuhause hat natürlich bei weitem nicht denselben Anforderungen zu genügen wie am Demarkationspunkt zum Netzwerk einer Firma. Welche nebst einem Webserver, der Inhalte öffentlich zugänglich macht, auch Mail- und Fileserver für den internen gebrauch betreibt. Hinter Angriffen auf Firmenserver stehen oft kommerzielle Interessen. Die Host-Firewall auf den Endgeräten entspricht jedoch, abgesehen von der Konfiguration und den Möglichkeiten durch Policies und AD Regeln, dessen was der Heimanwender bei gleichem Betriebssystem Zuhauses zur Verfügung hat.

Ein Host der über einen SoHo Router mit dem Internet über einen Lokalen ISP verbunden ist, muss sich davor schützen können durch Viren und anderer Malware infiziert zu werden oder, bereits infiziert, davor das weiter Schaden entsteht. Wird eine manipulierte Programmdatei runtergeladen soll dies die AV Applikation erkennen. Wenn der AV Schutz versagt und eine Malware aus einem Email-Anhang oder einem ausgeführten Script versucht eine Verbindung mit übers Internet aufzubauen, muss dies die Host-Firewall erkennen und blockieren. Zudem kann ein aktualisierter IP Filter zum Schutz vor SPAM verwendet werden.

Einige Unterscheidungsmerkmale vornweg:

Pakte Filter Firewall wenden Regeln auf die IP Quell- Zieladresse und Port auf den Ebenen Netzzugang, Netzwerk und Transport an. Jedoch haben sie meisten keine Kenntnis von dem Inhalt über diesen Ebenen.

  • In Router oder SoHo-Geräten weniger Möglichkeiten bezüglich Konfiguration, Protokollierung und Auswertung
  • Paket Filter Applikationen wie z.B. openBSD pf bieten feine Einstellungsmöglichkeiten,
  • Auf OSI Layer 3 werden IP Regel definiert.
  • OSI Layer 4 werden Port Regel definiert.

PPP-Frame (Erklärung: „Point to Point Protokoll“ GPRS/UMTS Verbindung oder PPPoE “ over Ethernet“ DSL)

 

 ppp_Packet

Quelle: rhyshaden.com

 

Stateful Packet Firewall geht beispielweise auf Layer 4 deutlich weiter und inspiziert den Verbindungsaufbau anhand den Flags. Weil das TCP Protokoll Verbindungsorient arbeitet wird eine solche nach einem bestimmten Schema aufgebaut. Dies Nutzt die Firewall und analysiert laufend und vergleicht anhand einer laufende aktualisierten Status-Table und erlaubt z.B. nur Antwortverkehr (Notes: Verbindungsaufbau). Eine SPI kennt diverse Analysen und kann bis layer 7 abgreifen, die Möglichkeiten unterscheiden sich je nach Produkt sehr. Meist wird zudem die „Lieferung“ mit dem „Lieferschein“ verglichen, seltener aber der Packet Inhalt analysiert.

Stateful inspection bei verbindungslosen oder „Stateless“ Protokollen wie UDP oder ICMP geht das nicht so gut, man muss sich mit weniger durchgreifenden Regeln begnügen. Bei UDP kann man beispielweise beobachten wie lange der Zeitabstand seit des letzten zugehörigen Packets ist und einen Timeout definierten.

DPI Deep Packet inspection nennt man die Firewall, wenn sie neben dem Header auch auf den Payload zugreift. Der Payload enthält den effektiven Datengehalt des Datenpackets und kann auf Maleware, Viren oder Spam untersucht werden. Aber auch um den Datenschutzes zu verletzen! DPI kann die Datei erkennen, ob Text oder Multimedia etc. Und leitet diese zur weiteren Analyse an spezifische Geräte weiter.

 

Applikation Level Gateway analysiert Protokolle und Dienste auf dem Application Level OSI Layer 7. Es bestehen für jedes Protokoll oder Dienst eigene Regeln, was aufwendig ist. ALG oder Application Level Firewall ALF Werden zwischen den Client und die Zieladresse geschaltet. Als Proxy übernimmt er die Client Anfragen und leitet sie gemäss der eigenen Regeln weiter. ALG wird dual-homed ausgelegt, womit zwei Schnittstellen gemeint sind, einerseits ins sichere und andererseits ins unsichere Netz. Ein Problem besteht dann, wenn Daten konvertiert (Tunnel)  werden, aber auf dem Standart HTTP Port 80 übertragen würden,

 

 

ALGFirewall

Quelle: erübrigt

 

Mac OSX

Unter Mac OSX, in den Einstellungen „Sicherheit“ und Register „Firewall“ kann Programmen den Zugriff aufs Internet Erlaubt werden (Inbound Regel). Jeder Netzwerk Socket der von einer Anwendung aufgebaut wird benötigt Rechte, die werden einmal definiert. Dann darf das Programm Eingehende Verbindungen annehmen.

In einer MAC OSX Distributionen wir allerdings ein weit mächtigeres Werkzeug mitgeliefert (default nicht aktiviert). Es ist dies die openBSD Entwicklung: PF (Paket Filter) Firewall. Es können Regeln zum Filtern von Packeten auf den OSI layern 3 und 4 Stateful Packet Inspection SPI Regeln erstellt werden.

PF beherrscht mit der Scrubbing-Technik das Normalisieren des Netzverkehrs, integriertes Traffic Shaping (Packet Queueing and Priorization) und Anchors für das dynamische Ändern von Regeln. Listen, Makros und Tabellen machen die ohnehin einfache Syntax der PF-Regelsätze noch lesbarer.

quelle: Linux-Magazin.de

Wird pf aktiviert werden die Bootskripte den Inhalt aus dem Regelsatz lesen und konfigurieren das Interface entsprechend.

Beispiel Script Konfiguration PF Regelsatz
# macros

int_if="xl0"

tcp_services="{ 22, 113 }"
icmp_types="echoreq"

comp3="192.168.0.3"

# options

set block-policy return
set loginterface egress
set skip on lo

# FTP Proxy rules

anchor "ftp-proxy/*"

pass in quick on $int_if inet proto tcp to any port ftp \
    divert-to 127.0.0.1 port 8021

# match rules

match out on egress inet from !(egress:network) to any nat-to (egress:0)

# filter rules

block in log
pass out quick

antispoof quick for { lo $int_if }

pass in on egress inet proto tcp from any to (egress) \
    port $tcp_services

pass in on egress inet proto tcp to (egress) port 80 rdr-to $comp3

pass in inet proto icmp all icmp-type $icmp_types

pass in on $int_if
Regel Beispiel Local IP Range und SMTP Mailversand Regel
#Lasse allen Traffic aus 192.168.0.0/24 auf 192.168.0.1 inklusive Rückverbindung zu 
 pass in on em0 from 192.168.0.0/24 to 192.168.0.1 keep state label "test" 
# 
# Erlaube SMTP von 172.16.2.254 nach 130.60.1.11 und logge die Verbindung 
 pass in log inet proto tcp from 172.16.2.254 port >= 1024 to 130.60.1.11 port 25 keep state

 

Anleitung zur Konfiguration der Firewall unter blog.scottlowe.org

Automatisierten SPAM Filter mit PF ikawnoclastic thoughts stellt eine Anleitung zur verfügung.

 

Microsoft Windows

Windows XP brachte die Internet Connection Firewall ICF mit. Der Name ICF wurde 2004 mit dem SP2 in Windows Firewall geändert. Die XP Windows Firewall hatte einen Packet Filter auf Level 3 sowie SPI auf Level 4. Sie konnte Regeln bezüglich IP Adressen, Ports, Sequenz Nummern und Flags in der State Tabel analysieren. Windows Firewall führte ein Log über abgebrochene oder blockierte Verbindungen. Was sie aber nicht konnte war das blockieren von Outbound Verbindungen.

 

ICFWIndowsXP

Quelle: Microsoft.Technet

 

Microsoft Windows Vista, 7, 8,

Neu die Unterscheidung von Benutzer Profilen

  • Öffentlich
  • Privat
  • Domäne

 

Mit vordefinierten Regeln werden grundlegende Einstellungen relative einfach ermöglicht und damit auch eventuell Fehler verhindert. Zum Bsp. kann die ECHO „ping“ Anforderung des Protokolls ICMPv4 bzw. ICMPv6 per vordefinierte Regel blockiert werden.

 

Screeshots ICMP fein Einstellungen, IANA Protokoll Nummern

 

ICMPv4 Feineinstellungen

windows7FirewallICMGtypen

 

Benutzerdefinierte Protokollnummern

 

Untitled-2

IANA Protokoll Nummern

 

ProtokollnummernIANA

Protokoll Typen und Codes

 

ICMPTYpeCodeNummberIANA

 

Seit Windows Vista/Server 2008 hat sich die Windows Firewall grundlegend verändert. Neu wird auf die Windows Filtering Platform aufgebaut.

WFP ersetzt damit frühere Packet Filter Technologien wie:

  • Transport Driver Interface (TDI) Filter
  • Network Driver Interface Specification (NDIS) Filter
  • Winsock Layered Service Providers (LSP).
  • (firewall hook und filter hook Treiber sind nicht mehr verfügbar)[/list]

 

Windows Filtering Platform (WFP) ist eine Sammlung von Werkzeugen (API und System Services) um network filtering applications zu bauen. Die WFP API kann von Programmierern verwendet werden um auf das packet processing auf diversen Layern im networking stack des Betriebsystem zuzugreifen. Netzwerk Sicherheitslösungen können realisiert werden, ohne das dafür eigens Treiber programmiert werden müssen.

Die Windows Firewall with Advanced Security (WFAS) ist auf WFP aufgebaut. Mit WFP API können Firewalls mit IDS (intrusion detection system), Antivirus Programme, Netzwerk Monitore und Kinderschutz Filter gebaut werden. Ausgestattet mit Merkmalen wie authentizierte kommunikation und „dynamic firewall configuration“ auf Basis von sockets API (application-based policy). IPsec Richtlinien Management mit Merkmalen wie „change notifications“, „network diagnostics“, und „stateful filtering“.

Stateful Inspection bietet aufgrund verändertem Netzwerk Verkehr nur eingeschränkt Sicherheit. Daten Pakete in SSL Tunnel „eingekapselt“ können fast beliebigen Inhalt aufweisen und passieren die SPI Filter.

Windows Firewall seit Windows Vista bringt keine IDS/IPS, arbeitet jedoch als eine Art Application Level Firewall ALF. Outbound Verkehr kann gänzlich blockiert werden und nur ausgewählten Diensten gestattet werden. Dafür stellt Windows Firewall eine Vielzahl von Filtern unter Filtern bereit und können fast beliebig kombiniert werden:

  • IP Filter
  • Benutzer- und Host-Filter
  • Protokoll- und Port-Filter
  • Programm- und Dienst-Filter

 

Adminstration WFAS mit Powershell:

Unter Windows kann die Firewall mit Netsh oder Powershell 3.0 (NetSecurity Modul) gesteuert werden.

Mit folgendem Befehl prüfen sie in Powershell ob Windows NetSecurity Module installiert ist (default seit Server 2012 ev. Windows 8)

 Get-Command *-*firewall*

oder

Get-Command -Noun “*firewall*”

Ansonsten mit netsh in Powershell alle Filterdefinitionen anzeigen:

netsh advfirewall firewall show rule name=all

 

Powershell Ausgabe, Regel ‚SSTP eingehend:‘

Regelname:                               Secure Socket Tunneling-Protokoll (SSTP eingehend)

———————————————————————-

Aktiviert:                              Nein

Richtung:                             Eingehend

Profile:                                 Domäne,Privat,Öffentlich

Gruppierung:                       Secure Socket Tunneling-Protokoll

Lokales IP:                          Beliebig

Remote-IP:                         Beliebig

Protokoll:                            TCP

Lokaler Port:                       443

Remoteport:                        Beliebig

Edgeausnahme:                 Nein

Aktion:                                Zulassen

 

 

Powershell Befehl zum erstellen einer Filterregel um IP Bereich zu blockieren, z.B. als Spam Schutz. inwieweit dies auf einer Workstation Sinn mach ist fraglich, aber es ist möglich.

netsh.exeadvfirewallfirewalladdrulename="NoSpam"dir=inaction=blocklocalip=anyremoteip="82.222.102.176-82.222.102.191"description="noSpam"profile="any"interfacetype="any"
netsh.exeadvfirewallfirewalladdrulename="NoSpam"dir=outaction=blocklocalip=anyremoteip="82.222.102.176-82.222.102.191"description="noSpam"profile="any"interfacetype="any"

Eine Anleitung wie man einen IP Filter automatisiert aktualisieren kann, wird auf cyber-defense.sans.org erklärt.

Diese Filterregel in Powershell angezeigt sieht so aus:

 

Regelname:                               NoSpam

———————————————————————-

Aktiviert:                             Ja

Richtung:                           Eingehend

Profile:                               Domäne,Privat,Öffentlich

Gruppierung:

Lokales IP:                        Beliebig

Remote-IP:                        82.222.102.176-82.222.102.191

Protokoll:                           Beliebig

Edgeausnahme:                Nein

Aktion:                               Blockieren

 

Firewall Grundkonfiguration durch Powershell:

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
netsh advfirewall set allprofiles settings inboundusernotification enable
netsh advfirewall set allprofiles settings unicastresponsetomulticast enable

 

Logfile definieren:

netsh advfirewall set allprofiles logging filename %SystemRoot%\system32\LogFiles\Firewall\pfirewall.log

 

Was wäre nötig um ausreichend Schutz im Internet zu gewährleisten.

 

Der Nutzen vom Internet, die Weltweite Vernetzung, ist weder im Privatbereich noch im Business weg zu denken. Die Schwachstellen werden zudem immer gezielter ausgenutzt. Durch die Abhängigkeit von der Vernetzung sind wir verletzlich, der Datenschutz ist nicht per se gewährleistet. Dort wo’s um Geld und Macht geht wird gezielt und professionell angegriffen.

Es gibt den Begriff Advanced Persistent Threat’s „APT“ für spezialisierte gezielte Angriffe um beim Opfer einzudringen. Dazu zählen auch Methoden wie Social Engineering, pysischer Zugang zu Räumlichkeiten oder Netzwerke, Webaplikationen.

Demgegenüber stehen klassische Antiviren Systeme mit enttäuschender Erkennungsrate. Die Ursache dafür liegt genau wie auch bei IDS/IPS Systemen in der Tatsache, das zur Erkennung von Schadcode die Mittel zu sehr auf bekannten exploits oder Schwachstellenausnutzung beruhen.

Teil der Lösungen könnten Produkte sein, die die Herausforderung mittels Sanboxing oder Virtualisierung anzugehen, dabei werden Dateien aus dem Netz in der Sandbox beim ausführen beobachtet und analysiert. Oder es werden Virtuelle Umgebungen geschaffen worin Arbeitsplätze simuliert werden, damit der Schadcode zur überwachten Ausführung angeregt werden kann. Beispiele solcher Produkte oder Hersteller sind:

  • FiredEye
  • Ahlab
  • TrendMicro
  • PaloAlto

Analyse des Verhaltens von potentieller Malware braucht Zeit.

Leider ist dieser Ansatz begrenzt Wirksam, weil: Es gibt mittlerweile Schadcode der erkennt solche Verfahren und kann sich somit gezielt der Enttarnung entziehen.

Der ESX-Server von TrendMicro setzt auf VMware und bildet eine Virtuelle Umgebung worin Arbeitsplätze vorgetäuscht werden.

Schadcode erkennt Sandbox oder Virtualisierung zum Beispiel durch:

  • fehlende Menschliche Interaktion
  • Muster installierter Software
  • raffinierte Zeitmessungen

Eine Steigerung der Erkennungswahrscheindlichkeit kann durch Kombination mehrerer Strategien und Systemen erreicht werden. Durch Kombination von Schutzvorkehrungen und Analysetechniken Statistischer Auffälligkeiten und Erkennung von Anomalien, mit der Analyse des Netzwerkverkehrs, können eher auch APT’s vor dem Eindringen bekämpft werden.  

Grosser Aufwand Menschlicher Interaktion

Forscout hat einen ähnlichen Ansatz wie Honeypot’s und bietet gezielt Schwachstellen an

Mykonos (Juniper) greift ebenfalls auf das Honeypot Prinzip zurück, jedoch auf Applikationsebene

geringer Aufwand

gezielte Angriffe erkennen solche Mittel

Votivo ein weiterer Ansatz zur Verhinderung der Infektion mittels Formatumwandlung. Jeglicher Datenaustausch per Mail oder Webdownload wird über Gateways geleitet welche Dateiformate in andere konvertiert und machen so allfälligen Schadcode unschädlich. ( JPEG -> TIFF)

Einschränkungen für die Benutzer. Man braucht einen alternative Weiterleitung für Vertrauenswürdige Daten Verbindungen.

ReBoBS (Remote Controlled Browser System) Ein System welches Mail und Browser Sessions auf eine Terminal Server laufen lässt und so Schadcode vom vertrauenswürdigen Umfeld isoliert.

BitBox setzt auf eine „Virtuelle Machine“ mit Linux OS welche auf dem Host läuft und worin der Browser betrieben wird 

Resourcen Anforderung

vSentry isoliert ebenfalls die Prozesse mit Datenaustausch in einer „Virtual Machine“ setz aber auf eine Hardware unterstütze Lösung bei Core i-3 / 5 / 7 Prozessoren.

eine Lösung für den Download der Dateien bleibt offen

Quelle: Stefan Strobel iX 2014

 

Zusätzliche Informationen:

TCP-Flags

TCP-Pakete anhand ihrer Flags zu überprüfen wird meistens verwendet, um TCP-Pakete zu filtern, die versuchen, eine neue Verbindung zu eröffnen. Die TCP-Flags und ihre Bedeutungen sind hier aufgeführt:

  • F : FIN – Finish; Ende der Sitzung
  • S : SYN – Synchronize; Weist auf eine Anfrage hin, eine Sitzung zu beginnen
  • R : RST – Reset; Lasse eine Verbindung fallen
  • P : PUSH – Push; Paket wird umgehend gesendet
  • A : ACK – Acknowledgement; Erhalten
  • U : URG – Urgent; Dringend
  • E : ECE – Explicit Congestion Notification Echo
  • W : CWR – Congestion Window Reduced

 

Der vereinfacht dargestellte TCP Verbindungsaufbau in drei Phasen:

Requester A sendet Segement mit gesetzter SYN-Flag Header beinhaltet IP und MAC adresse.

Responder B empfängt den SYN und antworted mit SYN-ACK Flag gesetzt.

Requester A empfängt Bestätigung und sendet Rückbestätigung mit ACK Flag gesetzt.

Beebdet wird mit FIN oder timeout (Note: Flags)

 

Hole Punching

Hole Punching ist eine Technik, mit der eine Netzwerkverbindung zwischen zwei Rechnern hergestellt werden kann, auch wenn beide sich hinter restriktiven Firewalls befinden. Es handelt sich um einen Spezialfall des Tunnelling.

Genutzt wird diese Technik für Anwendungen wie Online-Spiele, Peer-to-peer-Netzwerke und IP-Telefonie. Beide Clients bauen eine Verbindung mit einem offenen dritten Rechner auf, der so externe und interne Adressinformationen bekommt. Da die Clients die Verbindungen aufgebaut haben, kennt der Server die IP-Adressen und Port-Nummern beider Clients. Diese Informationen gibt der Server dem jeweils anderen Client weiter. Durch dieses Vorgehen akzeptiert die Firewall nun Pakete von beiden Peers, so dass eine direkte Verbindung hergestellt werden kann.

Erklärungsbeispiel Skype Englisch