Контрольный список по укреплению безопасности производственных Linux-серверов: SSH, UFW, Fail2ban и стандарты CIS

Развертывание общедоступного Linux VPS бе�� защитной настройки делает его уязвимым для автоматизированных атак с подстановкой учетных данных, брутфорс-сканирования и эксплойтов повышения привилегий уже через несколько минут после выхода в сеть. В этом контрольном списке мы реализуем архитектуру эшелонированной обороны , соответствующую стандартам Center for Internet Security (CIS) уровня 1.

Enterprise Linux Server Hardening & Defense-in-Depth Architecture
Рис. 1: 4-уровневая эшелонированная оборона: криптографический SSH, входящий UFW, джайлы Fail2ban & аудит ядра CIS.

1. Шаг 1: Применение криптографических SSH-ключей

Отключите всю аутентификацию SSH по паролю и принудительно используйте ��овременные ключи на эллиптических кривых в /etc/ssh/sshd_config:

# /etc/ssh/sshd_config Hardening
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

Сгенерируйте ключи с помощью ssh-keygen -t ed25519 -a 100 на вашей локальной рабочей станции и проверьте соединение перед перезапуском демона SSH с помощью sudo systemctl reload sshd.

2. Шаг 2: Изоляция входящего трафика с помощью Uncomplicated Firewall (UFW)

Установите строгую политику входящего трафика по умолчанию «запретить все» и сделайте общедоступными только необходимые веб-сервисы:

# Reset and enforce default deny
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Allow HTTP and HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Restrict SSH to custom management subnet if applicable
sudo ufw allow 22/tcp

# Enable and inspect
sudo ufw enable
sudo ufw status verbose

3. Шаг 3: Автоматическое ограничение частоты запросов с помощью Fail2ban

Настройте Fail2ban для мониторинга журналов аутентификации и потоков ошибок HTTP Nginx, автоматически блокируя нарушающие прави��а IP-адреса с помощью iptables:

# /etc/fail2ban/jail.local
[DEFAULT]
bantime = 86400
findtime = 600
maxretry = 3
banaction = ufw

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log

