как защитить опубликованный сервис? Доброго вечера коллеги. Имеем сервер который одним концом смотрит в интернет, вторым в локальную сеть. Сервер предоставляет доступ в интернет двум сервисам: RDP на 12289 порту, и вебсервер на 4488 порту. Доступ в интернет 100мб/с Последнее время вижу картину: num pkts bytes target prot opt in out source destination 10 312K 46M DROP all -- eth0 * 0.0.0.0/0 194.87.235.255 11 398K 62M DROP all -- eth0 * 0.0.0.0/0 255.255.255.255 12 236K 43M DROP all -- eth0 * 0.0.0.0/0 224.0.0.0/4 это статистика за несколько минут. В логах сервера терминалов очень много ошибок авторизации. Пользователи стали жаловаться на долгое время подключения в серверу терминалов, а также периодические "висяки" и кики. Простым решением было бы использовать ВПН для терминального сервера, но такой тех возможности нет. Может кто подскажет каким средством отфильтровать ботов от реальных людей? |
Первое, что пришло в голову, это Port Knocking |
Почитал про это, но думаю нет. Не подойдет под задачи. |
единственное правильное решение - купить нормальный файерволл с поддержкой IPSec. На авито полно вариантов в пределах 3 т.р., например чекпойнт utm-1, циска 5505, juniper srx100 и т.д.. |
3-spiegel > А как оно мне поможет? 1-_ Old School _ > На хабре нашел статейку про настройку сего чуда для РДП. Были бы клиенты однотипные - прокатило бы. У меня клиенты в основном планшеты на Андроиде и Яблоко. что-то мало идей господа. Не флуда, ни RTFM... Измельчал форум( |
4-Анатолий Б >На примере циски аса 5505: настраиваете L2TP IPSec. На яблоке и андроиде есть поддержка. На фаейре уже на фазе 1 будет отсекаться лишний мусор, плюс сам файер отсеивает различные атаки. Если другой доступ не планируется, можно вообще 2 порта оставить - udp/500 и udp/4500, ну если надо, то tcp/22 для ssh. Аналогично для anyconnect. |
5-spiegel > [em]плюс сам файер отсеивает различные атаки[/em] чего? |
6-Mag > тут часть того, что делает фаейр: ASAv(config-pmap-c)# inspect ? mpf-policy-map-class mode commands/options: ctiqbe dcerpc diameter dns esmtp ftp gtp h323 http icmp ils im ip-options ipsec-pass-thru ipv6 lisp mgcp netbios pptp rsh rtsp scansafe sctp sip skinny snmp sqlnet sunrpc tftp vxlan waas xdmcp ASAv(config-tcp-map)# ? TCP-map configuration commands: check-retransmission Check retransmit data, disabled by default checksum-verification Verify TCP checksum, disabled by default default Set a command to its defaults exceed-mss Packet that exceed the Maximum Segment Size set by peer, default is to allow packet invalid-ack Packets with invalid ACK, default is to drop packet no Negate a command or set its defaults queue-limit Maximum out-of-order packets queued for a connection, default is 0 packets reserved-bits Reserved bits in TCP header are set, default is to allow packet seq-past-window Packets that have past-window seq numbers, default is to drop packet syn-data TCP SYN packets that contain data, default is to allow packet synack-data TCP SYN-ACK packets that contain data, default is to drop packet tcp-options Options in TCP header ttl-evasion-protection Protection against time to live (TTL) attacks, enabled by default urgent-flag Urgent flag and urgent offset set, default is to clear flag and offset window-variation Unexpected window size variation, default is to allow connection |
7-spiegel > Это не отсев атак, а конфигурация правила. |
ну так а правила то что делают? сами по себе что-ли? |
у автора темы классический 3х секционный периметр. Сто раз описано в различных design guide. |
9-spiegel > плюс сам файер отсеивает различные атаки возвращаемся к вопросу |
11-Mag >в гугле забанили? Тут глянь: [url]http://g.zeos.in/?q=cisco%20asa%20%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0%20%D0%BE%D1%82%20%D0%B0%D1%82%D0%B0%D0%BA[/url] |
12-spiegel > Понял. |
0-Анатолий Б > а если повесить TS совсем на другой порт? Без цифр 89 в конце? Типа 40362? |
Это можно. Уже не раз менял порт. Правда каждый раз менял первые цифры. Придерживаюсь варианта с асой и внедрить впн. Малой кровью думаю особо вариантов не осталось. |
15-Анатолий Б > попробуй поменять полностью, с неизменными последними двумя вариантов перебора довольно мало, могут пробовать угадать. Но с VPN конечно лучше. |
Зачем защищать публичные сервисы? Сыр выставил астерикс голой жопой и ничего, все списали. |
14-lithium > RDP на любом порту покажет, что это RDP. Nmap влет определяет, даже если маскировать под порты других служб. |
еще дешевле микротик. и впн умеет и порты переназначать. правда наличие мозга не компенсирует. |
[quote=_ Old School _;45064903]Первое, что пришло в голову, это Port Knocking[/quote] ++ делается один раз bat-ник и все. Это лайт решение для мелких контор без заморочек, кстати элементарно делается на микротике и не надо ничего настраивать отдал архив там в папке пара файлов батник,кнокер и ярлык rdp оно все запустилось по очереди и усе. |
я даже одно время чтобы не делать всякие доп заморочки делал просто кнокер на основании размера пакетов пинга(главное не забывать что флаги размера пакета не учитывают размер заголовков) и вообще все стандартно было bat-ник запускал ping с ключом размера пакета количеством 1 или 2 на каждое правило и минимальным временем ожидания ответа и так ступенчато несколько посылов разного размера после чего открывался порт rdp, на стороне клиента тотже батник просто запускал ярлык rdp из тоже папки. Эта тема удобна была тем что с любой ОС воспроизводится стандартными средствами без установки или настройки чегобыто ни было. Но теперь не рекомендую кноки на icmp, т.к. некоторые йоты стали химичить с icmp траффиком |
[quote=701054;45087391]и не надо ничего настраивать[/quote] имеется в виду на стороне клиента |
Что-то типа такого: на микроте : [code] /ip firewall filter add action=accept chain=forward dst-address=192.168.1.1 comment=ALLOW dst-port=3389 protocol=tcp src-address-list=allow add action=add-src-to-address-list address-list=knock address-list-timeout=20s chain=input comment=knock-icmp in-interface=WAN packet-size=40 \ protocol=icmp add action=add-src-to-address-list address-list=knock1 address-list-timeout=20s chain=input in-interface=WAN packet-size=50 protocol=icmp \ src-address-list=knock add action=add-src-to-address-list address-list=allow address-list-timeout=30m chain=input in-interface=WAN log=yes packet-size=60 protocol=icmp \ src-address-list=knock1 [/code] + dst-nat ессесно и established,related в правилах форварда разрешен, сессия не прервется и через пол часа На клиенте все очевидно только в флаге -l (или -s) я путаю их на разных ос по разному, но обычно без учета заголовка пакета т.е. то же что на микроте packet-size минус 28 start.cmd [code]ping -n 12 -l 2 111.111.111.111 ping -n 2 -l 22 111.111.111.111 ping -n 2 -l 32 111.111.111.111 mstsc server.rdp[/code] |
23-701054 > главно правила засунуть выше дропов, еще можно разрешить input icmp src-adresss-list=allow, так удобнее, последний пинг пройдет даже если drop input на WAN ниже по правилам. В общем один раз сделал такую шляпу, потом ctrl-c/ctrl-v по разным мини конторкам чтобы голой опой рдп не выставлять |
[quote]ping -n 12 -l 2 111.111.111.111[/quote] читать [quote]ping -n 2 -l 12 111.111.111.111[/quote] |
[quote=Анатолий Б;45068044]У меня клиенты в основном планшеты на Андроиде и Яблоко. [/quote] тогда vpn и усе |
хотя с др стороны пользователю что запустить впн, потом рдп. Что запустить порт кнокер, потом rdp - одинаково. Можно кнокер поискать просто под те же мобильные оси. |
Коллеги. Всем неравнодушным спасибо! Решение родилось не без вашей помощи. Помог мне port knocking, только наоборот -) Публикуем RDP скажем на 10 порту. Для port knocking создаем правило: Если клиент постучался в 22 или 3388 или 33891 (список можно продолжать)- то его в бан. Для удобства можно iptables подружить со списками. Все) |
28-Анатолий Б > Только не забывайте про скрытое Nmap сканирование ;) |
[quote=Анатолий Б;45092013]Коллеги. Всем неравнодушным спасибо!Решение родилось не без вашей помощи.Помог мне port knocking, только наоборот -)Публикуем RDP скажем на 10 порту.Для port knocking создаем правило: Если клиент постучался в 22 или 3388 или 33891 (список можно продолжать)- то его в бан.Для удобства можно iptables подружить со списками. Все) [/quote] А не эффективнее ли брутфорсеров в динамические блэклисты добавлять? 5 коннектов с флагом SYN на требуемый вам порт в течение 1 минуты - давай досвидания! Ну и политика паролей и блокировки после 5 некорректных вводов в вашем варианте обязательна |
18-_ Old School _ > перебрать 650 или 65000 вариантов? |
Пару лет прикрываю сервисы модулем recent, почему-то мало кто его использует. Конкретно для rdp у меня это работает так, первые 3 syn пакета отбрасываются, затем в течении 15-ти секунд пропускаются 2 syn, далее, начиная с 36-й секунды отбрасываются syn пакеты нащелкавшие 5 и выше попыток за 300 секунд. Со стороны юзера выглядит так, он нажимает на кнопочку, ждет 21 секунду, получает сообщение об ошибке, у него есть 15 секунд, чтобы повторно запустить клиента и подключиться, иначе ждать 5 минут, и все заново. Поначалу вайдосили конечно, но им было сказано, такова политика безопасности. |
softether - хорошая реализация vpn с поддержкой в мобильных ос. Я его поднимал даже на raspberry, обеспечивая связь через тоннель между несколькими voip-шлюзами и сервером в облаке. |
Разрешить подключаться только с разрешенных IP адресов и подсетей. Как минимум это снизит количество попыток подключения. |
Текущее время: 10:39. Часовой пояс GMT +3. |