The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Методы сокрытия сервисов средствами..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Методы сокрытия сервисов средствами..."  +/
Сообщение от auto_tips on 14-Янв-10, 14:02 
Все действия в нижеизложенной статье выполнялись в debian 5, стандартными средствами. Методы предназначены для сокрытия сервисов.

Ниже представлен простой шаблон правил:

   iptables -P INPUT DROP
   iptables -P OUTPUT DROP
   iptables -P FORWARD DROP

   iptables -A INPUT -p all -i lo -j ACCEPT
   iptables -A OUTPUT -p all -o lo -j ACCEPT

   ... ЗДЕСЬ НАШЕ ПРАВИЛО

   iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
   iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
   iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


++ 1. Использование нестандартного диапазона tcp портов при установление исходящего соединения.

Идея заключается в установлении нестандартных номеров портов (для исходящих соединений) на КЛИЕНТСКОЙ СТОРОНЕ и фильтрации фаерволом на сервере при установлении соединения по этим портам, тем самый делая наш sshd не видимым для всех и доступным для нас :)

Реализуем идею на практике: По умолчанию диапазон портов в linux равен от 32768 до 61000 (значения в различных дистрибутивах могут отличатся)

посмотреть установленные значения можно командой

   cat /proc/sys/net/ipv4/ip_local_port_range
   32768 61000

изменяем на, к примеру 30000 32500 (на клиентской ОС linux)

   echo "30000 32500">/proc/sys/net/ipv4/ip_local_port_range

правило будет выглядеть так:

   iptables -A INPUT -p tcp --syn --sport 30000:32500 --dport 22 -j ACCEPT

Правило означает: входящие подключение по протоколу tcp с флагами:FIN,SYN,RST,ACK/SYN с диапазона портов 30000:32500 на порт 22 разрешить


++ 2. Фильтрация на основе ttl (время жизни пакета)

Здесь можно пойти несколькими путями:

1) Суть заключается в привязывании к числу маршрутизаторов, через которые проходит пакет (ttl уменьшается на 1 при прохождении маршрутизатора), а так как количество маршрутизаторов в разных сетях разное, то получаем значение ttl равное числу по умолчанию минус число пройденных маршрутизаторов.

В данном варианте на клиентской ОС ничего менять не будем.
Выполним трассировку до нашего сервера, затем от значения ttl по умолчанию отнимем количество хостов до нашего сервера (default ttl - traceroute) получим значение ttl по которому будем принимать пакеты на стороне сервера.

В linux значение ttl по умолчанию равно 64, посмотреть можно командой

   cat /proc/sys/net/ipv4/ip_default_ttl
   64

Пример: выполняем трассировку

   tcptraceroute ya.ru
   ...
   9 ya.ru (93.158.134.8) [open] 556.844 ms 474.811 ms *

Всего в пути встретилось 9 узлов, значит к серверу придёт пакет с ttl=55 (64-9=55)
правило будет выглядеть так:

   iptables -A INPUT -p tcp --syn --dport 22 -m ttl --ttl-eq 55 -j ACCEPT

Правило означает: входящие подключение по протоколу tcp с флагами:FIN,SYN,RST,ACK/SYN на порт 22 с временем жизни 55 разрешить.

Иногда бывает маршрут по которому проходящий пакет незначительно изменяется (к примеру, провайдер пускает трафик по разным канал в целях балансировки), следовательно и количество маршрутизаторов, по которым идёт пакет, тоже меняется, тогда на всякий случай добавим к правилу ttl +2 и ttl -2

Правило будет выглядеть так:

   iptables -A INPUT -p tcp --syn --dport 22 -m ttl --ttl-gt 52 -m ttl --ttl-lt 58 -j ACCEPT

Правило означает: входящие подключение по протоколу tcp с флагами:FIN,SYN,RST,ACK/SYN на порт 22 с временем жизни больше 52 и меньше 58 (match TTL > 52 TTL match TTL < 58) разрешить


2) Второй вариант является продолжением первого, основное отличие в установлении на клиентской стороне нестандартного значения ttl, по которому на сервере будем фильтровать пакеты.

Например ttl=80:

   echo "80" > /proc/sys/net/ipv4/ip_default_ttl

