Jump to content
Калькуляторы

Подвисают VPN сервера Помогите защитится от атаки

Здравствуйте!

Есть два сервера VPN на FreeBSD 8.0.

Сеть построена на управляемом оборудовании L2

Установлено что из одного сегмента периодичностью один раз в сутки от пользователя (именно какого не установлено) происходит атака на сервер с подменой ІР-МАС (с одного и того сегмента). По логам на сервере известно что на сервер поступают запросы авторизации по PPTP - 10 раз в 1 секунду (в Windows минимум можно установить 1 раз в 5 сек). От чего VPN сервер зависает по авторизации. В этот момент другие пользователи подключится не могут. Восстановить роботу помогает перегрузка.

Подскажите - возможно в настройках FreeBSD - как бы сделать правило что бы исключить такие атаки. И исключать такого пользователя из правила. Админ. говорит что не возможно.

Поймать хулигана дело времени но на период поисков хотелось как бы стабилизировать роботу VPN серверов.

 

Спасибо!

Edited by Sk-Lan

Share this post


Link to post
Share on other sites
версия mpd какая.

Более точные даные :

 

FreeBSD 7.2 mpd 5.5

Share this post


Link to post
Share on other sites

И что? Никто не знает? Или информации мало?

Share this post


Link to post
Share on other sites

Видимо никто не сталкивался...

Share this post


Link to post
Share on other sites
И что? Никто не знает? Или информации мало?

1. Обязательно обновиться до 7-STABLE. В первом сообщениии указано 8.0, затем - 7.2 :/

2. Авторизация на чем? 10 звпросов в секунду - это совсем не много.

Edited by littlesavage

Share this post


Link to post
Share on other sites
Есть два сервера VPN на FreeBSD 8.0.

Сеть построена на управляемом оборудовании L2

Установлено что из одного сегмента периодичностью один раз в сутки от пользователя (именно какого не установлено) происходит атака на сервер с подменой ІР-МАС (с одного и того сегмента). По логам на сервере известно что на сервер поступают запросы авторизации по PPTP - 10 раз в 1 секунд.

От чего VPN сервер зависает по авторизации. В этот момент другие пользователи подключится не могут. Восстановить роботу помогает перегрузка.

radius ->

#  max_request_time: The maximum time (in seconds) to handle a request.
#
#  Requests which take more time than this to process may be killed, and
#  a REJECT message is returned.
#
#  WARNING: If you notice that requests take a long time to be handled,
#  then this MAY INDICATE a bug in the server, in one of the modules
#  used to handle a request, OR in your local configuration.
#
#  This problem is most often seen when using an SQL database.  If it takes
#  more than a second or two to receive an answer from the SQL database,
#  then it probably means that you haven't indexed the database.  See your
#  SQL server documentation for more information.
#
#  Useful range of values: 5 to 120
#
max_request_time = 30

        #  reject_delay: When sending an Access-Reject, it can be
        #  delayed for a few seconds.  This may help slow down a DoS
        #  attack.  It also helps to slow down people trying to brute-force
        #  crack a users password.
        #
        #  Setting this number to 0 means "send rejects immediately"
        #
        #  If this number is set higher than 'cleanup_delay', then the
        #  rejects will be sent at 'cleanup_delay' time, when the request
        #  is deleted from the internal cache of requests.
        #
        #  Useful ranges: 1 to 5
reject_delay = 5

 

а вообще это решается в firewall'е - ограничение количество соединений /в х секунд, знаю о таком в linux'е, во фре можно поставить limit что бы с одного ИП-адреса можно было одно подключение сделать, но не будет ли фря от этого перегружена?...вопрос еще тот(((

 

 

Share this post


Link to post
Share on other sites

Да ну, ограничения по скорости коннекта это не выход. Будут клиенты в час пик по одному дозваниваться в десятой попытки? А если на каком районе свет потух, а через часик включился и сотни клиентов ломанулись в инет? Надо будет час подождать свое очереди, а саппорт будет бубнить "линии перегружены, попробуйте позже" :)

Share this post


Link to post
Share on other sites
Да ну, ограничения по скорости коннекта это не выход. Будут клиенты в час пик по одному дозваниваться в десятой попытки? А если на каком районе свет потух, а через часик включился и сотни клиентов ломанулись в инет? Надо будет час подождать свое очереди, а саппорт будет бубнить "линии перегружены, попробуйте позже" :)
kayot одна попытка соединения к РРРtP серверу жрёт "понты" трафика )))

Я же говорил про ограничение количества сессий для одного Ип-ка.

 

ставим reject_delay = 10

ставим лимит на количество сессий от одного Ип к серверу на порт 1723/все порты - в 1-у сессию

Уже точно не получиться 10 попыток авторизации в секунду...

 

Если еще там был бы роутер на линуксе перед PPPtP сервером, то можно было бы поставить ограничение на количество соединений с одного ИП-ка за 1-у минуту...Например - не больше 3-х соеденений за 1-у минуту...

 

Share this post


Link to post
Share on other sites
Если еще там был бы роутер на линуксе перед PPPtP сервером, то можно было бы поставить ограничение на количество соединений с одного ИП-ка за 1-у минуту...Например - не больше 3-х соеденений за 1-у минуту...
Такое нынче наверное и на винде даже можно сделать, с не дефолтным фаером.

На фряхе пф и ипфв такое умеют.

Share this post


Link to post
Share on other sites
Если еще там был бы роутер на линуксе перед PPPtP сервером, то можно было бы поставить ограничение на количество соединений с одного ИП-ка за 1-у минуту...Например - не больше 3-х соеденений за 1-у минуту...
Такое нынче наверное и на винде даже можно сделать, с не дефолтным фаером.

На фряхе пф и ипфв такое умеют.

ipfw? Я не пробовал и функционала не видел такого...

 

 

Защита ssh средствами iptables кто захочет что угодно так можно "защитить" от ДДОСа

Для защиты от brute force (перебора паролей), можно ограничить количество подключений на 22 порт с одного ip адреса до нескольких раз в минуту, после чего блокировать попытки подключения для данного ip.

 

## Создание цепочки правил sshguard
# Максимум 2 новых запроса в минуту для одного ip
/sbin/iptables -N sshguard
# Вкл. лог по желанию
#/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --rcheck --seconds 60 --hitcount 2 -j LOG --log-prefix "SSH-shield:"
/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --update --seconds 60 --hitcount 2 -j DROP
/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --set -j ACCEPT
/sbin/iptables -A sshguard -j ACCEPT

## Применение для трафика ssh цепочку sshguard
/sbin/iptables -A INPUT -p tcp --dport 22 -j sshguard

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this