1171
Server / Re:Jak zavřít porty na firewallu
« kdy: 11. 03. 2018, 21:56:36 »
Fail2ban si IMO zobe data z logu SSH, Cyrus IMAP/POP a patrně spousty dalších věcí (běžné varianty ftpd...)
Zbaví vás otravných robotických útoků hrubou silou, kdy zombie botnet zkouší různá hesla (pomalý slovníkový útok + k tomu pár kombinací čísílek apod.) Je to užitečné v situacích kdy hrozí u lokálních uživatelů slabá hesla, a přitom potřebujete nechat konkrétní službu otevřenou z celého světa. Pokud máte na stroji účet jenom sám, a máte silné heslo, tak už fail2ban velkou výhodu nepřinese...
Přesun SSH na jiný port není špatný nápad, vyloučíte tím otrapy kteří zkouší známé starší díry v SSH (zas tolik jich není) a nedají si tu práci, najít SSH na nestandardním portu.
Nevím o distribuci, kde by byl fail2ban nainstalovaný v základu. Ne že bych to zkoumal. V Debianu kde jsem ho chtěl, musel jsem si ho sám doinstalovat. Tušímže stačilo ze standardního balíčku.
Potřebujete především zabránit napadení počítače zvenčí. Tzn. zafiltrovat především input.
Jak se Vám někdo dostane dovnitř, tak už je docela krátká cesta k tomu, aby se dostal k rootovským právům, a pak Vám nějakých pár pravidel v iptables stejně nepomůže.
Ale v zásadě Vám jistě nic nebrání dát si "-P drop" i na output a povolit si směrem ven jenom služby co fakt potřebujete k užitečnému provozu. Zbavíte se tím zneužití jednotlivých služeb jako "reflektorů" v případech, kdy útočník nezískal systém plně pod svou kontrolu. Patrně bych relace směrem ven filtroval podle cílového portu, tzn. na jaké porty to chodí ven. Z lokálu ven se totiž všechna spojení otvírají se zdrojovým portem dynamickým, 1024 a výš... to neofiltrujete. Jako první věc bych povolil asi DNS - tzn. především UDP na port 53. (Zrovna to DNS možná používá 53 i jako lokální/zdrojový port, nejsem si jistý.) Hloupé je, že i tak ten filtr v outputu bude dost široký - a každá díra, kterou otevřete, bude použitelná pro spáchání DoS na někoho dalšího na dotyčnou službu.
Nakonec souhlasím s předřečníky, že je třeba se zaměřit na specifické zabezpečení služeb, které potřebujete nechat otevřené do světa. Aby neměly v konfiguraci trapné přehmaty (známé díry).
Loopback device není nějakým "principem" těch pár příkazů co jsem poslal. Je to IP rozhraní, které se používá pro lokální IP komunikaci v rámci jediného stroje. (Pro software, který není natolik pokročilý, aby pro lokální komunikaci použil lokální rouru / filesystem socket, nebo nějaké alternativní mechanismy.) Nemá valného smyslu, filtrovat si provoz v rámci jediného stroje.
Těch pár řádek co jsem poslal... prostě jsem zkopíroval holý základ ze své starší tvorby. A naučil jsem se to před lety z nějakých tutoriálů od Rustyho Russela, které byly původně pro IPchains (ještě před netfilterem/iptables). Popravdě takhle na jednom stroji to je pohoda. Trochu se to zkomplikuje, když má ten stroj forwardovat traffic mezi dvěma sítěmi, případně NATovat atd. A co teprve když Vám roste počet rozhraní. A proč syrové IPtables? Snažím se vidět přesně co dělám. Postupem času zjišťuju, že je to asi porucha ze stejného soudku jako perpeťáctví, protože člověk nemůže umět všechno... Prostě jsem se to kdysi naučil, tak to používám. IPtables nejsou složité. Osobně mi přijdou složitější na pochopení různé "zjednodušující" uživatelsky přítulné nadstavby :-( protože nevím, co přesně dělají. Dokud se nepodívám přes iptables -L .
Zbaví vás otravných robotických útoků hrubou silou, kdy zombie botnet zkouší různá hesla (pomalý slovníkový útok + k tomu pár kombinací čísílek apod.) Je to užitečné v situacích kdy hrozí u lokálních uživatelů slabá hesla, a přitom potřebujete nechat konkrétní službu otevřenou z celého světa. Pokud máte na stroji účet jenom sám, a máte silné heslo, tak už fail2ban velkou výhodu nepřinese...
Přesun SSH na jiný port není špatný nápad, vyloučíte tím otrapy kteří zkouší známé starší díry v SSH (zas tolik jich není) a nedají si tu práci, najít SSH na nestandardním portu.
Nevím o distribuci, kde by byl fail2ban nainstalovaný v základu. Ne že bych to zkoumal. V Debianu kde jsem ho chtěl, musel jsem si ho sám doinstalovat. Tušímže stačilo ze standardního balíčku.
Potřebujete především zabránit napadení počítače zvenčí. Tzn. zafiltrovat především input.
Jak se Vám někdo dostane dovnitř, tak už je docela krátká cesta k tomu, aby se dostal k rootovským právům, a pak Vám nějakých pár pravidel v iptables stejně nepomůže.
Ale v zásadě Vám jistě nic nebrání dát si "-P drop" i na output a povolit si směrem ven jenom služby co fakt potřebujete k užitečnému provozu. Zbavíte se tím zneužití jednotlivých služeb jako "reflektorů" v případech, kdy útočník nezískal systém plně pod svou kontrolu. Patrně bych relace směrem ven filtroval podle cílového portu, tzn. na jaké porty to chodí ven. Z lokálu ven se totiž všechna spojení otvírají se zdrojovým portem dynamickým, 1024 a výš... to neofiltrujete. Jako první věc bych povolil asi DNS - tzn. především UDP na port 53. (Zrovna to DNS možná používá 53 i jako lokální/zdrojový port, nejsem si jistý.) Hloupé je, že i tak ten filtr v outputu bude dost široký - a každá díra, kterou otevřete, bude použitelná pro spáchání DoS na někoho dalšího na dotyčnou službu.
Nakonec souhlasím s předřečníky, že je třeba se zaměřit na specifické zabezpečení služeb, které potřebujete nechat otevřené do světa. Aby neměly v konfiguraci trapné přehmaty (známé díry).
Loopback device není nějakým "principem" těch pár příkazů co jsem poslal. Je to IP rozhraní, které se používá pro lokální IP komunikaci v rámci jediného stroje. (Pro software, který není natolik pokročilý, aby pro lokální komunikaci použil lokální rouru / filesystem socket, nebo nějaké alternativní mechanismy.) Nemá valného smyslu, filtrovat si provoz v rámci jediného stroje.
Těch pár řádek co jsem poslal... prostě jsem zkopíroval holý základ ze své starší tvorby. A naučil jsem se to před lety z nějakých tutoriálů od Rustyho Russela, které byly původně pro IPchains (ještě před netfilterem/iptables). Popravdě takhle na jednom stroji to je pohoda. Trochu se to zkomplikuje, když má ten stroj forwardovat traffic mezi dvěma sítěmi, případně NATovat atd. A co teprve když Vám roste počet rozhraní. A proč syrové IPtables? Snažím se vidět přesně co dělám. Postupem času zjišťuju, že je to asi porucha ze stejného soudku jako perpeťáctví, protože člověk nemůže umět všechno... Prostě jsem se to kdysi naučil, tak to používám. IPtables nejsou složité. Osobně mi přijdou složitější na pochopení různé "zjednodušující" uživatelsky přítulné nadstavby :-( protože nevím, co přesně dělají. Dokud se nepodívám přes iptables -L .
