Windows 7 tűzfal

Anno írtam egy cikket a Windows 7 tűzfalról a magyarországi Technetnek. Ezt a cikket ide is kirakom, ha már átmásoltam a spaces oldalamat ide a wordpressre. Megjegyezném, hogy a spaces hiába álltotta, hogy az összes eddigi bejegyézesm automatikusan átkerül ide, nem került. Manuálisan hoztam át párat.
Következzen maga a cikk (16 oldal 🙂 )

Biztonság a Windows 7 tűzfalával

 Akik eddig idegenkedtek a Windows tűzfalától ebben a cikkben teljesebb képet kaphatnak a beállítási lehetőségekről és remélem el tudom oszlatni sokak kételyét a Windows beépített tűzfaláról.

Tűzfalakról röviden

A tűzfalakat két típusba sorolhatjuk. Az első az úgynevezett network firewalls – hálózati tűzfalak – amelyek a belső és külső hálózat határán védik a belső hálózatot. Ezek lehetnek hardveres, szoftveres vagy a kettő kombinációjából létrehozott tűzfalak. Az egyik ilyen hálózati tűzfal a Microsoft Internet Security and Acceleration (ISA) server, újabban Forefront TMG.

A másik típusú tűzfal a host based vagyis a kliens oldali. Mivel a hálózati tűzfalak nem tudják ellenőrizni a kliensek által generált forgalmat a belső hálózaton (hiszen ezen forgalom nem is jut el az ISA szerverig) ezért kell valamilyen kliens oldali megoldás is. A beépített tűzfal ezen segít nekünk, hiszen megakadályozza az illetéktelen hozzáférést (és természetesen a támadásokat) a gépünkhöz a hálózaton keresztül.

Windows tűzfal régen és most

A felhasználók többsége két dolgot telepit először: víruskeresőt és tűzfalat. Míg a vírukeresők inkább a felhasználókat saját maguktól védik, addig a tűzfal a teljes gépet felhasználóstól, szoftverestől (megfelelően konfigurálva). Megállítja a támadást még mielőtt esélye lenne elérni a rendszerünket. A Windows XP tűzfala a bejövő forgalmat szűrte, de nem volt lehetőségünk a kimenő forgalom szabályozására. Trójai és egyéb kártékony programok bármilyen adatot ki tudtak küldeni az internetre. Mostanáig.

Foglaljuk össze, hogy egy mai korszerű tűzfalnak milyen kihívásoknak kell megfelelnie:

  • Mobil eszközök illetve a nem helyhez kötött dolgozók többféle hálózathoz csatlakoznak akár napjában többször is, így nehéz megakadályozni az illetéktelen hozzáférést.
  • Vírus és különböző férgek támadása az internet felöl (rosszabb esetben a belső hálózatból)
  • Egy vállalatnál az adatok mennyisége előbb-utóbb elér egy olyan kritikus mennyiséget amit már védeni kell az illetéktelen hozzáférésektől, miközben meg kell tartani a könnyű és egyszerű hozzáférhetőséget a jogosultak számára.

Sokan még Windows XPt használnak ezért elsőnek először pár szembetűnő különbséget nézzünk meg a két tűzfal között. Az első ilyen különbség – mint fentebb említettem -, hogy képesek vagyunk a kimenő forgalmat is szűrni, valamint hogy a tűzfalat és az IPSecet integrálták. Az IPSec széles körben elterjedt protokoll (ráadásul része az Ipv6 protokollnak) és szintén a kommunikáció szűrésére használják A különbség a tűzfalban található. Máshogy határozunk meg egy szabályt és máshogy egy IPSec kommunikációt ráadásul így elkerülhető a két védelmi mechanizmus közti ütközés.  A tűzfal és az IPSec is ugyanabból a konzolból érhető el ezzel könnyítve a konfigurálást. Nem kell aggódni, hogy a beállítani kívánt szűrés vajon IPSec vagy tűzfalszabály. Lényegében egy nézetben lehet látni minden olyan a hálózatról jövő támadási felületet ami segít ezek minimalizálásában. A Windows 7 követi a Vistában megismert tűzfal konzolt kiegészítve egy-egy új funkcióval, gombbal, részletesebb beállítási lehetőségekkel. Ezen kívül egy sor új algoritmus támogatása került bele (AES, SHA 256, SHA 384) ٭ valamint a tartományi környezetben igencsak jól használható Network Access Protection (NAP).

