---
title: 'Аудит безопасности VPS: Lynis, rkhunter, nmap | Zomro'
description: ''
image: 'https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/05/31/image_JDg3flB_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Аудит безопасности VPS: Lynis, rkhunter, nmap 



# Аудит безопасности VPS: Lynis, rkhunter, nmap

31-05-2026

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/05/31/image_JDg3flB_q50.jpg)

Проверить безопасность своего сервера нужно не после инцидента, а до него. Набор инструментов для базового аудита: Lynis проверяет системную конфигурацию и выдаёт оценку с рекомендациями, rkhunter и chkrootkit ищут руткиты и подозрительные файлы, nmap показывает, что видно снаружи. Разберём каждый инструмент с реальными командами и интерпретацией вывода.

## 

## Lynis: системный аудит

Lynis - утилита аудита безопасности для Linux, macOS и BSD. Она проверяет более 300 параметров: конфигурацию SSH, права на файлы, наличие обновлений, настройки PAM, состояние файрвола и многое другое. Результат - числовая оценка от 0 до 100 (Hardening Index).

### 

### Установка

На Ubuntu 24.04 лучше использовать официальный репозиторий CISOfy для актуальной версии (3.1.x):
    
    
    sudo apt install apt-transport-https -y
    curl -fsSL https://packages.cisofy.com/keys/cisofy-software-public.key | sudo gpg --dearmor -o /usr/share/keyrings/cisofy.gpg
    echo "deb [signed-by=/usr/share/keyrings/cisofy.gpg] https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
    sudo apt update
    sudo apt install lynis -y
    lynis --version
    # Lynis 3.1.2

### 

### Запуск полного аудита
    
    
    sudo lynis audit system

Аудит занимает 1-3 минуты. Вывод цветной: зелёный (ОК), жёлтый (предупреждение), красный (проблема).

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/05/31/image_PdHT5cF_q50.jpg)

### 

### 

### Интерпретация результатов

Вывод делится на секции:
    
    
    [+] Boot and services
    [+] Kernel
    [+] Memory and processes
    [+] Authentication
    [+] Shell
    [+] File systems
    [+] SSH
    [+] Firewalls

В конце - сводка:
    
    
    Hardening index : 63 [############ ]

Индекс ниже 50 - сервер в базовом состоянии, требует работы. 70-80 - хорошо настроенный сервер. Выше 85 - значительная работа по харденингу выполнена.

Критические предупреждения (WARNINGS) нужно исправлять в первую очередь. Suggestions - рекомендации, которые повысят индекс.

Пример предупреждения:
    
    
    ! Found one or more vulnerable packages [PKG-7392]
        - Solution: apt-get upgrade

Пример suggestion:
    
    
    * Consider hardening SSH configuration [SSH-7408]
        - Details  : AllowTcpForwarding (set YES to NO)

### 

### Просмотр деталей по коду
    
    
    lynis show details SSH-7408

### 

### Логи и отчёт
    
    
    # Подробный отчёт
    cat /var/log/lynis.log
    
    # Машиночитаемый отчёт (для скриптов)
    cat /var/log/lynis-report.dat | grep "^warning\|^suggestion" | head -30

### 

### Только проверка конкретной категории
    
    
    # Только SSH
    sudo lynis audit system --tests-from-group ssh
    
    # Только файловая система
    sudo lynis audit system --tests-from-group filesystem

## 

## rkhunter: поиск руткитов

rkhunter (Rootkit Hunter) версии 1.4.6 проверяет файлы системы на признаки руткитов, сканирует backdoor-порты, ищет подозрительные строки в конфигах.

### Установка и первоначальная настройка
    
    
    sudo apt install rkhunter -y
    
    # Обновить базу данных хэшей
    sudo rkhunter --update
    
    # Создать эталонный снимок системы (baseline)
    sudo rkhunter --propupd

Команда `--propupd` записывает хэши всех системных файлов. При последующих проверках rkhunter сравнивает текущие хэши с эталонными. Запускайте `--propupd` только после обновлений пакетов - иначе изменённые файлы будут ложно помечены как подозрительные.

### 

### 

### Запуск проверки
    
    
    sudo rkhunter --check

При проверке нажимайте Enter для продолжения или запустите в автоматическом режиме:
    
    
    sudo rkhunter --check --skip-keypress --report-warnings-only

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/05/31/image_5K1dIUs_q50.jpg)

### 

### 

### Настройка /etc/rkhunter.conf

Важные параметры для снижения ложных срабатываний:
    
    
    # Разрешённые скрытые директории (например, .git)
    ALLOWHIDDENDIR=/dev/.udev
    ALLOWHIDDENDIR=/dev/.static
    
    # Разрешённые прослушиваемые приложения
    SCRIPTWHITELIST=/usr/bin/groups
    SCRIPTWHITELIST=/usr/bin/ldd
    
    # Разрешить строку PermitRootLogin yes в sshd (если нужно)
    ALLOW_SSH_ROOT_USER=yes
    
    # Email-уведомления
    MAIL_ON_WARNING=admin@example.com
    MAIL_CMD=mail -s "[rkhunter] Warning: $(hostname)"

### 