[nginx-botsearch]
enabled = true
port = http,https
filter = nginx-botsearch
logpath = /var/log/nginx/*error.log
maxretry = 2

4. Шаг 4: Аудит CIS & Автоматические обновления безопасности

Включите автоматическую фоновую установку патчей безопасности и выполняйте периодический аудит соответствия требованиям:

# Enable automated security updates
sudo apt install unattended-upgrades update-notifier-common
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Verify /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::Automatic-Reboot "false";

5. Шаг 5: Укрепление безопасности точек монтирования & файловой системы разделяемой памяти

Злоумышленники, получившие ограниченный доступ к оболочке, часто запускают вредоносные бинарные файлы из каталогов, доступных для записи всем, таких как /tmp и /dev/shm. Защитите эти точки монтирования, доб��вив защитные флаги в /etc/fstab:

# /etc/fstab Hardening
tmpfs /tmp tmpfs defaults,nosuid,nodev,noexec,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,nosuid,nodev,noexec,mode=1777 0 0
tmpfs /dev/shm tmpfs defaults,nosuid,nodev,noexec 0 0

Флаг noexec предотвращает выполнение любых бинарных файлов или скриптов непосредственно из каталога, нейтрализуя распространенные случаи размещения шеллов веб-приложений.

6. Шаг 6: Самозащита ядра & Сетевая безопасность с помощью Sysctl

Укрепите сетевой стек Linux против IP-спуфинга, SYN-флуд-атак и манипуляций с перенаправлением ICMP путем настройки /etc/sysctl.d/50-security.conf:

# Reverse Path Filtering (Mitigate IP Spoofing)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Ignore ICMP Broadcast Requests & Smurf Attacks
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Disable ICMP Redirect Acceptance (Mitigate Man-in-the-Middle)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# Prevent Rogue Source-Routed Packets
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Protect Hardlinks and Symlinks against TOCTOU Race Conditions
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

# Maximize Address Space Layout Randomization (ASLR)
kernel.randomize_va_space = 2

7. Шаг 7: Автоматизированный аудит соответствия требованиям с помощью Lynis

Регулярно проверяйте соответствие системы стандартам CIS с помощью Lynis — инструмента аудита безопасности с открытым исходным кодом:

# Install and run Lynis security audit
sudo apt install lynis
sudo lynis audit system --quick

# Review Lynis hardening index and generated warnings
grep "Hardening index" /var/log/lynis.log
grep "WARNING" /var/log/lynis.log

Стремитесь к показателю индекса защиты Lynis 80 или выше на производственных средах веб-хостинга.

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

Достаточно ли изменить порт SSH по умолчанию (22) для защиты сервера?

Изменение порта SSH на нестандартный (например, 2222) сокращает сканирование автоматическими ботами в журналах доступа, но это всего лишь безопасность через неясность. Простое сканирование портов с помощью Nmap немедленно обнаружит прослушиваемый SSH-сервис. Подлинную безопасность обеспечивают применение криптографических ключей, отключение входа под root по паролю и ограничение частоты запросов Fail2ban.

Как разблокировать IP-адрес администратора, случайно заблокированный Fail2ban?

Если администратор вводит неверные учетные данные и вызывает блокировку в джайле, подключитесь с дополнительного IP-адреса из белого списка или из внеполосной консоли хостинг-провайдера, а затем выполните:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Вы также можете навсегда добавить IP-подсети административного офиса в белый список, добавив их в директиву ignoreip в /etc/fail2ban/jail.local.

В чем разница между уровнем 1 и уровнем 2 стандартов CIS Benchmark?

Уровень 1 CIS предоставляет средства защитной безопасности, которые могут быть применены с минимальным риском нарушения работы обычного операционного ПО. Уровень 2 реализует меры эшелонированной обороны (такие как строгие политики обязательного контроля доступа, ограниченные модули ядра и агрессивная изоляция файловой системы), которые требуют индивидуальной настройки приложений во избежание операционных конфликтов.

Почему рандомизация пространства адресных строк (ASLR = 2) имеет критическое значение?

Установка kernel.randomize_va_space = 2 рандомизирует адреса памяти стека, страницы VDSO, библиотек разделяемой памяти и сегмента данных. Это мешает эксплойтам повреждения памяти (таким как переполнение буфера и атаки с возвратом к программированию, ROP) предсказывать целевые области исполняемой памяти.

Резюме & Базовый уровень облачной безопасности

Укрепление безопасности Linux-сервера требует многоуровневого защитного подхода. Внедряя пары криптографических SSH-ключей, строгую изоляцию входящего брандмауэра, предотвращение вторжений Fail2ban, защищенные точки монтирования разделяемой памяти и аудит по стандартам CIS, системные администраторы гарантируют, что производственные инстансы останутся устойчивыми к автоматизированным атакам.

Развернуть предварительно защищенный облачный VPS

Развертывайте защищенные Linux-инстансы со встроенной фильтрацией DDoS, хран��лищем NVMe и изолированными виртуальными сетями на WinWinHost.

Изучить защищенный облачный VPS →

WinWinHost News & Tutorials

Unlimited Website Edits via Autonomous AI

WinWinHost launches Unlimited Website Edits powered by autonomous AI engineering. Get continuous content revisions, mobile UI polish, technical SEO, and Core Web Vitals optimization with zero hourly fees and zero downtime.

New Product: Autonomous AI Web Developer Agent for $10/mo

WinWinHost introduces autonomous AI Web Developer Agents for just $10/month per domain. Each dedicated agent continuously monitors site health, resolves layout regressions, optimizes PageSpeed scores, and executes code updates with zero developer hourly fees.

Link Directory Plugin Released

Link Directory Plugin was released and we hope that this can help you to make a link directory website from your wordpress installation in just a few minutes.Right now the plugin has a lot of features but we are working to make even more options available to you.

Monetize Your Website

If you want to monetize your website via a payday loan affiliate network then you should know that are some nice networks out there like WinWinHost Network that can be a profitable way for your business.

Payday Loan Affiliate Plugin Released

Now you can earn money by generating leads with your wordpress website. We have created an wordpress plugin that adds a Payday Loan form to your website that you can customize in many ways.

What you can do with a domain name

Getting your own domain is really a huge step for anyone who wants to have an online presence. It changes the whole way a person work. Many people get domain names for individual reasons

The Shift to Edge Computing and Its Impact on Web Hosting

Explore how edge computing and distributed content delivery networks are redefining the speed, security, and scalability of modern web hosting.

WordPress Stats and Global Use

WordPress powers over 43% of the web. Learn more about the latest CMS market share growth metrics and global usage stats.

Google+ - The New Social Network

Google said it would begin the project of building a social networking platform that can compete against the more known Facebook and makes online communication a reality today.

Microsoft Office 365

Microsoft announced the launch of a cloud service called Office 365 which will bring together Microsoft Office, Microsoft Lync Online, Microsoft Exchange Online, and Microsoft SharePoint Online.

How to maintain your web hosting reseller account

One of the most efficient business on the Internet at this moment is selling web space known as web hosting reseller. It is the perfect solution for those who want to sell web space with a small investment.

Advantages of reselling Windows server space

Generally when you want to become a web hosting reseller you should consider everything carefully before starting to provide such services. It is better to decide if it is in your advantage to provide space on a Windows server.

About SEO

All the companies/individuals who have contact with the online environment and manage to make profit from its activities on the Internet, always want to improve the performance of his websites and this can be best done by using SEO.

ICANN approves new suffixes

ICANN (Internet Corporation for Assigned Names and Numbers) approved the measure after which anyone can register domains with custom suffixes.

Need Help?

Have questions about our hosting plans or custom software development? Reach out to our experts anytime.