A cikkben megnézzük mind a két tűzfalkonzolt melyek a Windows Firewall és a Windows Firewall with Advanced Security névre hallgatnak. Nagyobb hangsúlyt fog kapni az Advanced Security rész hiszen itt tudjuk finom hangolni a hálózati forgalmunkat. A beállítások távolról is kezelhetőek a Windows Server 2008 támogatja a csoportházirendekkel való kliens oldali tűzfalmódosításokat.

A tűzfal

Természetesen a Windows 7 tűzfala egy kliens alapú applikáció mely beállításoktól függően blokkolja/engedélyezi a bejövő illetve a kimenő forgalmat a gépünkön. A tipikus felhasználói beállítások továbbra is elérhetőek a vezérlőpulton keresztül, az Advanced configuration egy beépülő MMC modult kapott. Az MMC integrációnak köszönhetően természetesen ezzel a beépülő modullal nemcsak a helyi hanem a távoli gépek tűzfal szabályait is képesek vagyunk kezelni (a csoportházirendeket nem is említve).

A tűzfal egyik fontos része a réteges biztonsági modell, amely képes kétirányú hálózati forgalom szűrésére vagyis minden ki és befele jövő illetéktelen kommunikációt blokkol. A Network Location Awareness (NLA) biztosítja számunkra, hogy amint másik hálózatba kerül a gépünk (pl. munkahelyről haza) a tűzfal alkalmazkodjon az új hálózathoz és az adott hálózatban beállított szabályokat lépteti életbe.

Nézzük meg a legfontosabb tulajdonságokat:

  • Megakadályozza, hogy valamilyen kártékony kód a Windows szolgáltatásait használja a fájl rendszer illetve a registry módosításokhoz, vagy valamilyen hálózati tevékenységhez.
  • Alapértelmezetten blokkolja (pár kivétellel) az összes bejövő kapcsolatot. Windows XPben még csak TCP, UDP és ICMP portokra tudtunk szűrni. Ezt bővítették ki.
  • Kimenő és bejövő kapcsolatok szűrése.
  • Különböző tűzfal beállítások a három féle tűzfal profilhoz:
  • IPSec hitelesítéssel lehetőség van megkerülni egy a tűzfal által definiált blokkolási szabályt oly módon hogy az IPSec kommunikáció a hitelesített számítógépek között megengedett
  • Létrehozhatunk olyan szabályokat amelyek a kapcsolatokat szűrik gép, felhasználó vagy tartományi csoportok szerint
  • IPv6 támogatás
  • 3rd party tűzfalak szelektíven kikapcsolhatnak funkciókat valamint új egyéni funkciókat adhatnak meg

A három hálózati kategória:

Tartományi: a gép egy Active Directory tartomány tagja. Amint csatlakozunk a tartományhoz ez a profil lesz aktív.

Publikus: olyan hálózat ami közvetlenül kapcsolódik az internetre. Minden nem tartományi hálózat publikus hálózatként jelenik meg.

Privát: egy hálózatot akkor tekintünk privátnak ha a felhasználó vagy egy program az adott hálózatot annak jelöli, többségében az otthoni hálózatot jelenti.

Amikor a felhasználó csatlakozik egy nem tartományi hálózathoz, a Windows 7 kéri, hogy a felhasználó azonosítsa a hálózatot publikusként vagy privátként de privát hálózatot csak rendszergazda tud megadni. A hálózat megadása utána a Windows 7 módosítja a tűzfal szabályokat, a hálózatnak megfelelő szabályok jutnak érvényre.

Beállított szabályok kiértékelési sorrendje:

 

Vagyis:

Windows Service Hardening: megakadályozza, hogy valamilyen kártékony kód a Windows szolgáltatásait használja a fájlrendszer illetve a registry módosításokhoz vagy valamilyen hálózati tevékenységhez

Connection Security rules: IPSec kommunikáció beállítása, ki, mikor és hogyan kommunikálhat IPSecen keresztül.

Authenticated bypass rules: IPSec hitelesítéssel lehetőség van megkerülni egy a tűzfal által definiált blokkolási szabályt oly módon hogy az IPSec kommunikáció a hitelesített számítógépek között megengedett.

