Может ли DDoS-атака помешать мне перейти по SSH на мой сервер?
Может ли DDoS-атака остановить ssh'ing на моем сервере?
Мой босс говорит нет, поэтому с сервером должно быть что-то не так. Однако мы получаем 4-5 разных ботов даже с robots.txt
а также .htaccess
переписывает.
Мой парень по PHP считает, что это боты, и я склонен согласиться, но возможно ли, чтобы атака помешала мне войти в ssh на мой сервер?
4 ответа
Абсолютно да, потому что DDoS-атака предназначена для перегрузки ресурсов сервера. Это означает, что ваша средняя нагрузка увеличивается, и ваша память максимально загружается на диск. И это не должна быть просто атака на порт 22. Я управлял тоннами веб-серверов, которые становятся недоступными из-за сценария, который я описал выше.
Лучшее решение такой проблемы - войти через удаленную консоль, которая находится ближе к машине, чем через SSH. Как при настройке облачного сервера, где у вас есть возможность запуска терминала на базе Java. Но это - конечно - основано на том, что у вас есть такой доступ.
Другая альтернатива - мучительно ждать, пока произойдет SSH-соединение, пока на вашем сервере выполняется DDoS. Иногда это работает. Но иногда мне приходится открывать горстку окон и смотреть, какое из них открывается первым.
РЕДАКТИРОВАТЬ: И если вы хотите заранее определить, использует ли ваша система ресурсы, я настоятельно рекомендую использовать Monit. Я использую такой скрипт в Monit, который делает две вещи в дополнение к электронной почте, когда что-то происходит. Один из них обнаруживает, что ваш веб-сервер не доступен (aka: down), и автоматически перезапускает его. Но для вас, возможно, loadavg
площадь имеет наибольшее значение. У меня здесь установлено значение 7, и он пытается перезапустить сервер, чтобы очистить соединения и попытаться вернуть его под контроль, если средняя загрузка постоянно находится на уровне 7 или выше. Такие вещи, как использование Monit, в значительной степени гарантируют, что вы получите лучший контроль над DDoS, когда это произойдет.
check process apache with pidfile /var/run/apache2.pid
start "/etc/init.d/apache2 start"
stop "/etc/init.d/apache2 stop"
if failed host 127.0.0.1 port 80
with timeout 15 seconds
then restart
if loadavg (1min) greater than 7
for 5 cycles
then restart
alert username@myserver.com only on { timeout, nonexist, resource }
От кого-то, кто был на стороне получателя DDOS-атак, работал в индустрии хостинга и имел нулевые маршрутизируемые IP-адреса жертв, да, DDOS может отключить весь сервер и любые предоставляемые им услуги, а также плохо спроектированную сеть и все серверы в этой сети.
Это правда, что боты могут также сломать сервер; вот почему вы хотите настроить хороший robots.txt
с crawl-delay
чтобы уменьшить частоту обхода сайта роботами (некоторые боты игнорируют crawl-delay
и просто должны быть заблокированы; Baidu, например, игнорирует crawl-delay
хотя это говорит о том, что они не игнорируют это на своем сайте).
Вы можете заблокировать вредоносных ботов с RewriteRule
в пределах .htaccess
файл. Пример блокировки Baidu приведен ниже:
RewriteCond %{HTTP_USER_AGENT} Baiduspider/2\.0
RewriteRule ^.* - [R=404,L]
Да, но есть и другие причины.
Я предполагаю, что вы сначала исключили iowait, поэтому мое следующее предложение - сделать захват пакетов вашего DNS-трафика и убедиться, что обратный поиск DNS работает правильно. В экстремальных сценариях из-за сбоев DNS может истечь время входа в систему, даже если аутентификация пройдет успешно. (конечно, если UseDNS no
установлен в sshd_config
это спорный вопрос)
Как подчеркивали другие в комментариях, важно, чтобы вы предоставили нам свое исследование о том, почему вы считаете, что DDoS отвечает за вашу блокировку. У этой проблемы может быть много возможных причин, поэтому важно не делать поспешных выводов.
Да, но тогда и только тогда, когда злоумышленник атакует ваш порт SSH (по умолчанию 22), который перегружает соединения с этим портом и запрещает любые соединения SSH до тех пор, пока атака не прекратится.