При количестве маршрутизаторов 12, составим правило с запасом которое будет выглядеть так:

   iptables -A INPUT -p tcp --syn --dport 22 -m ttl --ttl-gt 65 -m ttl --ttl-lt 70 -j ACCEPT

Правило означает: входящие подключение по протоколу tcp с флагами:FIN,SYN,RST,ACK/SYN на порт 22 с временем жизни больше 65 и меньше 70 (match TTL > 65 TTL match TTL < 70) разрешить


++ 3. Фильтрация на основе mss (максимальный размер сегмента)

Размер mss рассчитывается по формуле: mtu минус 40 байт
mtu по умолчанию обычно равно 1500 байтам, итого значение mss по умолчанию равно 1460 байт
Посмотреть mtu можно командой ifconfig

При фильтрации по mss на сервере, на клиентской стороне потребуется лишь изменить mtu сетевого интерфейса (желательно немного уменьшить).

Реализуем идею на практике:
На клиентской стороне ставим mtu=1440

   ifconfig eth0 mtu 1440

На сервере правило будет выглядеть так:

   iptables -A INPUT -p tcp --syn --dport 22 -m tcpmss --mss 1400 -j ACCEPT

Правило означает: входящие подключение по протоколу tcp с флагами:FIN,SYN,RST,ACK/SYN на порт 22 с размером mss=1400 разрешить

++ 4. Защита от установки пользователям сервера исходящих соединений во внешний мир.

Например заблокируем возможность соединения пользователю с правами которого работает web сервер

   iptables -A INPUT -p tcp --syn --dport 80 -j ACCEPT
   iptables -A OUTPUT -p tcp -m owner --uid-owner 33 -m state --state NEW -j DROP

В первой цепочки разрешаем входящие соединения на 80 порт по протоколу tcp, во второй запрещаем устанавливать новые исходящие соединения пользователю (uid 33) с правами которого работает web сервер.

URL: http://linux-online-ru.blogspot.com/2010/01/sshd-iptables.html http://linux-online-ru.blogspot.com/2010/01/web-server-backc...
Обсуждается: https://www.opennet.ru/tips/info/2263.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от hhhkkjjjllllss on 14-Янв-10, 14:02 
интересный подход, правда сразу ограничивает число администраторов, к-ые смогут подключиться например находясь в отпуске или за городом, используя смартфон с симбианом и портированным под него putty. сомневаюсь что симбиан позволит тюнить параметры работы стека tcp/ip.
4 совет также весьма полезен, но к озвученной теме не относится.
спасибо за информацию!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от anonymous (??) on 14-Янв-10, 14:11 
5-ым пунктом дописать port knocking, и вообще все шоколадно получится
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от mega4el (ok) on 14-Янв-10, 14:14 
Кстати, действительно не понятно как подключаться к серверам с мобильных устройств с произвольных ип-ов. Для всех открывать порт стремно, вешать на другой порт тоже не очень.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от azure (ok) on 14-Янв-10, 15:20 
а как сие реализовать средствами iptables?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от User294 (ok) on 14-Янв-10, 15:33 
Голь на выдумки хитра, за идею респект но с такими правилами потом можно резко соснуть при нужде порулить с чужого хоста абы где. Или через какойнить кривой нат или фаер. Что при всей оригинальности идей нивелирует практическую пользу во много раз. Мне больше нравится банальный порткнок - просто изобразить и легко затриггерить с практически любой конфигурации.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от User294 (ok) on 14-Янв-10, 15:43 
> используя смартфон с симбианом и портированным под него putty.

После n8x0 или n900 от такого ... как симбиан при ремотной администрежке реально стошнит.

Тем не менее, кроме этого еще есть всякие фаеры и наты, которые могут внести свои коррективы в TTL, MSS, порты и прочая. А тут бац оказались вы скажем в чистом поле, кроме GPRS нифига, и тут то и навернулось что-то. Фигакс, а тут NAT - как нож в спину. Что, теперь исходящие порты вы не контролируете? И потому сосаете? Ну так то-то же, блин. По сути советы то - из серии "как подложить себе развеселых грабель".

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Дмитрий (??) on 14-Янв-10, 16:25 
http://main-server.blogspot.com/2009/04/port-knocking.html