Block rules: bizonyos forgalom blokkolása mind kimenő mind bejövő kapcsolat esetén.

Allow rules: forgalom engedélyezése

Default rules: az itt lévő szabályok akkor hajtódnak végre ha a kapcsolat egyik fentebb szabályban beállított paraméternek sem felel meg.

 Csapjunk a lecsóba

Először nézzük meg a tűzfalat a vezérlőpulton keresztül. Látni lehet az otthoni vagy munkahelyi illetve a privát hálózat alap beállításait. Erre a szeparációra szükség van hiszen teljesen más funkciók lehetnek szükségesek egy munkahelyi hálózaton mint egy publikus net kávézóban (mondjuk a fájl és nyomtató megosztás egy támadható felület a rendszerünkön egy publikus hálózatban) Itt ki- és bekapcsolni tudjuk a hálózathoz tartózó tűzfalat valamint megadhatunk programokat amiket átengedünk a tűzfalunkon a régi XPben megszokott módon.

  

 Mint már említettem a Windows 7 Firewall with Advanced Security konfigurálása MMC konzolon keresztül történik ezért nyissunk egy MMC konzolt és adjuk hozzá a megfelelő beépülő modult. A másik elérési lehetőség a Control Panel – System and Security – Windows Firewall majd a panel bal oldalán Advanced settings, illetve a megszokott keresés a firewall kulcsszóra.

  

 Az ábrán látható a kezdő képernyő amely egy áttekintést ad a tűzfalunkról a különböző hálózati profilokban. A tűzfalat a konzol bal oldalán lévő menüpontokban tudjuk részletesen konfigurálni (szabályok és monitorozás). A konzol jobb oldalán mindig az adott menürészhez tartozó környezetfüggő akciókat látjuk.

 

 Tűzfal Tulajdonságok

Minden hálózati profilban ugyanazokat a beállításokat tudjuk megtenni, tehát egy profilon keresztül mutatom be a beállítási lehetőségeket.

  

 A beállítások a következőek:

  • Firewall state: itt tudjuk be illetve kikapcsolni a profil tűzfalát.
  • Inbound connections: bejövő kapcsolatok szabályozása
    • Block (default): minden olyan kapcsolatot blokkol ami nem felel meg egyik aktív szabályunknak sem.
    • Block all connections: minden bejövő kapcsolatot tilt, nem vesz figyelembe egyetlen szabályt sem.
    • Allow: engedélyezi azon bejövő kapcsolatot amely nem felel meg egy aktív szabálynak sem.
    • Outbound connections: kimenő kapcsolatok szabályozása 
      • Allow (default): minden kapcsolatot enged kifele amit nem tudunk ráhúzni egyetlen szabályra sem.
      • Block: ennek fordítottja vagyis mindent tilt amit nem engedélyeztünk
      • Protected network
        • Melyik kapcsolatunkat védje a tűzfal
      • Settings: tűzfal beállítások
        • Firewall settings: a tűzfal értesíti a felhasználót ha blokkol egy bejövő kapcsolatot.
        • Unicast response: itt engedélyezhetjük, hogy a gép válaszoljon-e multicast es broadcast kérésekre.
        • Rule merging:
          • Apply local firewall rules: ezt a lehetőséget csoportházirenddel való konfigurálásnál válasszuk ki, a rendszergazdák ezen keresztül tudnak szabályokat létrehozni. Ha ez az opció nincs kijelölve szabályokat ugyanúgy létre tudnak hozni, de a szabályok nem kerülnek alkalmazásra.
          • Apply local connection security rules: a kapcsolat specifikus (connection security rule) szabályokat lehet konfigurálni csoportházirenden keresztül. Ha az opció nincs kijelölve a létrehozott szabályok nem kerülnek alkalmazásra.
      • Logging – Naplózási beállítások:
        • Name: log fájl neve.
        • Size limit: a log fájl mérete alapértelmezetten 4096KB.
        • Log dropped packets: eldobott csomagok naplózása.
        • Log successful connections: létrejött kapcsolatok naplózása.
      • IPSec settings fül – IPSec beállítások
        • IPSec defaults: kulcs csere, autentikációs metódusok és adat titkosítási beállítások
        • IPSec exemptions: ICMP forgalom kivétele az IPSec kommunikációból.
        • IPSec tunnel authorization: itt tudjuk állítani, hogy melyik felhasználótól, géptől fogadunk el IPSec kapcsolatot (természetesen ehhez szükségünk lesz egy kapcsolat specifikus szabályra)

