Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Ondřej Caletka 18. 07. 2010, 10:24:17

Název: [VYŘEŠENO] IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: Ondřej Caletka 18. 07. 2010, 10:24:17
Zdravím fórum,

upgradoval jsem na novou verzi iptables a objevil se následující problém: Nová verze odmítá cíl DROP v tabulce nat s (celkem logickým) zdůvodněním, že filtrovat se má v tabulce filter. Nicméně moje konfigurace je poměrně specifická:

Počítač je umístěn v DMZ (za 1:1 NATem)
Na počítači běží mj. služby FTP (tcp/21) a ssh (tcp/22). Tyto služby by měly být přístupné z vnitřní sítě na standardních portech, ale z vnější sítě (pro znesnadnění nahodilých útoků) na nestandardních číslech portů. Do teď jsem problém řešil takto (vnitřní IP adresy jsou v rozsahu 192.168.0.0/16):
Kód: [Vybrat]
iptables -t nat -A PREROUTING ! -s 192.168.0.0/16 -j z_inetu
iptables -t nat -A z_inetu -p tcp --dport 12345 -j REDIRECT --to-ports 22
iptables -t nat -A z_inetu -p tcp --dport 22 -j DROP

Teď ale iptables poslední příkaz nepřijme, takže je SSH zvenku dostupné na obou portech. Umístění pravidla s DROPem do tabulky filter bohužel odfiltruje i požadavky z přesměrovaného portu - jsou už přemapovány pravidlem REDIRECT.

Máte-li někdo nápad, jak problém vyřešit, sem s ním.
Název: Re: IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: astrablaster 18. 07. 2010, 16:56:33
Co takle dát to pravidlo do mangle PREROUTING?
Název: Re: IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: Ondřej Caletka 19. 07. 2010, 10:36:40
Ano, takhle jsem to nakonec vyřešil. Ale nepřipadá mi, že by to bylo o mnoho lepší, než "zakázané" řešení s DROPem v nat tabulce. Snad jen, že nat tabulka se posuzuje jen pro první pakety každého nového spojení, zatímco mangle posuzuje všechny. Což pro TCP spojení nemá valný význam, neboť zařízne-li se první paket, žádné další nepřijdou.
Název: Re: IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: Sten 19. 07. 2010, 14:34:38
Mark + drop v mangle/filter
Název: Re: IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: ET 19. 07. 2010, 17:24:37
taky nechapu proc to nedelas v mangle (mark neni potreba), ale muzes to otocit - tj: reknes ze ssh bude poslouchat na portu 12345 a z LANky redirect
tj.
1) v /etc/ssh/sshd_config nastav port na 12345 a restartni sshd
2) iptables -t nat -D z_inetu -p tcp --dport 12345 -j REDIRECT --to-ports 22
3) iptables -t nat -A z_lanky [-s 192.168.0.0/16] -p tcp --dport 22 -j REDIRECT --to-ports 12345
Název: Re: [VYŘEŠENO] IPtables 1.4.6 a nemožnost DROPu z nat tabulky
Přispěvatel: Ondřej Caletka 20. 07. 2010, 09:55:08
Jak jsem psal výše, problém jsem vyřešil přesunutím DROP pravidel do tabulky mangle. Rekonfigurace démonů mě taky napadla jako řešení, asi bych to tak udělal, kdyby to DROP v tabulce mangle nefungovalo.