Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: velchev в Nov 15, 2011, 13:18



Титла: Настройки на 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 къде е - на машината, която потребителите ползват, или на машина, играеща ролята на маршрутизатор?

В първия случай правилата трябва да са във веригата OUTPUT, а във втория - във FORWARD

Извинявам се че не обясних Настройките трябва да се прилатат на машина ползвана от потребителите а не на маршрутизатор

опитах това

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 -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
Като цяло идеята не ми хареса много и затова ти предложих премахването на програми. Имай предвид, че в този вид на защитната стена, системата няма да може да си сверява часовника...

Благодаря много за отговора. Този въпрос си го задавам не толкова от практическа гледна точка ... това ми е една подточка от задание по системна сигурност в университет в Англия. Но мисля че нещата които други потребители на форума биха разбрали ще са също полезни за разбирането на 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 дропваш всичко в съответната верига.
Ти пишеш -j ACCEPT port 25 примерно и това важи за идващите пакети във FORWARD веригата независимо от кой интерфейс eth0 или eth1. Само, че ако ETH0 ти е външния и има заявка на порт 25 то пакета ще мине като пристигащ ама като се връща ще се върне през друг порт който не е отворен. За това ти трябва или да разрешиш -i eth1 -o eth0 -j ACCEPT за да може трафика който се връща независимо от кой порт да се приема. Другия вариант е ESTABLISHIED, RELATED -j ACCEPT и готово.

Има много голяма логика в това което ме съветваш и често казано никога не бих се сетил... трябва да си го правил напрактика. Би ли написъл точно къде да добавя -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