Титла: Настройки на IP Tables Публикувано от: velchev в Nov 15, 2011, 13:18 Здравейте,
От скоро започнах да се обучавам на Linux... и имам следния проблем да реша: Трябва да конфигурирам iptables firwall-a na Linux (Ubuntu) така че да забранява всякакъв друг трафик за потребителите освен този който да им позволи да използват услугите web browser и електронна поща. Прочетох във сайта информацията за IP Tables и в други сайтове... но явно не правя нещата по правилиния начин. Това е моя скрипт: sudo iptables -F sudo iptables -P OUTPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P INPUT DROP sudo iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --dport 456 -j ACCEPT Ако някой може да ми помогне със съвет а и с това как да тествам след това че всичко е наред, ще съм много благодарен! Мерси, приятен ден :) Титла: Re: Настройки на IP Tables Публикувано от: laskov в Nov 15, 2011, 13:35 Дали няма да е по-добре да им се деинсталират програмите, които не искаш да бъдат ползвани?
Впрочем, този firewall къде е - на машината, която потребителите ползват, или на машината, играеща ролята на маршрутизатор? Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 15, 2011, 13:40 Дали няма да е по-добре да им се деинсталират програмите, които не искаш да бъдат ползвани? Не всъщност идеята е да се използва firewall-а, т.е. да се науча как да го ползвам. Иначе може и да е по-лесно на практика да се деинсталират програми. Титла: Re: Настройки на IP Tables Публикувано от: laskov в Nov 15, 2011, 13:45 А този firewall къде е - на машината, която потребителите ползват, или на машина, играеща ролята на маршрутизатор?
В първия случай правилата трябва да са във веригата OUTPUT, а във втория - във FORWARD Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 15, 2011, 14:47 А този firewall къде е - на машината, която потребителите ползват, или на машина, играеща ролята на маршрутизатор? Извинявам се че не обясних Настройките трябва да се прилатат на машина ползвана от потребителите а не на маршрутизатор опитах това iptables -t filter -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 80 -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 81 -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 443 -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 25 -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 110 -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 465 -j ACCEPT iptables -A OUTPUT -j DROP iptables -S Това е резултата root@ubuntu:~/Desktop# iptables -L --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- anywhere anywhere multiport dports www 2 ACCEPT tcp -- anywhere anywhere multiport dports 81 3 ACCEPT tcp -- anywhere anywhere multiport dports https 4 ACCEPT tcp -- anywhere anywhere multiport dports smtp 5 ACCEPT tcp -- anywhere anywhere multiport dports pop3 6 ACCEPT tcp -- anywhere anywhere multiport dports ssmtp 7 DROP all -- anywhere anywhere root@ubuntu:~/Desktop# Но всъщтност след тези команди вече немога да браузвам Ако някой може да ми каже къде бъркам ??? Титла: Re: Настройки на IP Tables Публикувано от: laskov в Nov 15, 2011, 14:56 Добави едно
Цитат iptables -A OUTPUT -p udp --dport 53 -j ACCEPTза да имаш достъп до DNS сървъри. Идеята на multiport е, че можеш на един ред да изредиш много портове: Цитат iptables -A OUTPUT -p tcp -m multiport --dports 25,80,81,110,443,465 -j ACCEPTКато цяло идеята не ми хареса много и затова ти предложих премахването на програми. Имай предвид, че в този вид на защитната стена, системата няма да може да си сверява часовника... Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 15, 2011, 15:43 Добави едно Благодаря много за отговора. Този въпрос си го задавам не толкова от практическа гледна точка ... това ми е една подточка от задание по системна сигурност в университет в Англия. Но мисля че нещата които други потребители на форума биха разбрали ще са също полезни за разбирането на iptables.... Значи направих скрипта iptables -t filter -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 25,80,81,110,443,465 -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -j DROP iptables -S След тестване на web browser-a, всичко изглеждаше ок. За го тествам наистина използвах скайп, като на скайп му казах точно на кой порт да се връзва. Като след това добавях или премахвах порта му от конфигурацията и иазглежда че е ок, но всъщност скайп си пращаше почти винаги съобщения... явно сменя на порт 80 може би.... Има ли някакъв начин да тествам каквото съм направил. Четох по форумите и пише че може с telnet 12.0.0.1 i порта и ако се свърже значи е отворен, само че аз като го приложа това не се свързва, а порта е отворен... ??? Титла: Re: Настройки на IP Tables Публикувано от: bop_bop_mara в Nov 15, 2011, 15:45 Четох по форумите и пише че може с telnet 12.0.0.1 i портаИмаш пред вид 127.0.0.1, нали :) Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 15, 2011, 17:12 Четох по форумите и пише че може с telnet 12.0.0.1 i портаИмаш пред вид 127.0.0.1, нали :) Да тествах го с 127.0.0.1, и въпроса остава... ??? Титла: Re: Настройки на IP Tables Публикувано от: laskov в Nov 15, 2011, 18:55 Хубаво е да четеш по форумите, но е по-хубаво да четеш документации. Напр. като тази: http://www.tu-chemnitz.de/urz/kurse/unterlagen/iptables.html
Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 16, 2011, 18:12 Хубаво е да четеш по форумите, но е по-хубаво да четеш документации. Напр. като тази: http://www.tu-chemnitz.de/urz/kurse/unterlagen/iptables.html Прочетох статията, но явно съм тъп и немога да разбера нищо. Има много теми които са ми непонятни ... Има и една книга за IP-tables само но би ми отнело много време да се задълбая толкова и да разбера основите които ми липсват.... Би ли ми помогнал с решение на въпроса? Ако настройките са валидни, според мен начина да се тестват е като се генерира непозволен трафик от хоста към виртуалната машина в случая - ping, telnet requests. Ако политиката на файр уола-а блокира тези заявки оригиналните пакети ще бъдат дропнати, и няма да има отговор от командите... Може ли някой да потвърди това? Моля Титла: Re: Настройки на IP Tables Публикувано от: laskov в Nov 16, 2011, 21:43 Когато правиш телнет към 127.0.0.1, тестваш услуга на локалната машина (реална или виртуална). Какво точно написа като команда и какъв резултат очакваше да се получи? А скайп е направен нарочно така, че трудно да може да бъде спрян чрез защитна стена.
Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 18, 2011, 20:16 Когато правиш телнет към 127.0.0.1, тестваш услуга на локалната машина (реална или виртуална). Какво точно написа като команда и какъв резултат очакваше да се получи? А скайп е направен нарочно така, че трудно да може да бъде спрян чрез защитна стена. Има малка промяна в идеята... файр уол-а е наистина такъв, имам предвид https://docs.google.com/document/d/1O3SNAibt-ETsRXaOkdKrMTrQgTbuNY2zBBuiaQb8994/edit Първия случай, т.е. след него има други комютри и той наистина се използва за филтриране на трафика. Това ми е конфигурацията за случая. iptables -t filter -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -A FORWARD -p tcp -m multiport --dports 21,25,80,81,110,443,465 -j ACCEPT iptables -A FORWARD -p udp --dport 53 -j ACCEPT iptables -A FORWARD -p udp --dport 54 -j ACCEPT iptables -A FORWARD -j DROP iptables -S Сега когато искам да го тествам аз пускам telnet от хост машината към виртуалната. Примерно telnet .... 21 Порта 21 го добавих само за тестване. И се свързва понеже имам инсталиран фтп сървър. Обаче възниква въпроса как да тествам другите портове. Мисля че понеже на тях няма инсталирано нищо като уеб сървър или някаква друга програма, те не са отворени въпреки конфигурациите на IP таблес. Като пусна telnet към някой от тях, който и да е не мога да се свържа, понеже както се казва може би няма кой да ми отвори врата от другата страна? Много интересен проблем между другото :) но не е елесен воабще... Титла: Re: Настройки на IP Tables Публикувано от: borovaka в Nov 18, 2011, 23:35 nmap ?
Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 20, 2011, 18:33 nmap ? Имаш предвид да пусна да сканирам портовете на линукс машината с този скенер ли? Май пак си истава факта че ако няма проложение което да работи на тях, дори и ip tables да разрешава трафика, те пак ще са затворени? Титла: Re: Настройки на IP Tables Публикувано от: Acho в Nov 20, 2011, 19:14 Последно, какво искаш да реализираш ? Или вече всичко е ОК ?
Титла: Re: Настройки на IP Tables Публикувано от: ircn в Nov 21, 2011, 00:56 Значи като имаш -j DROP дропваш всичко в съответната верига.
Ти пишеш -j ACCEPT port 25 примерно и това важи за идващите пакети във FORWARD веригата независимо от кой интерфейс eth0 или eth1. Само, че ако ETH0 ти е външния и има заявка на порт 25 то пакета ще мине като пристигащ ама като се връща ще се върне през друг порт който не е отворен. За това ти трябва или да разрешиш -i eth1 -o eth0 -j ACCEPT за да може трафика който се връща независимо от кой порт да се приема. Другия вариант е ESTABLISHIED, RELATED -j ACCEPT и готово. Титла: Re: Настройки на IP Tables Публикувано от: velchev в Nov 22, 2011, 17:45 Значи като имаш -j DROP дропваш всичко в съответната верига. Има много голяма логика в това което ме съветваш и често казано никога не бих се сетил... трябва да си го правил напрактика. Би ли написъл точно къде да добавя -i eth1 -o eth0 -j ACCEPT в моята конфигурация - последо публикуваната с форвард веригите. Има малка промяна в идеята... файр уол-а е наистина такъв, имам предвид https://docs.google.com/document/d/1O3SNAibt-ETsRXaOkdKrMTrQgTbuNY2zBBuiaQb8994/edit Първия случай, т.е. след него има други комютри и той наистина се използва за филтриране на трафика. Това ми е конфигурацията за случая. iptables -t filter -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -A FORWARD -p tcp -m multiport --dports 21,25,80,81,110,443,465 -j ACCEPT iptables -A FORWARD -p udp --dport 53 -j ACCEPT iptables -A FORWARD -p udp --dport 54 -j ACCEPT iptables -A FORWARD -j DROP iptables -S |