### Автоматизация через cron
    
    
    sudo crontab -e
    # Добавляем:
    0 3 * * * /usr/bin/rkhunter --check --skip-keypress --report-warnings-only 2>&1 | mail -s "rkhunter report $(hostname)" admin@example.com

## 

## 

## chkrootkit: дополнительная проверка

chkrootkit дополняет rkhunter - у них разные базы сигнатур, поэтому стоит использовать оба.
    
    
    sudo apt install chkrootkit -y
    sudo chkrootkit

Вывод простой: `INFECTED` \- проблема найдена, `not infected` \- чисто. Ложные срабатывания возможны - проверяйте подозрительные строки вручную.
    
    
    # Проверить конкретный руткит
    sudo chkrootkit suckit
    sudo chkrootkit lrk3
    
    # Только вывод предупреждений
    sudo chkrootkit | grep INFECTED

## 

## 

## Проверка открытых портов

### ss - встроенный инструмент
    
    
    # Все открытые TCP-порты с процессами
    sudo ss -tlnp
    
    # Все UDP-порты
    sudo ss -ulnp
    
    # Все слушающие сокеты (TCP + UDP)
    sudo ss -lnp

Пример вывода `ss -tlnp`:
    
    
    State  Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
    LISTEN 0       4096    0.0.0.0:22          0.0.0.0:*          users:(("sshd",pid=892))
    LISTEN 0       511     0.0.0.0:80          0.0.0.0:*          users:(("nginx",pid=1234))
    LISTEN 0       511     0.0.0.0:443         0.0.0.0:*          users:(("nginx",pid=1234))

Порты, которых не должно быть в этом списке, - потенциальные признаки взлома.

### 

### 

### nmap - сканирование снаружи

Установка nmap и сканирование своего сервера:
    
    
    sudo apt install nmap -y
    
    # Сканирование с другого сервера или локальной машины
    nmap -sV -p- --open 185.10.20.30
    
    # Быстрое сканирование топ-1000 портов
    nmap -sV 185.10.20.30
    
    # Определение ОС и версий сервисов
    sudo nmap -A 185.10.20.30

Главный вопрос при анализе вывода: каждый ли открытый порт вам известен и нужен? Если `nmap` показывает открытый порт 5432 (PostgreSQL) - он должен быть закрыт для внешнего мира через firewall.
    
    
    # Проверить, фильтруется ли порт файрволом
    nmap -p 5432 185.10.20.30
    # Если "filtered" - файрвол закрыл. "open" - доступен снаружи.

## 

## 

## Анализ логов auth.log

Лог `/var/log/auth.log` фиксирует все попытки аутентификации.
    
    
    # Неудачные попытки SSH-логина
    grep "Failed password" /var/log/auth.log | tail -20
    
    # Успешные входы (подозрительные)
    grep "Accepted" /var/log/auth.log
    
    # Топ IP по числу неудачных попыток
    grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -10
    
    # Использование sudo
    grep "sudo" /var/log/auth.log | grep -v "pam_unix\|session"
    
    # Создание новых пользователей
    grep "useradd\|usermod" /var/log/auth.log

Признаки взлома в логах:

  * Успешный вход с нового IP в нерабочее время

  * Записи `CRON` с незнакомыми командами

  * Команда `sudo su` от непривилегированного пользователя



    
    
    # Последние логины всех пользователей
    last -20
    
    # Неудачные попытки sudo
    sudo grep "sudo.*incorrect password" /var/log/auth.log

![](https://cdn.zomro.com/uploads/blog/a48%40server-panel.net/2026/05/31/image_azgvPTB_q50.jpg)

## 

## 

## Итоговый чеклист аудита

Инструмент |  Команда |  Что проверяет  
---|---|---  
Lynis |  `lynis audit system` |  Конфигурация системы, Hardening Index  
rkhunter |  `rkhunter --check --skip-keypress` |  Руткиты, backdoor-порты  
chkrootkit |  `chkrootkit` |  Альтернативная база руткитов  
ss |  `ss -tlnp` |  Открытые порты изнутри  
nmap |  `nmap -sV 1.2.3.4` |  Открытые порты снаружи  
auth.log |  `grep "Failed|Accepted" /var/log/auth.log` |  Попытки входа  
  
Аудит - не разовое мероприятие. Запускайте rkhunter еженедельно через cron, Lynis - ежемесячно, а анализ auth.log можно автоматизировать через fail2ban и ежедневные отчёты на почту.

Похожие статьи

[Windows: Как переименовать пользователя Administrator](https://zomro.com/rus/blog/faq/91-windows-kak-pereimenovat-polzovatelja-administrator) [Grok vs ChatGPT: в чем разница?](https://zomro.com/rus/blog/faq/586-grok-vs-chatgpt-whats-the-difference) [Как подключить OpenClaw к Telegram-боту](https://zomro.com/rus/blog/faq/697-how-to-connect-openclaw-to-telegram-bot) [Как установить Redis в Docker и Docker Compose](https://zomro.com/rus/blog/faq/301-kak-ustanovit-redis-v-docker) [known_hosts и host key в SSH](https://zomro.com/rus/blog/faq/683-known_hosts-i-host-key-in-ssh)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
