Защита сервера: чек-лист из 40 пунктов для системного администратора
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. 15+ лет я занимаюсь серверной инфраструктурой и последние годы часто принимаю серверы, которые «уже настроены». Каждый раз одна и та же картина: что-то сделано, чего-то нет, дыры размером с автобус. Я разработал внутренний чек-лист из 40 пунктов, который прохожу при приёмке и периодическом аудите любого сервера. Делюсь им целиком — с пояснениями и командами.
Раздел 1: сеть и файрвол
- Закрыт доступ по SSH отовсюду, кроме VPN и белых IP. Публичный 22-й порт — приглашение для брутфорса.
- На периметре работает stateful firewall. iptables/nftables или Windows Defender Firewall в режиме block-all-inbound.
- Включён fail2ban или аналог. 5 неудачных логинов = бан на 24 часа.
- Отключены IPv6, если не используется. Часто админы закрывают IPv4, забывая про v6.
- Нет открытых портов RDP, SMB, MySQL, PostgreSQL наружу. Всё через VPN.
- Rate limiting на публичные сервисы. nginx limit_req, HAProxy rate, Cloudflare.
- Port knocking или 2FA на SSH. Дополнительный уровень для критичных серверов.
# Быстрый аудит открытых портов
ss -tuln
nmap -sS -p 1-65535 localhost
# Проверка fail2ban
fail2ban-client status
fail2ban-client status sshd
Раздел 2: учётные записи и доступ
- SSH только по ключам, пароль отключён. PasswordAuthentication no.
- root через SSH запрещён. PermitRootLogin no.
- Отключены неиспользуемые системные учётки. usermod -L for unused.
- Ведётся журнал всех sudo-команд. /etc/sudoers Defaults logfile.
- У каждого сотрудника IT свой именной аккаунт. Не "admin" на всех.
- 2FA на админские VPN-входы. TOTP, аппаратный ключ.
- Парольная политика: минимум 14 символов, сложность, срок.
- Раз в квартал — аудит активных учёток и вывод уволенных.
Раздел 3: обновления и патчи
- Включены автоматические security-обновления. unattended-upgrades на Debian/Ubuntu, dnf-automatic на Rocky.
- Ядро обновлено. uname -a, сравнить с последним в репозитории.
- Приложения (nginx, apache, php, mysql) — не EOL.
- Окно обслуживания раз в неделю с планом отката.
- Критические CVE закрываются в течение 72 часов.
# Аудит уязвимостей
apt list --upgradable
debsecan --suite bookworm --format detail
# или RHEL
dnf updateinfo list security
Раздел 4: логирование и мониторинг
- Журналы уходят на централизованный syslog/Graylog. Злоумышленник не сотрёт.
- Ротация логов настроена, диск не забивается. logrotate в /etc/logrotate.d/.
- Аудит безопасности включён. auditd на Linux, Advanced Audit Policy на Windows.
- Мониторинг Zabbix/Prometheus покрывает CPU, RAM, диск, сеть, сервисы.
- Алерты идут в Telegram/email админам 24/7.
- AIDE/Tripwire контролирует целостность критичных файлов.
# Настройка AIDE
apt install -y aide
aide --init
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
# Раз в сутки через cron
aide --check
Раздел 5: антивирус и защита от вредоносного кода
- ClamAV на файловых серверах и почтовиках с ежедневным обновлением баз.
- rkhunter или chkrootkit раз в неделю.
- Ограничение запуска из /tmp, /home (noexec для Linux).
- SELinux или AppArmor в enforcing mode для критичных сервисов.
- ModSecurity/CRS перед публичным веб-сервером.
Раздел 6: бэкапы и восстановление
- Ежедневный бэкап критичных данных. restic, borg, Veeam.
- Бэкап на отдельной площадке. S3, NAS в другом офисе, дата-центр.
- Шифрование бэкапов AES-256 с сохранением ключа отдельно.
- Retention-политика: ежедневные 14 дней, еженедельные 8, ежемесячные 12.
- Ежемесячный тестовый restore. Непроверенный бэкап — это надежда.
Раздел 7: документация и процессы
- Инвентаризация железа и ПО в едином реестре. Snipe-IT, GLPI, Excel.
- Runbook для типовых инцидентов. Что делать, если упал/взломан/заблокирован.
- Пароли в защищённом хранилище. Bitwarden, KeePass, Vaultwarden.
- Ежеквартальный аудит защиты с прохождением всего чек-листа.
Реальный кейс: приёмка сервера у нового клиента
В октябре 2025 нас пригласили после увольнения их штатного админа. Один основной сервер на Ubuntu 20.04, всё сидит на нём: веб-сайт, почта, 1С-база, файловая шара. Мы прогнали чек-лист — 40 пунктов, 11 провалов:
- SSH на 22-м порту открыт наружу, fail2ban не настроен.
- Пароль root на SSH не отключён.
- Ubuntu 20.04 вышла из стандартной поддержки — 2 года без security-патчей.
- Бэкапы на соседний диск того же сервера, шифрования нет.
- Логи только локальные, без централизации.
- Мониторинг — только SMS от провайдера о недоступности.
- В /tmp можно исполнять — злоумышленник грузит малварь.
- MySQL слушает 0.0.0.0 вместо 127.0.0.1.
За 3 рабочих дня всё привели в порядок. Сервер перенесли на новый Dell PowerEdge R650 (Xeon Platinum 8280, 128 ГБ RAM, 40G Mellanox) в дата-центр МТС. Поставили Debian 12, Samba, ClamAV, fail2ban, AIDE, Graylog, restic+S3. Стоимость проекта — 260 000 ₽. Через неделю наша Zabbix засекла попытки сканирования — атакующие обнаружили, что легкой добычи больше нет.
Приоритеты: что делать в первую очередь
| Приоритет | Пункты из чек-листа | Срок |
|---|---|---|
| КРИТИЧНО | 1, 3, 8, 9, 16, 32 | В первый день |
| ВЫСОКИЙ | 2, 11, 13, 21, 24, 33, 36 | В первую неделю |
| СРЕДНИЙ | Остальные | В первый месяц |
| НИЗКИЙ | 7, 30, 38 | В квартал |
Аудит и защита серверной инфраструктуры
Проведу комплексный аудит по 40-пунктному чек-листу, закрою критические дыры, настрою мониторинг, бэкапы, обновления. Срок — 1-5 рабочих дней в зависимости от парка.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы о защите сервера
- С чего начинать защиту?
- Закрыть лишние порты, включить firewall, SSH по ключам, fail2ban, auto-updates.
- Нужен ли антивирус на Linux?
- На файловых — обязательно (ClamAV). На веб/БД — IDS + rkhunter + AIDE.
- Как часто обновлять?
- Security — 24-72ч. Обычные — раз в неделю. Ядро — раз в квартал.
- Какие порты открывать наружу?
- 443, 25/587/993. SSH/RDP/БД — только через VPN.
- Достаточно ли одного бэкапа?
- Нет, правило 3-2-1 + тестовый restore.