Форум на Kuban.ru (http://forums.kuban.ru/)
-   Сети и их администрирование (http://forums.kuban.ru/f1029/)
-   -   как защитить опубликованный сервис? (http://forums.kuban.ru/f1029/kak_zashitit-_opublikovannyj_servis-8546636.html)

AnatoliyB 30.11.2017 21:56

как защитить опубликованный сервис?
 
Доброго вечера коллеги.
Имеем сервер который одним концом смотрит в интернет, вторым в локальную сеть. Сервер предоставляет доступ в интернет двум сервисам: 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

это статистика за несколько минут.
В логах сервера терминалов очень много ошибок авторизации.
Пользователи стали жаловаться на долгое время подключения в серверу терминалов, а также периодические "висяки" и кики.
Простым решением было бы использовать ВПН для терминального сервера, но такой тех возможности нет.
Может кто подскажет каким средством отфильтровать ботов от реальных людей?

wHITeMAN 01.12.2017 01:08

Первое, что пришло в голову, это Port Knocking

wladuha 01.12.2017 13:25

Почитал про это, но думаю нет. Не подойдет под задачи.

pikorta 01.12.2017 17:07

единственное правильное решение - купить нормальный файерволл с поддержкой IPSec. На авито полно вариантов в пределах 3 т.р., например чекпойнт utm-1, циска 5505, juniper srx100 и т.д..

AnatoliyB 01.12.2017 19:32

3-spiegel > А как оно мне поможет?
1-_ Old School _ > На хабре нашел статейку про настройку сего чуда для РДП. Были бы клиенты однотипные - прокатило бы.
У меня клиенты в основном планшеты на Андроиде и Яблоко.

что-то мало идей господа. Не флуда, ни RTFM... Измельчал форум(

pikorta 01.12.2017 20:13

4-Анатолий Б >На примере циски аса 5505: настраиваете L2TP IPSec. На яблоке и андроиде есть поддержка.
На фаейре уже на фазе 1 будет отсекаться лишний мусор, плюс сам файер отсеивает различные атаки. Если другой доступ не планируется, можно вообще 2 порта оставить - udp/500 и udp/4500, ну если надо, то tcp/22 для ssh. Аналогично для anyconnect.

Mag 01.12.2017 22:46

5-spiegel >
[em]плюс сам файер отсеивает различные атаки[/em]
чего?

pikorta 01.12.2017 23:15

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

Mag 01.12.2017 23:21

7-spiegel >
Это не отсев атак, а конфигурация правила.

pikorta 01.12.2017 23:23

ну так а правила то что делают? сами по себе что-ли?

pikorta 01.12.2017 23:24

у автора темы классический 3х секционный периметр. Сто раз описано в различных design guide.

Mag 01.12.2017 23:32

9-spiegel >
плюс сам файер отсеивает различные атаки
возвращаемся к вопросу

pikorta 01.12.2017 23:41

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]

Mag 01.12.2017 23:47

12-spiegel >
Понял.

lithium 04.12.2017 15:22

0-Анатолий Б > а если повесить TS совсем на другой порт? Без цифр 89 в конце? Типа 40362?

AnatoliyB 04.12.2017 16:49

Это можно.
Уже не раз менял порт. Правда каждый раз менял первые цифры.

Придерживаюсь варианта с асой и внедрить впн.
Малой кровью думаю особо вариантов не осталось.

lithium 06.12.2017 10:57

15-Анатолий Б > попробуй поменять полностью, с неизменными последними двумя вариантов перебора довольно мало, могут пробовать угадать.

Но с VPN конечно лучше.

SERGIUSF 07.12.2017 00:55

Зачем защищать публичные сервисы? Сыр выставил астерикс голой жопой и ничего, все списали.

wHITeMAN 07.12.2017 17:03

14-lithium > RDP на любом порту покажет, что это RDP. Nmap влет определяет, даже если маскировать под порты других служб.

Sages 07.12.2017 23:19

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

wiz111 07.12.2017 23:30

[quote=_ Old School _;45064903]Первое, что пришло в голову, это Port Knocking[/quote] ++ делается один раз bat-ник и все. Это лайт решение для мелких контор без заморочек, кстати элементарно делается на микротике и не надо ничего настраивать отдал архив там в папке пара файлов батник,кнокер и ярлык rdp оно все запустилось по очереди и усе.

wiz111 07.12.2017 23:40

я даже одно время чтобы не делать всякие доп заморочки делал просто кнокер на основании размера пакетов пинга(главное не забывать что флаги размера пакета не учитывают размер заголовков) и вообще все стандартно было bat-ник запускал ping с ключом размера пакета количеством 1 или 2 на каждое правило и минимальным временем ожидания ответа и так ступенчато несколько посылов разного размера после чего открывался порт rdp, на стороне клиента тотже батник просто запускал ярлык rdp из тоже папки.
Эта тема удобна была тем что с любой ОС воспроизводится стандартными средствами без установки или настройки чегобыто ни было. Но теперь не рекомендую кноки на icmp, т.к. некоторые йоты стали химичить с icmp траффиком

wiz111 07.12.2017 23:42

[quote=701054;45087391]и не надо ничего настраивать[/quote]
имеется в виду на стороне клиента

wiz111 08.12.2017 00:06

Что-то типа такого:
на микроте :
[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]

wiz111 08.12.2017 00:20

23-701054 > главно правила засунуть выше дропов, еще можно разрешить input icmp src-adresss-list=allow, так удобнее, последний пинг пройдет даже если drop input на WAN ниже по правилам.
В общем один раз сделал такую шляпу, потом ctrl-c/ctrl-v по разным мини конторкам чтобы голой опой рдп не выставлять

wiz111 08.12.2017 00:23

[quote]ping -n 12 -l 2 111.111.111.111[/quote]
читать
[quote]ping -n 2 -l 12 111.111.111.111[/quote]

wiz111 08.12.2017 00:29

[quote=Анатолий Б;45068044]У меня клиенты в основном планшеты на Андроиде и Яблоко. [/quote] тогда vpn и усе

wiz111 08.12.2017 00:40

хотя с др стороны пользователю что запустить впн, потом рдп. Что запустить порт кнокер, потом rdp - одинаково. Можно кнокер поискать просто под те же мобильные оси.

AnatoliyB 09.12.2017 19:44

Коллеги. Всем неравнодушным спасибо!
Решение родилось не без вашей помощи.
Помог мне port knocking, только наоборот -)

Публикуем RDP скажем на 10 порту.
Для port knocking создаем правило: Если клиент постучался в 22 или 3388 или 33891 (список можно продолжать)- то его в бан.
Для удобства можно iptables подружить со списками. Все)

wHITeMAN 10.12.2017 02:15

28-Анатолий Б > Только не забывайте про скрытое Nmap сканирование ;)