Szabályok

A szabályok lehetővé teszik, hogy általunk meghatározott programokat, protokollokat, szolgáltatásokat engedjünk át a tűzfalunkon (pl. RDP). Az alábbi ábrán látjuk a szabályokat. Külön csoportot képeznek a kimenő és bejövő kapcsolatokat szűrő szabályok.

 

  Egy szabály bekapcsolásához válasszuk ki a szabályt majd a jobb oldalon az Enable Rule opcióval kapcsoljuk be. Kikapcsoláshoz természetesen a Disable Rulet kell választani. Szabály megtekintését és módosítását a Properties opció kiválasztásával érhetjük el.

Szabályok (Rules)

  

 Beállítható tulajdonságok

  • General fül:
    • Name – a szabály neve
    • Description – leírás a szabályról,később tudjuk azonosítani, hogy miért hoztuk létre.
    • Enabled – szabály bekapcsolása
    • Action –
      • Allow the connections: engedélyezi minden olyan kapcsolatot amely megfelel a szabálynak. Nem ellenőzi hogy a forgalom IPSec által védett vagy sem.
      • Allow only secure connections: ezt választva egy újabb részletes beállítási panelhoz jutunk itt az IPSec-re vonatkozó beállításokat tehetjük meg, ekkor csak az a kapcsolat lesz engedélyezve ami megfelel a szabálynak és az IPSec beállításoknak.
      • Block: blokkol minden szabályban definiált kommunikációt
  • Programs and Services
    • Programs – mely program kommunikációjára legyen érvényes a szabály
    • Services – mely szolgáltatásra vonatkozzon a szabály.
  • Users and Computers
    • Authorized Computers / Users – a beállított szabályt a tűzfal csak meghatározott gépektől/felhasználóktól jövő kommunikációkor dolgozza fel. A máshonnan jövő csomagokat eldobja. Ez az opció csak akkor aktív ha előzőleg beállítottuk az Allow only secure connections opciót.
  • Protocols and Ports
    • Protocol Type – protokoll típusa (TCP, UDP, IGMP, GRE stb.) Emlékezzünk a jó öreg XP tűzfalra, ott ugye csak TCP és UDP között választhattunk
    • Protocol Number – ha nem előre definiált listából választunk, akkor itt a protokoll számát kell megadnunk (nem összetévesztendő a port számmal)
    • Local port – helyi gép portszáma.
    • Remote port – távoli gép portszáma
    • ICMP Settings – ICMP beállítása. Ez az opció csak akkor érhető el ha előzőleg ICMPv4 vagy ICMPv6 protokollt választottunk.
  • Scope
    • Local and Remote IP address – helyi és távoli gép IP címek, IP tartomány amelyekre a szabály vonatkozik.
  • Advanced
    • Profiles – mely profilokra vonatkozzon a szabály.
    • Interface types – melyik interfészre vonatkozzon a szabály.
    • Edge traversal – az edge traversal lehetővé teszi, hogy a gépünk a hálózaton lévő routertől/tűzfaltól érkező kéretlen csomagokat elfogadjon /blokkoljon.

 Új szabály létrehozása

 

 Az alábbi szabály típusokat tudjuk létrehozni:

  • Program rule: egy a felhasználó által megadott programra fog vonatkozni a szabály
  • Port rule: TCP vagy UDP portra, port tartományra vonatkozó szabály
  • Predefined rule: előre beállított szabály vagyis windows funkciókhoz tudunk beállítani szabályokat. Tulajdonképpen egy olyan szabályhalmaz amivel a windows funkciók hálózati kommunikációját tudjuk szabályozni.
  • Custom rule: ha a fenti típusok nem felelnek meg számunkra itt tudunk teljesen testreszabott szabályokat létrehozni

Connection Security Rule létrehozása

Itt lehetőségünk van IPSec alapú titkosított kapcsolatot beállítani két gép között.  A gépek a kapcsolat kialakítása előtt létrehoznak egy biztonságos csatornát majd ezek után kezdik meg az adást egymásnak. Ez a kapcsolat mindig kényszerítve van vagyis az adás előtt mindig felépül a biztonságos csatorna. Válasszuk ki a Connection Security Rulest és indítsuk el a New Rule varázslót. Az alábbi kép fogad minket.

 §  Isolation: izolációs szabályokkal a kapcsolatokat tudjuk szabályozni tartományi tagság vagy a gép biztonsági állapota alapján

