FIREWALL - základ bezpečnosti (díl 3/3)

security 0

V dnešním, třetím, díle seriálu o bezpečnosti začnu poněkud netradičně. A to od konce. Nasměrujte svůj browser na grc.com. Další testy jsou dostupné na pcflank.com a scan.sygatetech.com. Pokud se Vám zobrazí něco jiného než následující tabulka, Vaše firewall má problém! A i pokud jej mít nebude, čtěte rovněž dál, protože firewall je jen malá část nutné bezpečnosti osobního počítače s Windows! Nepodléhejte falešnému pocitu bezpečí, potřebujete i sandbox!


GRC Port Authority Report
Results from scan of ports: 
 0, 21-23, 25, 79, 80, 110,
 113, 119, 135, 139, 143, 389, 443, 445, 
 1002, 1024-1030, 1720, 5000 
0 Ports Open 
0 Ports Closed 
26 Ports Stealth 
--------------------- 
26 Ports Tested 
ALL PORTS tested were found to be: STEALTH. 
TruStealth: PASSED - ALL tested ports were STEALTH, 
- NO unsolicited packets were received, 
  NO Ping reply (ICMP Echo) was received. 

Obsah:

Tato část seriálu by se chtěla zaměřit na konkrétní příklady použití Tiny Personal Firewall 5.5, což je, vzhledem ke své ceně, jednoznačně nejlepší řešení pro dokonalé zabezpečení počítače s Windows.

Několik lidí se mě emailem, i v komentářích, ptalo, zda tento seriál článků má být placená reklama od TPF. Rozhodně ne. Je sice možné, že pošlu link na tento seriál TinySoftware, proč ne (!), ale… jsem jen spokojený uživatel, znám tento systém, znám ZoneAlarm, Sygate PF, Norton System Security, BlackIce Defender, McAfee Firewall, Kerio PF a pár dalších taky-řešení bezpečnosti.

Nicméně, jak jsem již psal v předchozích dílech, jiná řešení jsou vždy jen, minimálně, polovičatá. Paketový filtr a antivirus je vcelku k ničemu co se týče neznámých nákaz, trojanů, průniků. Na to je potřeba speciální firewall v kombinaci se speciálním sandboxem, sadou pravidel pro file access, OLE/COM, application spawning, prostě sadu "guards", hlídačů, kteří monitorují veškeré procesy ve Windows, a povolí jen ty autorizované.

Takže, k těm konkrétním příkladům. To, co zde budu uvádět, bude funkční, a kompletní řešení, nebude sice shodné s tím co používám já na svém počítači (bylo by dost hloupé popisovat detailně svoji konfiguraci), ale… funkční a otestované.

Začněte samozřejmě tím, že si stáhnete Tiny Personal Firewall 5.5, popřípadě rovnou zakoupíte 😉 Instalujte všechny moduly. Následně je nutný restart počítače. Po restartu počítače se Vám v taskbaru zobrazí ikona žlutého štítu, se šipkou doprava, což znamená, že TPF je povolena, šedá ikona znamená nefunkční TPF.

TPF se skládá ze 4 základních modulů:

  • Applications (autorizované aplikace).
  • Network Security (firewall).
  • Windows Security (sandbox).
  • IDS & IPS (tedy Intrusion Detection System a Intrusion Prevention System).

Applications

Aplikace v TPF se dělí na A. systémové (jejich název začíná na $), B. uživatelsky definované (user-defined, non-system). Při prvním startu TPF se automaticky vytvoří skupina $KnownSystemApps, kam TPF zařadí zejména systémové procesy Windows, ale taky aplikace, které se spouští při startu Windows. Druhá systémová skupina, která se vytvoří, je Trusted skupina. Implicitně mohou obě tyto skupiny přistupovat ke všem prostředkům počítače, což nemusí být přesně to co chcete.

Takže, po instalaci TPF a restartu ihned smažte skupinu Trusted a rovněž smažte ze skupiny $KnownSystemApps všechny aplikace, které nejsou 100% systémové, made by Microsoft. Zůstane Vám tedy jen skupina $KnownSystemApps a v ní cca 15 systémových procesů.

Následně si vytvořte v CommonGroups následující skupiny (groups):

  • local servers (budete ji používat pro aplikace, které potřebují lokální inbound komunikaci (safe zone), třeba Apache server, či Bluetooth adapter).
  • allow mods (budete je používat pro aplikace, které mohou zapisovat do systémových souborů).
  • no mods (budete je používat pro všechny ostatní aplikace).