StepanRazin 12.12.2017 21:59

[quote=Анатолий Б;45092013]Коллеги. Всем неравнодушным спасибо!Решение родилось не без вашей помощи.Помог мне port knocking, только наоборот -)Публикуем RDP скажем на 10 порту.Для port knocking создаем правило: Если клиент постучался в 22 или 3388 или 33891 (список можно продолжать)- то его в бан.Для удобства можно iptables подружить со списками. Все) [/quote]

А не эффективнее ли брутфорсеров в динамические блэклисты добавлять? 5 коннектов с флагом SYN на требуемый вам порт в течение 1 минуты - давай досвидания!

Ну и политика паролей и блокировки после 5 некорректных вводов в вашем варианте обязательна

lithium 16.12.2017 21:45

18-_ Old School _ > перебрать 650 или 65000 вариантов?

harsh 06.01.2018 02:21

Пару лет прикрываю сервисы модулем recent, почему-то мало кто его использует.
Конкретно для rdp у меня это работает так, первые 3 syn пакета отбрасываются, затем в течении 15-ти секунд пропускаются 2 syn, далее, начиная с 36-й секунды отбрасываются syn пакеты нащелкавшие 5 и выше попыток за 300 секунд.
Со стороны юзера выглядит так, он нажимает на кнопочку, ждет 21 секунду, получает сообщение об ошибке, у него есть 15 секунд, чтобы повторно запустить клиента и подключиться, иначе ждать 5 минут, и все заново. Поначалу вайдосили конечно, но им было сказано, такова политика безопасности.

fanatnascar 08.01.2018 01:48

softether - хорошая реализация vpn с поддержкой в мобильных ос.

Я его поднимал даже на raspberry, обеспечивая связь через тоннель между несколькими voip-шлюзами и сервером в облаке.

Перпетум Мобиле 09.01.2018 11:21

Разрешить подключаться только с разрешенных IP адресов и подсетей. Как минимум это снизит количество попыток подключения.


Текущее время: 10:39. Часовой пояс GMT +3.