?

Log in

No account? Create an account

Previous Entry Share Next Entry
redirect port with iptables
Bamboo forest
sanmai
( Нештатное применение TTL )
Когда нужно выйти по SSH из сети, в которой закрыто всё кроме, например, 443 и 80 портов, легко переадресовать любой из этих портов на 22 для конкретной сети или хоста:
iptables -t nat -A PREROUTING -p tcp -s firewall.example.com \
--dport 80 -j REDIRECT --to-port 22
Но у этого способа есть существенный недостаток. Администратор закрытой сети может заинтересоваться подозрительным трафиком и зайти на сервер поинтересоваться. Там он увидит знакомое приглашение:
SSH-2.0-OpenSSH_4.7p1
И закроет наш выход в мир, в чем мы совершенно не заинтересованы.

Но выход есть. Стоит нам на клиенте увеличить TTL для всех пакетов в направлении нашего сервера:
iptables -t mangle -A POSTROUTING -p tcp -d sshserver.example.net -j TTL --ttl-set 234
А на сервере настроить переадресацию на 22 порт только для пакетов с TTL, заведомо большим типичного, например, 150:
iptables -t nat -A PREROUTING -p tcp -s firewall.example.com \
--dport 80 -m ttl --ttl-gt 150 -j REDIRECT --to-port 22
Мы получаем возможность туннелировать нужный нам трафик по шифрованному каналу, а администратор, проявив любопытство, по тому же самому порту на том же самом сервере увидит какой-нибудь совершенно безобидный сайт.
TTL также можно завысить через sysctl:
echo 234 > /proc/sys/net/ipv4/ip_default_ttl
Или добавив в /etc/sysctl.conf строчку:
net.ipv4.ip_default_ttl = 234
Наконец, можно изменить значение TTL по-умолчанию в исходниках ядра.

  • 1
опять эти умные буковки непонятно о чём ;)))))

"Разработчик, нашедший менее трех способов зайти на забаненный в офисе сайт, должен быть уволен за полное служебное несоответствие" © madm1ke

А он http://l7-filter.sourceforge.net поставит и посмотрит пристальнее ;-)

1. Расчет на то что он успокоится на этом и ничего ставить не будет. Поставить-то много чего можно :)

2. В SOHO-роутерах обычно есть фаерволл, который позволяет блокировать порты и хосты, и только.

Edited at 2010-04-30 11:46 am (UTC)

посмотри

(Anonymous)
защитится можно например так: защита http proxy от пробрассывания любых тунелей стандартными средствами iptables
http://linux-online-ru.blogspot.com/2010/02/http-proxy-http-iptables.html

Re: посмотри

1. Описанный способ не работает с HTTP-прокси, он для более простого случая.
2. Я думаю научить httptunnel набивать заголовки мусором не станет большой проблемой для заинтересованного человека.

Вообще, подобные задачи следует решать нетехническими, административными методами.

  • 1