Перейти к содержимому

Пост канала

ZeroDay | Кибербезопасность
  1. фото

    Как настроить новый VPS и не оставить его открытым для всех 👋 Приветствую в мире цифровой безопасности! Получить IP и пароль от VPS - это мало. Свежий сервер уже через несколько минут начинают находить автоматические сканеры, поэтому перед деплоем сайта или бота лучше сначала закрыть базовые точки входа. ⏺Первое, что стоит сделать после входа, обновить систему: sudo apt update && sudo apt upgrade -y После этого создаём отдельного пользователя с sudo. Постоянно работать под root точно не стоит: sudo adduser admin sudo usermod -aG sudo admin ⏺Следующий шаг, SSH-ключи. На своём компьютере создаём пару: ssh-keygen -t ed25519 ssh-copy-id admin@SERVER_IP Проверяем, что новый пользователь действительно входит по ключу, и только после этого запрещаем удалённый вход для root: PermitRootLogin no PasswordAuthentication no Затем проверяем конфигурацию и перечитываем SSH: sudo sshd -t sudo systemctl reload ssh Старую SSH-сессию лучше пока не закрывать. Ошибка в конфиге или ключах иначе легко оставит вас с сервером, в который больше нельзя войти. ⏺Теперь файрвол. Если серверу нужны только SSH и обычный веб-трафик: sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow OpenSSH sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable sudo ufw status verbose Порты приложения вроде 3000, 8000 или 8080 наружу открывать обычно не нужно. Их можно слушать только на 127.0.0.1, а внешний трафик принимать через Nginx. ⏺Для SSH можно добавить Fail2ban: sudo apt install fail2ban sudo systemctl enable --now fail2ban sudo fail2ban-client status Он следит за логами и блокирует адреса после серии неудачных попыток входа. Это не замена ключам и файрволу, а дополнительный слой защиты. ⏺Само приложение тоже лучше не запускать от root. Для systemd можно создать отдельного системного пользователя и добавить ограничения: [Service] User=myapp NoNewPrivileges=true PrivateTmp=true ProtectSystem=full ProtectHome=true Даже если в приложении найдётся уязвимость, процесс будет работать с гораздо меньшими правами. ⏺И наконец, проверяем, что вообще торчит наружу: ss -tulpn sudo ufw status systemctl --failed У нового VPS с сайтом снаружи обычно должны быть доступны только действительно необходимые сервисы. База данных, Redis, внутренний API и служебные панели без причины выставлять в интернет не стоит. 🤖Бесплатный ChatGPT

    Открыть в MAX
    Просмотры
    359
    ER
    0,3%
    Реакции
    1