Následně klikněte na UserDefined a vytvořte si následující skupiny:

  • Browser (HTTP, HTTPS, FTP) - Opera, Mozilla, Firefox, MyIE2.
  • Email (SMTP, POP3) - Opera, The Bat!
  • FTP (FTP) - CuteFTP, Total Commander.
  • Installation Applications (je již vytvořeno) - přidává se dynamicky.
  • Messenger (ICQ) -Miranda, ICQ.
  • News (NNTP) - Opera.
  • NoNet (bez TCP/IP konektivity) - PSPad, Kalkulačka, Photoshop, Dreamweawer, Flash, atd.
  • Ping (ICMP) - ping.exe.
  • WinUpdate (IE a wupdgmgr.exe) - iexplore.exe a wupdmgr.exe.

V tomto návodu ukážu princip, jak zprovoznit a otevřít porty pro základní programy, které potřebujete, tedy browser, email, klient, FTP klient, ICQ, ping, a Windows Update.

Poté co vytvoříte tyto skupiny můžete:

  • buď: spustit Váš browser, email klienta, ICQ, FTP, a další aplikace, a TPF se Vás dotáže, protože, je ještě nezná, do jaké skupiny je má zařadit, vzhledem k tomu, že některé aplikace (třeba Opera), jsou browser, email klient, i NNTP, zařaďte je do více skupin (!)
  • anebo: přes tlačítko Enroll zařadit patřičné aplikace do patřičných skupin.

Tímto jste si nadefinovali základní, autorizované aplikace. Pokud nějakou aplikaci TPF nezná, nedovolí ji spustit!

Důležitá je rovněž identifikace aplikace. Naprostá většina aplikací nezapisuje do svého těla, nemění svůj kód, takže… je možno je identifikovat přes jejich MD5 checksum.

Doporučená identifikace:

  • identified by: checksum + path.
  • integrity check: zde zvolte minimálně "monitor integrity corruption", případně rovnou "ask user" či "protection"

K čemu to je? Pokud by Vám nějaký vir modifikoval autorizovanou aplikaci, již to nebude ona aplikace a TPF je nespustí!

Nastavení Network Security

TPF nám tedy už pozná aplikace, které máme v systému, které jsme autorizovali. Následně tedy musíme určit, zda, a které, a jak, mohou přistupovat k internetu.

Nejdříve si zvolte položku Options a nastavte:

  • network security engine status: monitor.
  • stealh mode: enable, popřípadě, pokud sdílíte připojení k internetu (ICS), zvolte enable with ICS.
  • closed port access: monitor.

Následně si zvolte položku Predefined IP addresses a do Object definitions from Common DB vložte následující IP adresy (pro povolení Windows Update) do objektu nazvaného windows update:

  • 207.46.134.24
  • 65.54.249.190

K čemu to je? Tento návod je koncipovaný tak, že Internet Explorer má zakázaný přístup na internet s výjimkou HTTP protokolu a těchto 2 IP adres. Tyto IP adresy se v tuto chvíli používají na Windows XP SP1 pro windowsupdate.com. Samozřejmě, mohou se měnit. Proto definice této skupiny. Na ostatní IP adresy IE přístup nemá povolen.

Proč? 99% trojanů zneužívá „application hijacking“ pro svoji komunikaci, tedy, nekomunikují přímo, ale přes ActiveX kompomentu volají jádro IE…

Následně si zvolte položku Network Security Rules a smažte zde veškerá před-definovaná pravidla. Jsou příliš obecná a málo restriktivní, takže, uděláme si lepší 🙂

Nejprve, v úrovni Low Priority Rules, zakážeme veškerou komunikaci, a to následovně:

Protocols IP Application Access Audit Security Zone
[s] All_TCP_UDP All(*) $KnownSystemApps Prevent Ignore All(*)
TCP, Inbound 127.0.0.1 local servers Allow Ignore Safe Zone
All_TCP_UDP All(*) All (Non System) Prevent Ignore All(*)
All_TCP_UDP All(*) All (System) Prevent Ignore All(*)

K čemu je první, a třetí a čtvrtý řádek je asi jasné. Zakazuje (Prevent) veškerou Inboud i Outboud TCP i UDP komunikaci, pro systémové i user-defined aplikace. Řádek druhý je zde kvůli serverům jako je Apache, kterému povolujete, aby přijímal z IP adresy 127.0.0.1 požadavky na komunikaci, ale to pouze ze "Safe Zone", tedy z lokálního počítače, či z lokální sítě.

Které adaptéry patří do Safe Zone a které to Dangerous Zone (Internet, případně ale i lokální síť!) , definujeme v Zone Settings. TPF ji ale většinou nastaví automaticky korektně, takže není nutné dělat úpravy.