Вот как это делаю я.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от splat_pack (ok) on 14-Янв-10, 18:16 
вот велосипедостроители блин. перенос порта на нестандартный решает. За 3 года ни одного левого логина. Хотя вам же надо чтоб поэротичнее :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от анонимус (??) on 14-Янв-10, 18:34 
>вот велосипедостроители блин. перенос порта на нестандартный решает. За 3 года ни
>одного левого логина. Хотя вам же надо чтоб поэротичнее :)

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Warhead Wardick on 14-Янв-10, 19:30 
Великий Ыксперт по безопастности наверное о nmap и не слышал? А ему по барабану на какой порт ты чего подвесишь ...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Andrey Mitrofanov on 14-Янв-10, 19:45 
>Великий Ыксперт по безопастности наверное о nmap и не слышал? А ему
>по барабану на какой порт ты чего подвесишь ...

Нууу... Тада порт-нокинг, с нехарактерными для nmap отпечатками. А на характерных - открывать "-j TARPIT" на всех портах. Ж*)) Или "ещё нежнее"(тм) - TARPIT сразу, всегда и везде и открывать отдельный сервис после длиииинного стука.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Andrew (??) on 14-Янв-10, 20:05 
1й пункт вызывает сомнения: если сделать диапазон портов слишком узким, то его не хватит для нормальной работы на клиенте, а если он будет достаточно широким, то что есть это ограничение, что нет...

Мне, например, время от времени 2500 портов хватать не будет :)

2й пункт не приемлем -- есть такое чудо человеческой мысли, как дин. маршрутизация и резервные каналы. Да и еще куча причин может быть, почему маршрут сменился.

3й пункт требует установки гораздо более иного мту нежели 1440, т.к. это довольно стандартное значение для всяких там впн и т.п.

ИМХО! Если уж так хочется закрыться, то лучше порт-нокинг+нестандартный порт

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от azure (ok) on 14-Янв-10, 23:00 
>http://main-server.blogspot.com/2009/04/port-knocking.html
>
>Вот как это делаю я.

почитал, понял. спасибо. у меня какбы порт-нокинг но с одним портом: пускат только второй коннект в течении 15 секунд после первого на 22й порт и не пускает если в течении часа более 8 соединений. sshd отключает после третьей неудачной попытки. такая политика свела на нет переборы паролей ботами. порт-нокинг наверное еще эффективней.. но для мня меньше подходит, ибо бываю за проксей с возможностью только хттпс туннелинга на один порт.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от adm (??) on 14-Янв-10, 23:41 
спасибо пригодится
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от adm (??) on 14-Янв-10, 23:47 
основная идея и заключается в том чтобы сосали всякие левые со своими левыми хостами, большинство нормальных людей подключаются к своим сервакам с проверенных компов, на которых все настроено как надо и отсутствуют вирусы
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от prapor (??) on 15-Янв-10, 01:00 
>После n8x0 или n900

Скажу честно: задостали! ©
Ну хорошие девайсы, ну и что? Сколько можно про них кричать? Не все сочли нужными их покупать. Тем более, что "на всех" их не выпущено.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от ffsdmad (ok) on 15-Янв-10, 02:26 
спасибо, толково, свирепо
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Туве Янсон email on 15-Янв-10, 05:24 
А в чем смысл резать по длине маршрута / длине пакета и т. п., если можно просто открыть только для нужных IP ?
Это бред какой-то
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Pahanivo email(ok) on 15-Янв-10, 08:31 
скока ж можно изобретать виласипэд? ))
выделите вы одну машину в сети чисто под ssh (стурую, слабую, дешевую)
уберите с нее все кроме самого ssh, повесте его на нестандартный порт
прикрутите чтонибудь типа sshit
и используйте эту машину как промежуточную для хождения на ssh по вашим сервакам (есно на серваках ограничить только заход с этой тачки)

