Добрый вечер форумчане)) . Вот собственно какой вопрос поставил я себе centos 5.4 и решил я через него раздать инет в локалку. Раньше работал только с freebsd и тамошим ipfw. Но вот решил перейти на линух. Подскажите правильно я настроил iptables или может чтото лишнее. Буду обоснованной критике ))).
Что мне нужно
1)пока тока натроить INPUT FORWARD
2)ssh
3)ftp
4)vnc
5)и еще в дальнейшем эта машина будет заменять и мой рабочий комп# Generated by iptables-save v1.3.5 on Wed Dec 23 16:37:43 2009
*nat
:PREROUTING ACCEPT [12:2319]
:POSTROUTING ACCEPT [71:4558]
:OUTPUT ACCEPT [80:5661]
### "Это NAT
-A POSTROUTING -s 192.168.10.0/255.255.255.0 -j SNAT --to-source 192.168.0.3
COMMIT*filter
:INPUT DROP [19:2599]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [9:1103]
:services - [0:0]
### ну это 127.0.0.1
-A INPUT -i lo -j ACCEPT
### Это пропускаю норм. соединения
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
### Это моя цепочка сам не знаю зачем сделал ) просто решил попробовать
-A INPUT -j services
### nmap показал что у меня открыты эти порты хотя по дефолту вроде как drop что мне не очень понятно? Но я всетаки решил их закрыть
-A OUTPUT -p tcp -m tcp --sport 111 -j DROP
-A OUTPUT -p tcp -m tcp --sport 631 -j DROP
-A OUTPUT -p tcp -m tcp --sport 766 -j DROP
-A OUTPUT -p tcp -m tcp --sport 2207 -j DROP
-A OUTPUT -p tcp -m tcp --sport 2208 -j DROP
-A OUTPUT -p tcp -m tcp --sport 5810 -j DROP
-A OUTPUT -p tcp -m tcp --sport 5811 -j DROP
-A OUTPUT -p tcp -m tcp --sport 6010 -j DROP
-A OUTPUT -p tcp -m tcp --sport 6011 -j DROP-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
### dns
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
### http
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
### https
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
###icq
-A OUTPUT -p tcp -m tcp --dport 5190 -j ACCEPT
### ftp только с определенного айпишника
-A services -s ххх.ххх.ххх.ххх -p tcp -m tcp --dport 21 -j ACCEPT
###ssh
-A services -p tcp -m tcp --dport 22 -j ACCEPT
###ну это мне vnc нужен аж целых 2
-A services -p tcp -m tcp --dport 5910 -j ACCEPT
-A services -p tcp -m tcp --dport 5911 -j ACCEPT
COMMITВот собственно и все пока до цепочки forward еще не добрался интересно правильно ли я это сделал.
>[оверквотинг удален]
>решил их закрыть
>-A OUTPUT -p tcp -m tcp --sport 111 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 631 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 766 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 2207 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 2208 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 5810 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 5811 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 6010 -j DROP
>-A OUTPUT -p tcp -m tcp --sport 6011 -j DROPТогда эти правила надо в INPUT, но и без них можно обойтись.
С вашей цепочкой OUTPUT Вы с этой машины не на один ftp не попадете.
>[оверквотинг удален]
>>-A OUTPUT -p tcp -m tcp --sport 5810 -j DROP
>>-A OUTPUT -p tcp -m tcp --sport 5811 -j DROP
>>-A OUTPUT -p tcp -m tcp --sport 6010 -j DROP
>>-A OUTPUT -p tcp -m tcp --sport 6011 -j DROP
>
>Тогда эти правила надо в INPUT, но и без них можно обойтись.
>
>
>С вашей цепочкой OUTPUT Вы с этой машины не на один ftp
>не попадете.а при закрытии порта и в INPUT и в OUTPUT надо добавлять ? Потому что я потом nmap"ом посмотрел они вроде filtered.
А про ftp это вы верно подметили не успел просто еще ).
А в целом как нормально или требует доработки?
А на кой черт вообще запрещать что-то в цепочке OUTPUT? Вы уверены, что правильно поняли смысл цепочек в iptables? OUTPUT - это цепочка, используемая ЛОКАЛЬНЫМИ приложениями (сервисами) самой машины.
Апдейт. И ставить политику по дефолту в OUTPUT в DROP - это сильный ход. :)))) Далеко пойдете.
>Апдейт. И ставить политику по дефолту в OUTPUT в DROP - это
>сильный ход. :)))) Далеко пойдете.А почему OUTPUT в DROP нельзя ставить ? Это уже лишнее?
>>Апдейт. И ставить политику по дефолту в OUTPUT в DROP - это
>>сильный ход. :)))) Далеко пойдете.
>
>А почему OUTPUT в DROP нельзя ставить ? Это уже лишнее?Потому что НОРМАЛЬНЫЙ пользователь Линукс (да и Виндоуз, да и любой ОС) в состоянии разобраться что и почему него запущено на компьютере.
>>>Апдейт. И ставить политику по дефолту в OUTPUT в DROP - это
>>>сильный ход. :)))) Далеко пойдете.
>>
>>А почему OUTPUT в DROP нельзя ставить ? Это уже лишнее?
>
> Потому что НОРМАЛЬНЫЙ пользователь Линукс (да и Виндоуз, да и любой
>ОС) в состоянии разобраться что и почему него запущено на компьютере.
>спасибо буду разбираться дальше )
>>>Апдейт. И ставить политику по дефолту в OUTPUT в DROP - это
>>>сильный ход. :)))) Далеко пойдете.
>>
>>А почему OUTPUT в DROP нельзя ставить ? Это уже лишнее?
>
> Потому что НОРМАЛЬНЫЙ пользователь Линукс (да и Виндоуз, да и любой
>ОС) в состоянии разобраться что и почему него запущено на компьютере.
>Со всеми портам разобрался а вот с эти не могу 770 tcp кто его использует что за служба?
>Со всеми портам разобрался а вот с эти не могу 770 tcp
>кто его использует что за служба?netstat -lpn | grep 770
> Потому что НОРМАЛЬНЫЙ пользователь Линукс (да и Виндоуз, да и любой
>ОС) в состоянии разобраться что и почему него запущено на компьютере.
>Вот именно исходя из этого мнения, что нормальный пользователь Линукс в состоянии знать что у него работает/будет работать на компьютера, и ставится OUTPUT в DROP.
>политику по дефолту в OUTPUT в DROP - это сильный ход. :)))) Далеко пойдете.А мне нравится. :-] http:/openforum/vsluhforumID10/3779.html#4
[...]
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
[...]
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED -j ACCEPT
-A OUTPUT -m limit --limit 1/sec -j LOG --log-prefix "'OUT-unknown:'"
-A OUTPUT -j DROP
>[оверквотинг удален]
>[...]
>*filter
>:INPUT DROP [0:0]
>:FORWARD DROP [0:0]
>:OUTPUT DROP [0:0]
>[...]
>-A OUTPUT -o lo -j ACCEPT
>-A OUTPUT -m state --state RELATED -j ACCEPT
>-A OUTPUT -m limit --limit 1/sec -j LOG --log-prefix "'OUT-unknown:'"
>-A OUTPUT -j DROPТо есть на самом компьютере Вы не собираетесь запускать ни одного приложения (браузера, к примеру), которое будет выходить в Интернет (варианты - менеджеры пакетов - apt-get, yast, emerge etc)? Верх мудрости - закрывать самому себе выход.
> То есть на самом компьютере Вы не собираетесьА-а-га. Там, по ссылке, был _учебный_ (но полностью работающий - и соответствующий постанове) пример. %)
Вот пример http:/openforum/vsluhforumID10/4099.html#7 с невырожденным OUTPUT (=присутствующим interface+client), если интересно---
>А на кой черт вообще запрещать что-то в цепочке OUTPUT? Вы уверены,
>что правильно поняли смысл цепочек в iptables? OUTPUT - это цепочка,
>используемая ЛОКАЛЬНЫМИ приложениями (сервисами) самой машины.Спаибо ). значит закрою тока в INPUT .