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).
Presne jako hodinky 😉
[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)
Super návod. Bezpečností jsem se naivně nikdy nijak nezabýval, takže pro mě určitě přínosné! 😉
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.
[4] má tam být samozřejmě do souborů, překlep, v tak dlouhým článku (snad) jedinej..
[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... 🙄
[6] v dílu 4/4 budou i screenshots.. bude asi o víkendu.
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?
[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 😉
Překousnu sice hodně, ale z GUI TPF mám noční můry...
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.
[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)
[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ěď.
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ý.
[14] Děkuji za informace a přeji hodně spokojených čtenářů... 😉
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
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..
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.
[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 😉
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.