Dále nadefinujeme pravidla v Client Rules pro browser, FTP, email, a další aplikace následovně (otevřeme vždy jen ty porty, které daná aplikace, z principu své činnosti, potřebuje).

Browser (Opera, MyIE2, Firefox, Mozilla, rozhodně ne IE!):

Protocols IP Application Access Audit Security Zone
HTTPS All(*) Browser Allow Ignore All(*)
FTP-Download All(*) Browser Allow Ignore All(*)
HTTP All(*) Browser Allow Ignore All(*)

Email klient (Opera, The Bat!, rozhodně ne Outlook Express či Outlook!)

Protocols IP Application Access Audit Security Zone
SMTP All(*) Email Allow Ignore All(*)
POP3 All(*) Email Allow Ignore All(*)

IM Messenger (Miranda, ICQ) - zde povolíme odchozí 5190, a naslouchání na portech 1200-1240:

Protocols IP Application Access Audit Security Zone
TCP, Inbound/Outbound, local ports 1200-1240, remote port 5190 All(*) Messenger Allow Ignore All(*)

FTP (CuteFTP, Total Commander):

Protocols IP Application Access Audit Security Zone
FTP All(*) FTP Allow Ignore All(*)
FTP-Download All(*) FTP Allow Ignore All(*)

Installation application (aplikace spuštěné ve speciálním režimu instalace; ty mohou zapisovat do souborů, registrů, atd., pokud neskončí jejich proces):

Protocols IP Application Access Audit Security Zone
All_TCP_UDP All(*) Installation Applications Allow Monitor All(*)

News (NNTP):

Protocols IP Application Access Audit Security Zone
News All(*) News Allow Ignore All(*)

Ping (pro DOSový ping.exe) :

Protocols IP Application Access Audit Security Zone
All_ICMP All(*) Ping Allow Ignore All(*)

Windows Update.

Zde uvedeme pravidlo, aby se nás systém dotázal, pokud Windows Update (a tím i IE a wupdmgr.exe) bude chtít přistupovat k jiným IP adresám, než ty 2, co jsem dříve uvedl. Tyto IP adresy se čas od času mění, a je nutné je upravovat. Pravidlo "Ask User" znamená, že TPF se nás dotáže, pokud IP bude jiná, zda ji chceme jednorázově, či trvale, povolit.

Protocols IP Application Access Audit Security Zone
HTTP All(*) WinUpdate Ask User Monitor All(*)

Co nám zbývá? V High Priority Common Rules povolit DNS a taky onen WindowsUpdate. Jak na to?

Protocols IP Application Access Audit Security Zone
Outbound_DNS, remote port 53 All(*) $KnownSystemApps Allow Ignore All(*)
TCP, Outbound, remote port 80 windows update iexplore.exe Allow Ignore All(*)

Tímto jsme povolili naprosté minimum portů, pro specifické aplikace, a zakázali vše ostatní. Navíc jsme nastavili stealh režim (kdy systém neodpovídá na příchozí TCP/UDP/ICMP pakety, je "neviditelný" pro případného útočníka).

Nastavení Windows Security

Windows Security je onen zmiňovaný Sandbox. Sandbox přiděluje aplikacím jejich vymezený prostor. Jak na něj?

File Rules:

Zde minimálně povolíme pro všechny systémové aplikace ($KnownSystemApps) přístup na "Fixed Drives", jinak budete neustále obtěžováni tisícem dotazů na to, zde se může zapisovat do souborů. TPF zde má jinak slušná výchozí pravidla. Zatím je nechte takto.

Registry:

Opět, TPF zde obsahuje rozumné defaultní hodnoty, jako je "Ask User" pro zápis do "Run" sekce registrů a další věci. Ponechejte je takto.

Application Spawning:

Application spawning je povolení / zakázání spouštění jiných aplikací aplikací právě spuštěnou, autorizovanou. TPF obsahuje obecná pravidlo, které se ptá uživatele na application spawning. Vám jen zbývá přiřadit Vašemu file-manageru, tedy třeba Total Commanderu (nebo i Průzkumníkovi, nicméně, nedoporučoval bych to, rozhodně ne obecně, jen na konkrétní aplikace), v User Rules, možnost pro application spawning všech [All(*)] aplikací. Tím bude file-manager oprávněn spouštět jiné, libovolné aplikace. Rovněž zde zvolte aby se spuštěná aplikace řídila svým bezpečnostním modelem (child), ne modelem rodiče (parents, tedy vlastní Total Commander!).

