Duty-Free.cc

Пошаговая шпаргалка по защите сайта от хакеров и другой нечисти

С каждым годом технологии развиваются, появляются новые способы защиты от хакеров. Защитить собственный сайт от скрипткидди, ботов, автоматических сканнеров стало еще проще. В этой короткой заметке я расскажу вам как можно усложнить жизнь злоумышленнику=) Начнем с классических вещей.

  1. Используйте сложные пароли для доступа к аккаунтам с административными правами. Генерируйте сложный пароль и храните его в надежном месте.
  2. Защитите аккаунт с помощью MFA.
  3. Закройте доступ к страничкам, которые не предназначены для гостей/пользователей без административных прав. К примеру вход в админку. Если вы используете веб сервер apache, то это можно сделать через файл .htaccess. Разрешите доступ только со своего IP. Если вы не нуждаетесь в комментариях, то их тоже закройте, хакеры подставляют туда полезные нагрузки для sqli/xss например. Если даже движок проверенный, то зачем вам хранить лишнюю информацию или нагружать сервер. Отключите API, регистрацию и другой функционал если он не требуется.

cloudflare –> security –> waf

Далее вы можете оставить функционал, который необходим только для вас (администратора) разрешив только с вашего ip. Например если вы используете wordpress, то вы можете разрешить доступ к wp-login.php, xmlrpc.php, /wp-json/ только с вашего ip. Тем самым хакеры не смогут собирать зарегистрированных пользователей с помощью эндпоинтов, брутфорсить форму авторизации и если даже произойдет несчастье и хакер заполучит креды от админки, то во первых он не сможет авторизоваться. А во вторых если даже и сможет, то он будет сильно ограничен поскольку, вы запретили доступ к /wp-json/ он не сможет отправлять новости, будут в консоль браузера лететь ошибки. Вы можете через CF WAF обрезать ему многие административные возможности и обезопасить себя.

4. Закройте все порты. Стоит тщательно позаботиться о том, чтобы ни один порт не торчал снаружи. Например если открыт SSH вас 100% будут брутить дефолт кредами. Неприятно – это создает нагрузку на сервер. Как правильно настроить ssh вы можете посмотреть на ютубе. Доступ к SSH сделайте только через свой ip.

5. Ищите нормального хостера, который предоставляет возможность подключаться через VNC. Это на случай если вы что-то сломаете в настройках сети и не сможете подключиться по SSH.

6. Используйте firewall например ufw, чтобы закрыть все порты для всех ip, кроме своего или если вы используете cloudflare, то добавьте пулл клауда.

7. Активно мониторьте censys, fofa и другие SE, проверяйте не утек ли реальный айпи вашего сервера.

8. Обновляйте версию cms, ставьте патчи, не используйте не проверенные плагины. Лучше плагины вообще не используйте=)

9. Защитите сайт от ddos-атак. Если вас уже начали досить, то выкручивайте настройки cloudflare на максимум. Включите режим, что вы под атакой и тогда всем подряд будет показываться капча. Настройте рейт лимиты. Эти базовые настройки мне помогли защититься от мамкиных хакеров=))

10. Защитите свой приватный ключ для ssh паролем, чтобы даже, если хакер его заполучит ему придется брутить пароль.

11. Правильно настройте права, чтобы конфигурационные файлы нельзя было читать гостям, в том числе и скрытые файлы из разряда .env, .git.


Следуя этим простым 11 пунктам вы защититесь от 90% атак скрипткидди, ваш сайт просто будут обходить стороной. Но расслабляться никогда не стоит. Лучше обратиться к специалисту, который все проверит на безопасность.