Все системы работают Амстердам · Париж · Рейкьявик +5 Оплата через Криптовалюта
Руководство

Укрепление нового Debian VPS за десять минут

Свежий VPS получает первую попытку SSH-брутфорса в течение нескольких минут после запуска. Это краткий, конкретный контрольный список, закрывающий лёгкие двери — ключи, брандмауэр, fail2ban, автообновления — до установки чего-либо ещё.

Обновлено 2026-06-12

Fenrir за укреплённым щитом

Посмотрите в журнал авторизации любого нового сервера, и фоновое излучение интернета появится немедленно: боты для подбора учётных данных, перебирающие словари против root, сканеры, зондирующие прошлогодние уязвимости, краулеры, снимающие отпечатки всего, что отвечает на порту 80. Ничего личного, и почти всё автоматизировано — а это хорошая новость: автоматизированные атаки побеждаются базовой гигиеной, применённой до развёртывания реальной нагрузки. Это руководство и есть та самая гигиена, сжатая до десяти минут на Debian 12/13 (всё переносится на Ubuntu с небольшими правками). Намеренно не четырёхтысячная фреймворк-инструкция: это именно те двери, которые реально пробуют боты, закрытые в порядке важности. Запустите на каждом сервере, который развернёте здесь, — а затем переходите к VPN, ноде или почтовому серверу, ради которых пришли.

Что намеренно пропускает этот контрольный список

Стук в порты, стены sysctl для усиления ядра, настройка SELinux/AppArmor, наборы обнаружения вторжений — все это реальные инструменты, ни один из которых не является первоочередным для VPS единственного назначения в первый день, и некоторые легко привести к блокировке. Принцип Парето здесь честен: ключи + без паролей + default-deny + автопатчи останавливают практически всю нецелевую компрометацию. Добавляйте тяжёлую артиллерию, когда ваша модель угроз называет конкретного противника, способного преодолеть основы, — и если конфиденциальность на уровне диска важна для вашей модели, помните, что слой KVM позволяет запустить полнодисковое шифрование внутри гостевой ОС.

Резервные копии — часть безопасности

Укрепление снижает вероятность; резервные копии ограничивают ущерб. Еженедельные снапшоты включены в каждый план, но снапшоты живут вместе с сервером — для всего, что нельзя потерять, также отправляйте зашифрованные офлайн-копии: restic или borg на второй сервер (Pup за $3.50 по ссылке в другом регионе отлично подходит как цель резервного копирования) займёт минуты на настройку. Протестируйте восстановление хотя бы один раз; непроверенная резервная копия — это надежда, а не план.

  1. Войти один раз, обновить всё
    apt update && apt full-upgrade -y && reboot

    Шаблоны — это снапшоты; разрыв между датой снапшота и сегодняшним днём — именно то окно, которое зондируют сканеры. Сначала применяйте патчи, перезагружайтесь в новое ядро, затем настраивайте.

  2. Создать пользователя и установить SSH-ключ
    adduser ops && usermod -aG sudo ops
    mkdir -p /home/ops/.ssh && nano /home/ops/.ssh/authorized_keys   # paste your ed25519 public key
    chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys && chown -R ops:ops /home/ops/.ssh

    Сгенерируйте ключ на локальной машине, если у вас его нет: ssh-keygen -t ed25519. Протестируйте ssh ops@your-ip во втором терминале перед продолжением.

  3. Заблокировать sshd

    Отредактируйте /etc/ssh/sshd_config.d/hardening.conf:

    PermitRootLogin no
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    MaxAuthTries 3
    AllowUsers ops

    Затем systemctl restart sshсначала убедившись, что сессия на основе ключа работает. Подбор пароля заканчивается здесь: угадывать нечего. Перевод порта на нестандартный снижает шум в журналах, но косметически, а не с точки зрения безопасности; делайте это для порядка, если хотите.

  4. Поднять брандмауэр с default-deny (nftables)

    Встроенный брандмауэр Debian, минимальный набор правил в /etc/nftables.conf:

    table inet filter {
      chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif lo accept
        tcp dport 22 accept
        icmp type echo-request limit rate 5/second accept
        icmpv6 type { echo-request, nd-neighbor-solicit, nd-neighbor-advert, nd-router-advert } accept
      }
    }

    systemctl enable --now nftables. Открывайте дополнительные порты только при развёртывании сервисов, которым они нужны — руководство по VPN открывает 51820/udp, руководство по почте 25/465/993 и т. д. Default-deny означает, что забытый тестовый демон становится недоступным, а не источником взлома.

  5. Добавить fail2ban для оставшегося шума
    apt install -y fail2ban
    printf "[sshd]
    enabled = true
    maxretry = 4
    bantime = 1h
    " > /etc/fail2ban/jail.d/ssh.local
    systemctl enable --now fail2ban

    При уже отключённых паролях это глубокая защита плюс гигиена журналов — повторные нарушители сбрасываются брандмауэром вместо того, чтобы засорять журнал авторизации.

  6. Включить автоматические обновления безопасности
    apt install -y unattended-upgrades
    dpkg-reconfigure -plow unattended-upgrades

    Команда безопасности Debian теперь патчит ваш сервер, пока вы спите. Самая эффективная строка на этой странице по числу нажатий клавиш: большинство реальных компрометаций эксплуатируют патчи, которые существовали месяцами.

  7. Двухминутная проверка

    Убедитесь в защищённости извне:

    ssh root@your-ip          # must be refused
    nmap -p- your-ip          # only 22 (and your service ports) open
    last -a; journalctl -u ssh -n 50   # familiarise yourself with normal

    При желании добавьте TOTP двухфакторную аутентификацию на вашем аккаунте VPSCrypto — панель может пересобрать или переустановить сервер, поэтому заслуживает той же заботы, что и root.

FAQ

Часто задаваемые вопросы

Стоит ли менять порт SSH?

Это контроль шума в журналах, а не безопасность — сканеры находят нестандартные порты за секунды с помощью masscan. Делайте это, если тихие журналы помогают замечать реальные аномалии; никогда не считайте это слоем защиты. Настоящая защита — аутентификация только по ключам и MaxAuthTries.

Нужен ли fail2ban, если пароли отключены?

Строго говоря, для SSH — нет: брутфорсить нечего. Он остаётся в списке, потому что также покрывает другие сервисы, которые вы можете добавить позже (почта, панели), и делает журналы читаемыми. Пропустите на минималистичном сервере, если предпочитаете.

Нужен ли брандмауэр VPS, если у хостинга есть защита от DDoS?

Они решают разные проблемы. Защита от DDoS upstream поглощает флуд; ваша политика nftables контролирует, какие сервисы вообще доступны. Default-deny — о забытом демоне, а не о гигабитах.

А что насчёт Ubuntu вместо Debian?

Всё применимо; Ubuntu поставляется с ufw как более удобным интерфейсом (ufw default deny incoming; ufw allow 22/tcp; ufw enable) и включает unattended-upgrades по умолчанию в последних релизах. Усиление sshd идентично.

Как восстановить доступ, если я заблокировал себя?

Используйте консольный доступ в вашей личной панели — он независим от sshd, поэтому вы можете исправить неверную конфигурацию или восстановить снапшот. Именно поэтому вы тестируете новую конфигурацию SSH во втором сеансе, не закрывая первый.

Разверните офшорный VPS примерно за минуту

Без KYC, оплата криптовалютой, только NVMe. Выберите тариф, оплатите в Monero или любой крупной монете — root-доступ примерно через 60 секунд.

Fenrir на страже