быстро, просто, безопасно

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от chodorenko on 15-Янв-10, 09:20 
вот не понятно зачем изобретать реальные велосипеды с нестандартными портами и прочей ерундой, или например port knocking, опятьже с любого мобильного девайса очень геморно подключится есть простое и проверенное средство
$ipt -A INPUT ! -i $internal_interface -p tcp --match state --state NEW --dport 22 --match recent --update --seconds 60 --hitcount 3 --name SSHT -j DROP
$ipt -A INPUT  ! -i $internal_interface -p tcp --match state --state NEW --dport 22 --match recent --set --name SSHT -j ACCEPT
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от splat_pack (ok) on 15-Янв-10, 10:30 
скажите пожалуйста кому вы нах@р нужны вас ломать? эта вся поэзия нужна только для того чтобы защититься от ботов. А если вам нужна прямо супер система против взлома, то снача блокировка по IP, второе логин по ключу ну и третье вас вероятнее сломают не через ssh а через дырявый скрипт на php.

Прям все себя считают такими не@бацо важными что у них есть что тырить и ломать. У меня на одной машине стандартный порт + sshit, на другой просто левый порт. Чож меня за 6 лет никто не ломанул то а? Может потому что никому это нафиг не надо?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от qqq (??) on 15-Янв-10, 12:29 
вы прочитайте заголовок "Методы сокрытия сервисов средствами iptables на примере sshd", а вы написали правило  против брутфорса, которое кстати не поможет против ботнета
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от qwer email(??) on 15-Янв-10, 13:31 
И что сие правила делают?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Аноним (??) on 15-Янв-10, 16:41 
присоединяюсь к товарищам выше. посмотришь как народ защищает свои сервера с порнухой и плачешь от умиления. что, кто-то взломал ssh с авторизацией по сертификатам? или открытые наружу порты вызывают чуйство оголенности? как все эти танцы с бубном, которые к тому же сильно усложняют жизнь, помогут против сниффа на первом перед этой тачкой маршрутизаторе?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Аноним (??) on 15-Янв-10, 17:10 
> у меня какбы порт-нокинг но с одним портом: пускат только второй коннект в течении 15 секунд после первого

гениально !

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Andrey Mitrofanov on 15-Янв-10, 17:27 
>гениально !

А ведь и!...

Но _надо_ углУбить: к стукам по условленным портвм добавиь условные стуки и паузы меду ними
навроде порт 100, порт 101 * 10 раз не позже чес через минуту не меденнее чем за 10с, пауза не менее 9 мин. и не дольше 10 мин., быстрое постукивание на порты 101,102,103 общим числом не менее 150, не более 180 в течение не более 1 с, и т.д и т.д. ... И с каждым стуком -- обязательно "подстукивать" кодовым изменением TTL, MSS, MTU и _OS_fingerprint-а_! %))))

Да!! Кстати, а ещё можно такого типа "морзянкой" one-time парол_и_ "простукивать" -- щоб враги не подслушали и не повторили.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

28. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Zulu on 15-Янв-10, 19:53 
> большинство нормальных людей подключаются к своим сервакам с проверенных компов, на которых все настроено как надо и отсутствуют вирусы

И где putty настроен! И контра стоит!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

31. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от mr_gfd on 16-Янв-10, 22:44 
>присоединяюсь к товарищам выше. посмотришь как народ защищает свои сервера с порнухой
>и плачешь от умиления. что, кто-то взломал ssh с авторизацией по
>сертификатам? или открытые наружу порты вызывают чуйство оголенности? как все эти
>танцы с бубном, которые к тому же сильно усложняют жизнь, помогут
>против сниффа на первом перед этой тачкой маршрутизаторе?

И таки да, mitm часто организовать при направленной атаке будет всяко надежнее, чем тыкаться в secure shell в лоб.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "Методы сокрытия сервисов средствами iptables на примере sshd"  +1 +/
Сообщение от Аноним (??) on 18-Янв-10, 01:40 
mitm для ssh? ищи дурака.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

33. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Basiley (ok) on 20-Янв-10, 02:42 
fwsnort и форки
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

34. "Методы сокрытия сервисов средствами iptables на примере sshd"  +/
Сообщение от Andrey Mitrofanov on 20-Янв-10, 10:08 
См.соседний совет -- с помощью -m recent.
Более дотошная реализация - по той ссылке, что я там дал.
http:/openforum/vsluhforumID3/63049.html#4
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру