Сканирование на вредоносное ПО и руткиты: rkhunter и ClamAV
Защитите Linux-сервер от вредоносного ПО и руткитов. Установка rkhunter и ClamAV, настройка сканирования, интерпретация результатов, планирование сканирований и реагирование на инциденты.
Принципы сетевой безопасности Zero Trust и практическая реализация: никогда не доверяй всегда проверяй, микросегментация, доступ на основе идентификации и реализация с существующими инструментами Linux.
Традиционная модель сетевой безопасности доверяет всему внутри внутренней сети. Модель Zero Trust отстаивает противоположное: «Никогда не доверяй, всегда проверяй». Этот подход критически важен в современных облачных и гибридных средах.
Zero Trust — модель безопасности, определённая аналитиками Forrester Research в 2010 году. Её основное предположение: Ни одному пользователю, устройству или сервису внутри или вне сети не доверяют автоматически.
| Характеристика | Традиционный | Zero Trust |
|---|---|---|
| Модель доверия | Доверять внутренней сети | Не доверять ничему |
| Аутентификация | На периметре сети | При каждом доступе |
| Контроль доступа | На основе IP | На основе идентификации |
| Сегментация | Плоская сеть | Микросегментация |
| Мониторинг | Ориентирован на периметр | Везде |
# Создать SSH CA
mkdir -p /etc/ssh/ca
cd /etc/ssh/ca
# Создать пару ключей CA
ssh-keygen -t ed25519 -f ssh_ca -C "SSH Certificate Authority"
# Подписать ключ пользователя
ssh-keygen -s /etc/ssh/ca/ssh_ca \
-I "пользователь@хост" \
-n имя_пользователя \
-V +52w \
~/.ssh/id_ed25519.pub
# Конфигурация SSH для Zero Trust
PasswordAuthentication no
ChallengeResponseAuthentication no
TrustedUserCAKeys /etc/ssh/ca/ssh_ca.pub
PermitRootLogin no
AllowUsers deploy admin
ClientAliveInterval 300
ClientAliveCountMax 2
# Политики по умолчанию
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# Разрешить loopback
sudo iptables -A INPUT -i lo -j ACCEPT
# Разрешить установленные соединения
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH-доступ (только из сети управления)
sudo iptables -A INPUT -p tcp --dport 22 -s 10.0.1.0/24 -j ACCEPT
# Веб-сервер (публичный)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# База данных (только с веб-сервера)
sudo iptables -A INPUT -p tcp --dport 3306 -s 10.0.2.10 -j ACCEPT
# Логировать и отклонять всё остальное
sudo iptables -A INPUT -j LOG --log-prefix "DROPPED: "
sudo iptables -A INPUT -j DROP
# Многофакторная аутентификация с PAM
sudo apt install libpam-google-authenticator -y
google-authenticator
# /etc/pam.d/sshd
auth required pam_google_authenticator.so
# Конфигурация SSH
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
# Установить auditd
sudo apt install auditd -y
# Мониторинг критических файлов
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
sudo auditctl -w /etc/shadow -p wa -k shadow_changes
sudo auditctl -w /etc/sudoers -p wa -k sudoers_changes
# Мониторинг сетевых соединений
sudo auditctl -a always,exit -F arch=b64 -S connect -k network_connect
# Просмотр журналов аудита
sudo ausearch -k passwd_changes
sudo aureport --auth
# /etc/systemd/system/myapp.service
[Service]
User=myapp
Group=myapp
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/myapp
CapabilityBoundingSet=
docker network create --driver bridge --subnet 172.20.0.0/24 frontend-net
docker network create --driver bridge --subnet 172.21.0.0/24 backend-net
docker network create --driver bridge --subnet 172.22.0.0/24 db-net
Zero Trust — это философия, а не продукт. Начните с существующих инструментов и постепенно повышайте уровень зрелости. Стремитесь к непрерывному совершенствованию, а не к совершенству.
Zero Trust — комплексный подход к безопасности, необходимый для современных угроз. С помощью инструментов Linux можно реализовать базовые принципы Zero Trust. SSH-сертификаты, микросегментация, MFA и непрерывный мониторинг могут значительно укрепить вашу позицию безопасности.
Zero Trust можно реализовывать постепенно. Начните с SSH-аутентификации на основе ключей и базовых правил брандмауэра. Со временем добавьте MFA, микросегментацию и непрерывный мониторинг.
Да, но Zero Trust может заменить VPN. Традиционный VPN предоставляет широкий доступ после входа в сеть. Zero Trust требует отдельной аутентификации для каждого ресурса. Современные VPN, такие как WireGuard, можно настроить в соответствии с принципами Zero Trust.
Да, это даже более критично для небольших серверов. Даже на одном сервере реализация SSH-аутентификации на основе ключей, Fail2Ban и базовых правил брандмауэра формирует основу Zero Trust.
Современные правила iptables/nftables имеют очень низкие накладные расходы. Правильно настроенная микросегментация оказывает незначительное влияние на производительность.
В экосистеме Linux: iptables/nftables (микросегментация), PAM (аутентификация), auditd (аудит), Fail2Ban (автоматическая блокировка), WireGuard (безопасный туннель), HashiCorp Vault (управление секретами).
Защитите Linux-сервер от вредоносного ПО и руткитов. Установка rkhunter и ClamAV, настройка сканирования, интерпретация результатов, планирование сканирований и реагирование на инциденты.
Защитите сервер от SSH брутфорс-атак с помощью Fail2Ban. Установка, настройка jail.local, джейлы для Nginx/Apache, белый список IP, мониторинг блокировок и email-уведомления.
Настройте VPN-сервер WireGuard: генерация ключей, конфигурация сервера и клиента, IP-пересылка, правила брандмауэра и настройка клиентов Windows/Linux/Android.