Taky je vhodné nastavit aby veškeré user-defined All (non-system) aplikace mohli spouštět MSOHELP.exe, Winhlp32.exe a hh.exe, tedy nápovědu Windows.

Options:

  • rozhodně nastavte "Alert when unkown application starts"
  • guard system processes (jinak jsou system processes autorizovány ke.. všemu)

Miscellanous:

Zde je nutné zapnout, defaultně vypnuté, znemožnění použití low level API, v dolní řádce nalezněte sloupec nazvaný „Sytem Low Level API“ (pátý sloupec), a nastavte pravidla na „Ask User“, a „monitor“.

Exceptions:

K čemu jsou výjimky (exceptions)? No, ne vždy se hodí, aby daná aplikace měla zapnuté veškeré "strážce" (guards). Implicitně jsou všichni guards zapnuti pro veškeré aplikace, s výjimkou $KnownSystemApps (tam jsou všichni guards vypnuti), explorer.exe, cmd.exe (příkazová řádka), userinit.exe, msiexec.exe, ikernel.exe.

Já osobně zde:

  • zapnu (jinak vypnuté) guards na explorer.exe (i proto, že používám LiteStep)
  • vypnu File Guard pro PSPad (ostatní ponechám zapnuté), jinak bych nemohl editovat, třeba, soubory c:/windows/*.ini

Co dále?

Jak řešit problémy? Jak řešit, že nějaká aplikace nefunguje? Já osobně to řeším tak, že dané aplikaci, krátkodobě, v User Rules, povolím veškerou Outbound komunikaci, a použiji výborný Activity Monitor (dodávaný s TPF), nebo TCPView a TDIMon (oba od SysInternals), k tomu, abych se podíval, na kterých portech, a na které IP adresy, se aplikace obrací, a podle toho vytvořím poté konkrétní pravidla, a aplikaci přidělím jen ta nezbytná práva.

Mimochodem, řadu Vašich dotazů zodpoví (tak málo používaná) funkce Search na www.tinysoftware.com/forum. 😉 Poměrně slušný je i manuál k TPF (1MB, formát PDF).

Komentáře 81

  1. #1 #lama

    Presne jako hodinky 😉

  2. #2 Radek Hulán autor webu ▲10 ▼0

    [1] no, Nucleus umožňuje článek vložit do redakčního systému a nastavit mu datum, kdy má být publikován 😉 Tedy třeba 00:00:00 8)

  3. #3 pavelm

    Super návod. Bezpečností jsem se naivně nikdy nijak nezabýval, takže pro mě určitě přínosné! 😉

  4. #4 Skim@Spim

    File Rules:
    Zde minimálně povolíme pro všechny systémové aplikace ($KnownSystemApps) přístup na "Fixed Drives", jinak budete neustále obtěžováni tisícem dotazů na to, zde se může zapisovat do registrů.

    Ja nevim, jestli jsem slepej, ale zadny tam nemam? Je to mozny?

    Jinak ten navod je super.

  5. #5 Radek Hulán autor webu ▲10 ▼0

    [4] má tam být samozřejmě do souborů, překlep, v tak dlouhým článku (snad) jedinej..

  6. #6 Skim@Spim

    [5] Ale bohuzel ani to tam nemam. Muzes mi napsat, jak to udelat? Nenasel jsem totiz ani moznost zadat tam ten pristup na "Fixed drives" do jakychkoliv souboru... 🙄

  7. #7 Radek Hulán autor webu ▲10 ▼0

    [6] v dílu 4/4 budou i screenshots.. bude asi o víkendu.

  8. #8 LubosT

    Je urcite skvele mit bezpecny a nenabouratelny system, ale jak to vypada s vykonnosti systemu po nainstalovani takovehoto 'super hlidaciho psa'. Nejde do kyticek 😉 podobne jako napr. po nainstalovani NAV2004?

  9. #9 Radek Hulán autor webu ▲10 ▼0

    [8] rozhodně u TPF ne, NAV2004 je mameluk, co sežere 20% výkonu a 50MB paměti, ale TPF, zabere cca 15MB v paměti (což je nic) a odhadem tak 0.1% výkonu CPU 😉

  10. #10 Broken.Bones

    Překousnu sice hodně, ale z GUI TPF mám noční můry...

  11. #11 Martin Mašek

    Vážení přátelé,
    snažím se zabezpečit počítač jak sobě, tak i lidem, kterým ho instaluji. Už jsem zjistil, že mezi antiviry je jedničkou NOD32. Teď jsem se začal tedy shánět po nějakém dobrém firewallu. Narazil jsem na tento článek, kde jsem se dozvěděl, že údajně je nejlepší TPF. Tak jsem si ho stáhl a nainstaloval. Ale pak jsem zjistil, že jaksi nejsem schopen ho "reálně" nastavit a využívat(člověk nemůže být odborníkem ve všem). A nedokážu si ani představit, jak by pak byli schopni ho využít lidé, kterým PC instaluji a kteří jsou počítačový začátečníci. Ale jelikož nechci jejich PC přeinstalovávat každý týden, tak je u nich firewall nutnost. Co byste mi tedy v mém případě poradili? Kerio či ZoneAlarm nejsou tak dobrý jako TPF, ale aspoň kus práce udělají (sami na pozadí) - než FTP, které bez "odborného" nastavení je "na nic". Případně mě vyveďte z omylu. Děkuji za každou radu.

  12. #12 Radek Hulán autor webu ▲10 ▼0

    [11] jo, TPF je pro lidi, co tomu rozumí, nebo jim to někdo nastaví... V tomto článku je i konkrétní popis nastavení, nicméně, ona i taková ZoneAlarm či Kerio se musí (mírně) nastavovat, nejvíce "blbuvzdorná" (to nemyslím zle) je asi McAfee Personal Firewall. Tam se nedá nastavit skoro nic 8)

  13. #13 Martin Mašek

    [12]
    Děkuji za tak rychlou odpověď. A mohu se ještě zeptat, jaký firewall (kromě TPF) byste doporučil? Je podle Vás lepší Kerio nebo ZoneAlarm (drobné nastavení by neměl být problém).
    Děkuji za odpověď.

  14. #14 Radek Hulán autor webu ▲10 ▼0

    rozhodně ZA 4.5 Pro.. Zejména proto, že je mnohem více používaná, a tudíž i otestovaná.. Kerio spíše začíná.. Jejich předchozí produkt byl dost mizerný.

  15. #15 Martin Mašek

    [14] Děkuji za informace a přeji hodně spokojených čtenářů... 😉

  16. #16 Skim@Spim

    Ahoj, cetl jsem o Tvem omezeni fora, i kdyz jsem -nactilety, o pocitace se zajimam uz dlouho, ale spis o harware, proto mam ted hloupe dotazy na internetovou bezpecnost, tak se Ti za ne predem omlouvam 8). No, ale k veci. Jak mam povolit Windows Media player? Nechavam si od nej pres internet vyplnovat ID3 tagy, ale protoze je to Windows, nemam k tomu moc duveru. Je tam nejaky bezpecnostni problem treba jako u Internet Exploreru, Outlooku,... Diky moc

  17. #17 mepp

    TPF serial je jiste kvalitni, ale proc kdyz byla zminena konkurence, nikdo nezminil.. Sygate personal firewall? dle meho je to tez velmi kvalitni firewall, a presto o nem v clanku neni ani zminka coz je myslim skoda, jinak clanek samotny neni spatny..

  18. #18 Tudor

    Zdravím ve Světě počítačů č.8 vyšel dost podivnej test Firewallů kde skončil Tiny až na šestém místě(vyhrál Kerio bez nějakejch mínus) .Mezi nedostatky Tiny bylo např. neschovává IP adresu a umožnuje identifikaci operačního systému,neumožňuje update,funkce zabraňující útoku zvenčí není součástí(?)zajištění ochrany konfigurace heslem není umožněno,zablokování nebezpečných e-mailů není umožněno, dále cituji Pozitivní je , že na rozdíl od mnoha jiných programů nelze tento firewall útočícím programem vypnout. Ochrana však selže v momentě, kdy viry napadnou důležité části programů. Chtěl bych se zeptat nakolik je důležité schování IP adresy a identifikace systému. A je vůbec možné aby s Tiny viry napadly důležité části programů aniž by jim to uživatel povolil?Jsou tam i plusy ale ty jsou daleko podrobněji rozvedeny ve vašem článku.

  19. #19 Radek Hulán autor webu ▲10 ▼0

    [18]
    * schování IP adresy je k ničemu, každý dokážu určit správnou IP
    * identifikace OS - na to každý útočník kašle, pokud to ale chcete, pořiďte si, zdarma, Proxomitron
    * ochrana heslem JE u TPF možná, dokonce práva pro různé uživatele
    * vir TPF modifikovat nemůže

    PS: některé "recenze" v časopisech nejsou recenzí, ale reklamou 😉

  20. #20 Tudor

    Tak to taky namě působilo. Poněvadž první Kerio byl v testu v placené verzi ale až čtvrtej Zone Alarm free přitom to mohlo bejt klidně naopak.A u Keria žadné mínus.A to by se určitě něco dalo najít.