§  Authentication Exemption: hitelességi mentesség. Olyan kapcsolatokat tudunk definiálni amelyek nem igényelnek hitelesítést. Az itt megadott IP címről/IP tartományból jövő kapcsolatoknál a kapcsolat felépítése előtt a tűzfal nem kér autentikációt.

§  Server to Server: 2 végpont között tudunk biztonságos kapcsolatot létrehozni.

§  Tunnel: lehetővé teszi, hogy védett kapcsolatot hozzunk létre 2 végpont között. Tipikus felhasználási területe ha az interneten keresztül csatlakozunk valamilyen távoli géphez és szeretnénk titkosított csatornát.

§  Custom: egyéni szabályok definiálása

Tűzfal konfigurálása Netshval

Netsh parancssori paranccsal hálózat kezelésen kívül a tűzfal beállításokat is tudjuk módosítani. Scriptelve pedig bármilyen beállítást, szabályt betudunk állítani több gépen egyszerre. Természetesen a beállításokat is megtudjuk jeleníteni vele.

Parancssorban gépeljük be, hogy

netsh

A prompt ezek után megváltozik  >netsh

Itt gépeljük be az alábbi parancsot

advfirewall

Máris tudjuk konfigurálni a tűzfalunkat (rendszergazdaként természetesen)

Nézzünk meg néhány fontosabb parancsot ízelítőként.

  • export –  a jelenlegi tűzfal konfigurációt tudjuk fájlba kiexportálni.
  • help –  elérhető parancsok listája.
  • import – tűzfal beállítások importálása fájlból
  • reset – visszaállítja a gyári beállításokat
  • set – ezzel további konfigurációs beállítást tudunk megejteni
  • set file – a konzol kimenetet egy fájlba tudjuk irányítani
  • set machine – megadhatjuk a gépet amin a módosításokat hajtjuk végre

A  profilokat külön-külön tudjuk kezelni a set egyéb parancsaival

  • show – profilok már meglévő beállításait jeleníti meg.
    • show allprofiles – az összes profil beállitásai
    • show domainprofile – tartomáyi profil
    • show privateprofile – privát profil
    • show publicprofile – publikus profil

Az advfirewall kontextus tartalmaz további alkontextusokat. Például:

  • consec – connection security ruleok létrehozása.
  • firewall – tűzfal szabályok létrehozása.
  • monitor – monitorozás beállítása

Nézzünk egy példát

Mondjuk, ha szeretnénk a 12345 portot blokkolni kimenő forgalmunkban, akkor az alábbi paranccsal tudjuk ezt megtenni.

 netsh advfirewall firewall add rule name=”Block 12345″

dir=out action=block enable=yes profile=public

localIP=any remoteIP=any remoteport=12345 protocol=TCP interfacetype=any

 A parancssorral közvetlen a szabály megalkotásakor megadhatjuk az interfészt is amire a szabályt érvényesíteni szeretnénk. Ebben az a jó, hogy a grafikus felületen a szabályt létre kell hoznunk, majd tulajdonságok és elkattintgatni az interfészek listájához.

Monitoring

A beépített tűzfal tartalmaz egy monitorozó rendszert is. Itt tudjuk monitorozni a tűzfalat, a connection security ruleokat illetve a security associationöket.

Tűzfal/Firewall

Itt az összes aktív szabályunkat látjuk valamint egy szabályt kiválasztva megtekinthetjük a beállításait.

  

 Connection Security Rules

  • Connection Security Rules: itt természetesen a fentebb beállított kapcsolat függő szabályainkat tudjuk megnézni. 

Security associations

A felépült és működő IPSec sessionöket (SA-security associations) látjuk ebben a nézetben.

  • Main Mode: itt a végpontok IP címei jelennek meg az éppen aktív kapcsolatainknál
  • Quick Mode: végpontok és azok beállításai.

 *- Vistán is elérhetőek netshn keresztül

This entry was posted in IT, Training, Windows Client. Bookmark the permalink.

Leave a comment