Ні зломів серверів! Поради щодо перевірки та захисту

Підозрюєте, що Linux-сервер, зламаний? Впевнені, що все гаразд, але на всяк випадок хочете підвищити рівень безпеки? Якщо так – ось кілька простих порад, які допоможуть перевірити систему на предмет злому і краще її захистити.

image

Перевірка
Для того, щоб дізнатися, чи не зламали ваш сервер, скажімо, що працює під управлінням Ubuntu, варто дещо перевірити.

▍Дані останнього входу в систему

З'ясуйте дані останнього входу в систему. Робиться це за допомогою команди свіжіші.

$>свіжіші

▍Історія команд

Погляньте на історію команд, дізнайтеся, коли саме їх вводили:

$>history

Якщо список команд виводиться без дати – відрегулюйте параметри утиліти history.

▍Журнал аутентифікації.log

Наступний спосіб перевірки – перегляд файлу /var/log/auth.log. Наприклад, за допомогою такої команди:

$>sudo vi /var/log/auth.log

Тут можна знайти список усіх, хто намагався підключитися до сервера по SSH.

▍IP-адреси

Для того, щоб з'ясувати IP-адреси, з яких підключалися до сервера, скористайтеся такою командою:

$>zgrep sshd /var/log/auth.log* | grep rhost | sed -re 's/.*rhost=([^ ]+).*/\1/' | sort –u

▍Журнали Apache

Перевірте журнали Apache:

$>sudo vi /var/log/apache2/access.log
$>sudo vi /var/log/apache2/error.log

▍Пошук підозрілих процесів

Якщо ви впевнені в тому, що сервер зламаний, розшукайте процес зловмисника. Наприклад, список всіх процесів можна отримати такою командою:

$>ps aux | less

▍Список завдань cron

Аналізуючи сервер на предмет злому, корисно буде перевірити список завдань cron, який зловмисник цілком міг додати щось своє.

$>crontab -l | grep -v '^#'

Незалежно від того, виявила перевірка спроби злому, безпеки багато не буває. Тому ось – кілька рад по захисту сервера.

Захист
Рекомендації по захисту сервера, в основному, стосуються відстеження та блокування підозрілої активності, а також регулярного оновлення програмного забезпечення.

▍Заборону входу root-користувачів по SSH

Для підвищення рівня безпеки сервера варто заборонити вхід root-користувачів по SSH.

$>sudo vi /etc/ssh/sshd_config
PermitRootLogin no

▍Автоматичні оновлення

Увімкніть автоматичне оновлення безпеки з використанням пакету unattended-upgrades. Спочатку його треба встановити:

$>sudo apt-get install unattended-upgrades

Наступний крок – налаштування:

$>sudo dpkg-reconfigure -plow unattended-upgrades

Пакет можна викликати і самостійно:

$>sudo unattended-upgrade

▍Настройка блокування

Встановіть пакет fail2ban. Для того, щоб блокувати з його допомогою підозрілих SSH-користувачів, скористайтесь этим керівництвом, поле чого налаштуйте систему звітів.
Для того, щоб дізнатися, скільки разів fail2ban заблокував якийсь IP-адресу, скористайтеся такою командою:

$>sudo awk '($(NF-1) = /Ban/){print $NF}' /var/log/fail2ban.log | sort | uniq -c | sort –n

Для того, щоб переглянути весь файл журналу fail2ban, введіть наступне:

$>sudo zgrep -h "Ban "/var/log/fail2ban.log* | awk '{print $NF}' | sort | uniq –c

Для пошуку проблемних підмереж підійде така команда:

$>sudo zgrep -h "Ban " /var/log/fail2ban.log* | awk '{print $NF}' | awk -F\. '{print $1"."$2"."}' | sort | uniq -c | sort -n | tail

Якщо аналіз файлів журналу показує, що атаки з деякою підмережі відбуваються регулярно, її можна заблокувати на постійній основі. Перед цим, однак, варто перевірити, до якої країни належить підмережа.

Наприклад, ось як заблокувати підключення до sshd-порту з підмережі 221.229.*.*:

$>sudo iptables -I INPUT -p tcp -s 221.229.0.0/255.255.0.0 --dport ssh -j REJECT --reject-with tcp-reset

Для того, щоб дізнатися про те, що саме було заблоковано правил iptables, можна скористатися такою командою:

$>sudo iptables -vnL INPUT --line numbers

Для того, щоб правила iptables зберігалися після перезавантаження сервера, встановіть в Ubuntu пакет iptables-persistent.

$>sudo apt-get install iptables-persistent
$>cat /etc/iptables/rules.v4

Якщо ви відредагували правила iptables, використовуйте таку команду:

$>sudo bash -c "iptables-save > /etc/iptables/rules.v4"

Файл з правилами не рекомендується правити вручну, так як його формат важливий для того, щоб все працювало як треба.

Підсумки
Ми розповіли про методи перевірки Linux-серверів на предмет злому і про поліпшення їх захисту. Сподіваємося, наші поради допоможуть вам підвищити рівень інформаційної безпеки ваших систем.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.