Назад | Перейти на главную страницу

IPTables + динамическое перенаправление портов SSH = ЗАБЛОКИРОВАНО

IPTables запущен на моем веб-сервере. Мне действительно нужна динамическая переадресация портов SSH, но мои IPTables ОТКЛЮЧАЮТ любое соединение INPUT / OUPUT, разрешая только некоторые порты.

Для цепочки FORWARD я написал такие правила:

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcpflags:! 0x17/0x02 state NEW
ACCEPT     all  -f  0.0.0.0/0            0.0.0.0/0            limit: avg 100/sec burst 100
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            limit: avg 2/sec burst 10
DROP       all  --  0.0.0.0/0            0.0.0.0/0            state INVALID

Мои правила могут блокировать любое соединение с динамической переадресацией портов SSH.

Какие правила мне нужно написать? Не говорите мне «Отключить IPTables», мне нужен брандмауэр для защиты от взлома.

Просто чтобы уточнить ответ @kubanczyk, цепочка FORWARD не имеет значения, поскольку она применяется только к входящим пакетам, предназначенным для адреса, отличного от локального хоста, который должен быть маршрутизирован через локальный хост. Поскольку демон ssh принимает соединения (цепочка INPUT) на tcp / 22, а затем инициирует соединения (цепочка OUTPUT) от имени клиента (из-за -D), пересылки пакетов не происходит.

Я предполагаю, что цепочка INPUT веб-сервера уже позволяет ssh, простите меня за очевидное.

Теперь для динамического (-D) туннелирования вам также необходимо включить ВЫВОД с веб-сервера (любой локальный порт) на желаемый удаленный хост (ы) и их порт (ы). Под удаленными я имею в виду те, к которым вы действительно хотите подключиться через динамический туннель.

Поэтому, если вы планируете использовать свой туннель для подключения к хосту 1.2.3.4 через порт 443, вам необходимо РАЗРЕШИТЬ ВЫХОД на веб-сервере с любого порта на 1.2.3.4:443.

Цепочка FORWARD здесь совершенно неактуальна.