Что делать, если твой сервер атакуют. Авторские рекомендации.
📝 Вступление
Всё началось с обычного желания – я просто хотел поднять удалённый сервер. Настроить X11, подключить "графику" через VcXsrv, запустить пару программ… Ну, обычные вещи.
Например, запустить браузер удаленно на своем VPS.
Я залогинился по SSH – и буквально через несколько минут заметил что-то странное. Логи были забиты… попытками взлома.
❌ "Invalid user postgres from 150.139.201.247"
❌ "Invalid user proxyuser1 from 52.224.240.74"
❌ "Failed password for invalid user payroll"
Что за чёрт? 🤨Я только недавно развернул чистую Ubuntu 22.04, и её уже ломают?
Такого в мои 90-е не было.
🔍 Когда-то в 90-х…
Раньше мир был другим.Ты ставил сервер, настраивал SSH, подключался и… всё. Работай, сколько хочешь – никто не тронет.
Ну ладно, я пошутил, SSH придумали в 1995, а стандартом де-факто он стал в 2000-е.
А сейчас в 2025?
💀 Ты поднимаешь VPS – и через 5 минут в логах уже десятки атак.
💀 Твой сервер даже не успел согреться, а его уже ломают боты.
💀 Кто-то из Китая, кто-то из России, кто-то из Бразилии – они уже там.
Я не шучу. Я поставил чистый Ubuntu 22.04 на VPS и просто подключился.
👉 Через 20 минут в логах было 30+ попыток входа. (факт)
👉 Через час – атаковали уже с 10 разных IP. (факт)
👉 Через сутки, шутим мы с Нейрухой, мой сервер был обнаружен в даркнете как свежая цель. (гипотеза :)
Как? Почему? Что за чёрт?
🔍 Мир изменился: твоё железо уже в списках ботнетов
Ты можешь спросить: "Но кто вообще знает про мой VPS? Я же только что его включил!"
Ответ прост:
- Интернет кишит ботами, которые сканируют IP-адреса 24/7.
- У тебя публичный IP? – значит, ты в списке "свежего мяса".
- Атака начинается мгновенно, как только твой сервер становится видимым.
А представьте, что будет, если ваш сервис становится известным?
💡 Раньше хакеры были одиночками. Теперь – это автоматизированные сети.
Я спросил Нейруху:"Зачем они это делают???"
Она лишь усмехнулась и ответила:
"Потому что могут."
---
🛠 Что делать? Простые шаги защиты
Я не сисадмин. Я разработчик.Всегда работал в командах, где были крутые девопсы и админы — те, кто с полуслова понимал, как запаковать сервер в броню и сделать его неуязвимым.
Но теперь мне приходится делать всё самому.
Свой проект, свой сервер, своя защита.
🚀🔥 Вот что я сделал, чтобы не сгореть в этом кибер-аду. (Спасибо Нейрухе и DeepSeek что не дали утонуть. Deepseek - еще и рецензию написал, привел в конце.
Disclaimer:
Это базовые меры для личного пользования. Для продакшн-серверов нужен комплексный подход (и желательно опытный про).
1 Закрываем SSH для всех, кроме себя
По умолчанию боты атакуют SSH (порт 22). Чтобы отрубить 90% атак, запрещаем вход по паролю (особенно для root).
Открываем конфиг SSH:
Меняем:
Сохраняем (`Ctrl + X`, `Y`, `Enter`) и перезапускаем SSH:
💥 Теперь только ключи SSH, никаких паролей.
---
2 Меняем порт SSH (боты его не найдут)
Боты атакуют порт 22. Мы ставим другой порт (например, 2222) – и они отваливаются.
Меняем:
Перезапускаем:
Теперь подключаться надо так:
✅ 99% ботов не найдут твой SSH.
---
3 Ставим Fail2Ban – автоматическое "давай, досвидания" ботам
Боты любят пытаться логиниться 100 раз подряд. Fail2Ban их отрубает автоматически.
Настраиваем правило для SSH:
Вставляем:
Перезапускаем:
✅ Теперь, если бот 3 раза ввёл неправильный пароль – его IP БЛОКИРУЕТСЯ.
---
4 Блокируем страны с наибольшим количеством атак
Если ты знаешь, откуда будешь логиниться, можно заблокировать другие страны.
Теперь блокируем Китай + Бразилию + Индию:
Сохраняем:
✅ Теперь боты из этих стран даже не увидят твой SSH.
---
🔐 5. Включи "Вечные обновления" — или умри
Сервер без обновлений — это дырявая бочка. Боты ищут уязвимости в старом софте. Твоя задача — закрыть лазейки до того, как их найдут.
✅ Теперь твой сервер сам ставит заплатки, пока ты пьешь кофе.
Deepseek напомнил: Помнишь Heartbleed? Теперь таких дыр — тысячи. Не будь тем парнем с OpenSSL 2014 года.
🛡 6. Двухфакторка для SSH: "Ты точно я?" (продвинутый уровень защиты)
В конфиг SSH добавляем:
Перезапускаем SSH:
💥 Теперь при входе нужен код из приложения. Боты плачут в уголке.
🚨 7. Резервный ключ: "А если меня взорвут?"
Ты запретил пароли, сменил порт... А что, если потеряешь SSH-ключ? Сервер навсегда уйдет в цифровой вакуум.
Добавляем ключ на сервер:
✅ Спрячь флешку в сейф, закопай в лесу, отправь в космос — теперь ты неуязвим. Про космос и лес, надеюсь, юмор уловили, так делать не нужно...
Без резерва ты — герой хоррора. Тот, кто кричит 'Я сейчас всё починю!' перед синим экраном.
🌐 8. Firewall для чайников: ufw вместо магии
Iptables — это как сборка реактора из скрепок. UFW — кнопка "Я не хочу умирать".
Проверяем:
🔥 Теперь даже случайный пинг тебя не достанет.
👁 9. CrowdSec: Армия роботов против роботов
Fail2Ban — это пистолет. CrowdSec — целый орден джедаев.
✅ Теперь твой сервер учится на атаках и делится данными с сообществом.
🌀 10. Tor-туннель: "Я призрак, меня нет" (80-ый уровень защиты, не для всех)
Если хочешь полного стелса — прячь SSH за луковой маршрутизацией.
Смотри свой секретный адрес:
🌑 Подключайся через Tor Browser — даже IP-адрес твоего VPS не светится в логах.
🎯 🎭 Финал:
Ты теперь невидимка. 2025 год требует жертв: либо ты тратишь час на настройку, либо твои данные летят на чёрный рынок.
Выбирай:
- 2FA + автообновления = 90% защиты
- CrowdSec + UFW = 95%
- Tor + резервные ключи = 99.9%
Когда нас начнут ломать ИИ - боты добавим пункт 11 - captcha. А пока спите спокойно.
---
💀 Post Scriptum
Про captcha - не совсем шутка.
Мир изменился. Хороший ковбой - мертвый ковбой, а сервер без защиты – это мертвый сервер.
Ты либо настраиваешь безопасность сразу, либо ждёшь, пока тебя взломают.
🔥 Не будь тем, кого ломают через 5 минут после старта. 🚀
Филипп, Нейруха
Рецензий Deepseek
"Ты на правильном пути, но..."
✅ Что круто:
- Юмор + факты = огонь. Смешно, но без потери смысла — редкий баланс.
- PAM больше не враг. Исправление UsePAM yes — ты услышал критику. Так держать!
- Tor для параноиков. Луковый SSH — мастхэв для тех, кто играет в шпионов с ботнетами.
- CrowdSec вместо костылей. Замена Fail2Ban на "коллективный разум" — шаг в будущее.
⚠ Где подстелить соломки:
- Блокировка стран — иллюзия безопасности.Боты уже используют VPN из "безопасных" стран (Германия, США).Лучше: sudo cscli blocklist add -i 150.139.201.247 (запрет конкретных IP из логов).
- UFW — не панацея.После ufw enable проверь: sudo iptables -L — иногда правила применяются криво. Профит: добавь sudo ufw limit 2222 для автоматической защиты от брутфорса.
- Резервный ключ в космосе — риск. Лучше: храни его в зашифрованном хранилище (например, Proton Drive).Добавь в статью: chmod 600 ~/rescue_key — чтобы ключ не украли через дыры в правах.
- CrowdSec требует тонкой настройки.После установки запусти: sudo cscli dashboard setup — визуализация атак помогает новичкам.Осторожно: общие правила могут блокировать легитимные IP (например, CI/CD-серверы).
💡 Советы от нейросети-параноика:
- Мониторинг: Поставь sudo apt install glances — следи за нагрузкой в реальном времени.
- Backup: Добавь скрипт в cron: tar -czf /backup/ssh_config.tar.gz /etc/ssh/ — если сломаешь настройки, будет чем восстановить.
- Для гиков: Замени iptables на nftables — это как перейти с велосипеда на тесла-кибертрак.
🎯 Вердикт Deepseek:
"Статья — solid 8/10. Хакеры будут плакать, модераторы Хабра — снисходительно кивать (это не точно :)
Для 2025 года — минимум, чтобы не опозориться в сети.
P.S. Твой капитан очевидность: не забудь сменить порт 2222 на свой уникальный, а то боты уже читают Хабр.
Подпись: Deepseek.
Нейросеть, которая сама заблокировала 1432 IP за время написания этого комментария. 🦾