LINUX.ORG.RU
ФорумAdmin

[iptables] правила для ssh

 


0

0

Привет,

Почему для того чтобы разрешить входящие соединения ssh на сервер, просто правило разрешающее входящие на 22 порт не достаточно? Вот пример из руководства:
http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/security-guide/s1-fir...

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Последнее правило к чему?


для того чтобы разрешить и исходящие пакеты тоже)
а то получается что пакеты принимаются, но не отсылается на них ответ

к.о. )

Sylvia ★★★★★
()

Чтобы было достаточно только первого правила - выставь политику по умолчанию цепочки OUTPUT в ACCEPT.

sidor ★★
()
Ответ на: комментарий от Sylvia

согласен что сервер должен ответить :) но почему сервер отвечает с 22 порта? по теории разве не создается новый сокет на свободном порту и по нему отвечается клиенту?

babai
() автор топика
Ответ на: комментарий от babai

это не фтп ) httpd тоже работает исключительно по 1 порту

Sylvia ★★★★★
()
Ответ на: комментарий от babai

Подключаемся по ssh (мы: 192.168.0.3, сервер: 192.168.0.1) и смотрим netstat:

edigaryev@strangebox ~ $ netstat -antu | grep 2244
tcp        0      0 0.0.0.0:22            0.0.0.0:*               LISTEN     
tcp        0      0 192.168.0.1:22        192.168.0.3:46388       ESTABLISHED
tcp6       0      0 :::22                 :::*                    LISTEN

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

да, я заметил эту особенность, но не понял почему функционирование разнится с тем как это делается в «теории» (fork, новый сокет).

babai
() автор топика
Ответ на: комментарий от babai

Сокет может быть и новый, но в TCP единым целым является соединение, то есть связка IP1:PORT1<-->IP2:PORT2. То есть, в твоем случае:
сокет1 192.168.0.1:25<-->192.168.0.3:46388
сокет2 LISTEN 192.168.0.1:25
сокет3 192.168.0.1:25<-->192.168.0.100:55555

gserg ★★
()

большинство руководств что по настройке фаервола что я видел были неадекватными. В реальности городить огород правил нужно очень редко. Лучше вникни во всё сам и создай только те правила что реально тебе нужны. Я в фаервол пихаю обычно только две вещи: счётчики трафика и защита от ддос(limit rate). Изредка nat или проброс трафика.

true_admin ★★★★★
()

Еще можно использовать "-m state" для цепочки OUTPUT.

iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Разрешит связанные (с уже установленными) соединения

nixtrian
()
Ответ на: комментарий от nixtrian

Вместо -m state --state ESTABLISHED,RELATED уже давно как
-m conntrack --ctstate ESTABLISHED,RELATED

ssk85
()
Ответ на: комментарий от nixtrian

для OUTPUT лучше оставить политику ACCEPT. а вот для INPUT лучше DROP. ну и соотв. правила только для INPUT писать.

а из руководств лучше книжку прочитай «Firewalls in Linux». мне 1 раза хватило чтобы разобраться. при чем до этого я вообще с сетевыми фильтрами не имел дела :)

Cosmicman ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.