39 порад із безпеки серверів Linux

Вступ

Захист вашого сервера Linux важливий для захисту ваших даних, інтелектуальної власності та часу від рук зломників (хакерів). Системний адміністратор відповідає за безпеку Linux box. У цій першій частині серії статей про безпеку сервера Linux я надам 39 порад щодо посилення безпеки сервера Linux для встановлення системи Linux за замовчуванням.

Поради та контрольний список із посилення безпеки сервера Linux

Наступні інструкції припускають, що ви використовуєте дистрибутив Linux на основі CentOS/RHEL або Ubuntu/Debian.

1. Шифруйте передачу данних для сервера Linux

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

  1. Для передачі файлів використовуйте scp, ssh, rsync або sftp. Ви також можете змонтувати файлову систему віддаленого сервера або свій власний домашній каталог за допомогою спеціальних інструментів sshfs і fuse.
  2. GnuPG дозволяє шифрувати та підписувати ваші дані та комунікації, має універсальну систему керування ключами, а також модулі доступу до всіх видів каталогів відкритих ключів.
  3. OpenVPN – це економічно ефективна, легка SSL VPN. Інший варіант — спробувати tinc, який використовує тунелювання та шифрування для створення безпечної приватної мережі між хостами в Інтернеті або приватній незахищеній локальній мережі.
  4. Lighttpd SSL (Secure Server Layer) Https конфігурація та встановлення
  5. Налаштування та встановлення Apache SSL (Secure Server Layer) Https (mod_ssl)
  6. Налаштування Nginx за допомогою безплатного сертифіката SSL Let’s Encrypt на Debian або Ubuntu Linux

2. Уникайте використання служб FTP, Telnet і Rlogin/Rsh у Linux

У більшості мережевих конфігурацій імена користувачів, паролі, команди FTP / telnet / rsh і передані файли можуть бути захоплені будь-ким у тій самій мережі за допомогою аналізатора пакетів. Загальним розв’язання цієї проблеми є використання OpenSSH, SFTP або FTPS (FTP через SSL), що додає до FTP шифрування SSL або TLS. Введіть таку команду yum, щоб видалити NIS, rsh та інші застарілі служби:

# yum erase xinetd ypserv tftp-server telnet-server rsh-server

Якщо ви використовуєте сервер на базі Debian/Ubuntu Linux, спробуйте apt-get command/apt command, щоб видалити незахищені служби:

$ sudo apt-get --purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server

3. Мінімізуйте програмне забезпечення для мінімізації вразливості в Linux

Вам справді потрібні всілякі вебсервіси? Уникайте встановлення непотрібного програмного забезпечення, щоб уникнути вразливості програмного забезпечення. Використовуйте менеджер пакунків RPM, наприклад yum або apt-get та/або dpkg, щоб переглянути всі встановлені пакети програмного забезпечення в системі. Видаліть усі непотрібні пакети.

# yum list installed
# yum list packageName
# yum remove packageName

АБО

# dpkg --list
# dpkg --info packageName
# apt-get remove packageName

4. Одна мережева служба на один екземпляр системи або віртуальної машини

Запускайте різні мережеві служби на окремих серверах або екземпляри віртуальної машини. Це обмежує кількість інших служб, які можуть бути скомпрометовані. Наприклад, якщо зловмисник зможе успішно використати таке програмне забезпечення, як Apache flow, він або вона отримає доступ до всього сервера, включаючи інші служби, такі як MySQL/MariaDB/PGSql, сервер електронної пошти тощо.

5. Оновлюйте ядро та програмне забезпечення Linux

Застосування патчів безпеки є важливою частиною обслуговування сервера Linux. Linux надає всі необхідні інструменти для підтримки оновлення вашої системи, а також дозволяє легко оновлювати версії. Усі оновлення безпеки слід переглянути та застосувати якомога швидше. Знову ж таки, використовуйте менеджер пакетів RPM, наприклад yum та/або apt-get та/або dpkg, щоб застосувати всі оновлення безпеки.

# yum update 

АБО

# apt-get update && apt-get upgrade

Ви можете налаштувати Red hat / CentOS / Fedora Linux на надсилання сповіщень про оновлення пакета yum електронною поштою. Іншим варіантом є застосування всіх оновлень безпеки через завдання cron. У Debian / Ubuntu Linux ви можете використовувати apticron для надсилання сповіщень безпеки. Також можна налаштувати оновлення без нагляду для вашого сервера Debian/Ubuntu Linux за допомогою команди apt-get/apt:

$ sudo apt-get install unattended-upgrades apt-listchanges bsd-mailx

6. Використовуйте розширення безпеки Linux

Linux поставляється з різними виправленнями безпеки, які можна використовувати для захисту від неправильно налаштованих або скомпрометованих програм. Якщо можливо, використовуйте SELinux та інші розширення безпеки Linux, щоб застосувати обмеження для мережевих та інших програм. Наприклад, SELinux надає різноманітні політики безпеки для ядра Linux.

7. SELinux

Я наполегливо рекомендую використовувати SELinux, який забезпечує гнучкий обов’язковий контроль доступу (MAC). У стандартному дискреційному контролі доступу Linux (DAC) програма або процес, що виконується від імені користувача (UID або SUID), має дозволи користувача на такі об’єкти, як файли, сокети та інші процеси. Запуск ядра MAC захищає систему від шкідливих або дефектних програм, які можуть пошкодити або зруйнувати систему. Перегляньте офіційну документацію Redhat, яка пояснює налаштування SELinux.

8. Політика облікових записів користувачів і надійних паролів Linux

Використовуйте команди useradd / usermod для створення та підтримки облікових записів користувачів. Переконайтеся, що у вас є хороша та надійна політика паролів. Наприклад, хороший пароль містить принаймні 8 символів і суміш алфавітів, цифр, спеціальних символів, верхнього та нижнього алфавітів тощо. Найголовніше, виберіть пароль, який ви можете запам’ятати. Використовуйте такі інструменти, як «John the Ripper», щоб знайти слабкі паролі користувачів на вашому сервері. Налаштуйте pam_cracklib.so для застосування політики паролів.

9. Для кращої безпеки налаштуйте старіння пароля для користувачів Linux

Команда chage змінює кількість днів між змінами пароля та дату останньої зміни пароля. Ця інформація використовується системою, щоб визначити, коли користувач повинен змінити свій пароль. Файл /etc/login.defs визначає спеціальну для сайту конфігурацію для набору тіньових паролів, включаючи конфігурацію старіння пароля. Щоб вимкнути старіння пароля, введіть:

# chage -M 99999 userName

Щоб отримати інформацію про термін дії пароля, введіть:

# chage -l userName

Нарешті, ви також можете редагувати файл /etc/shadow у таких полях:

{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:

Де,

  1. Minimum_days: мінімальна кількість днів, необхідна між змінами пароля, тобто кількість днів, що залишилася до того, як користувачеві буде дозволено змінити свій пароль.
  2. Maximum_days: максимальна кількість днів, протягом яких пароль дійсний (після цього користувач змушений змінити свій пароль).
  3. Warn: кількість днів до закінчення терміну дії пароля, протягом якого користувач отримує попередження про те, що його/її пароль потрібно змінити.
  4. Expire: кількість днів з 1 січня 1970 року, коли обліковий запис вимкнено, тобто абсолютна дата, яка вказує, коли більше не можна використовувати обліковий запис.

Я рекомендую команду chage замість редагування файлу /etc/shadow вручну:

# chage -M 60 -m 7 -W 7 userName

10. Обмеження використання попередніх паролів у Linux

Ви можете заборонити всім користувачам використовувати або повторно використовувати ті самі старі паролі в Linux. Параметр запам’ятовування модуля pam_unix можна використовувати для налаштування кількості попередніх паролів, які не можна використовувати повторно.

11. Блокування облікових записів користувачів після невдалого входу

У Linux ви можете використовувати команду faillog, щоб показати записи журналу помилок або встановити ліміти помилок входу. faillog форматує вміст журналу помилок із /var/log/faillog бази даних/файлу журналу. Його також можна використовувати для підтримки лічильників і обмежень помилок. Щоб переглянути невдалі спроби входу, введіть:

faillog

Щоб розблокувати обліковий запис після помилок входу, запустіть:

faillog -r -u userName 

Зауважте, що ви можете використовувати команду passwd для блокування та розблокування облікових записів:

# lock Linux account
passwd -l userName
# unlock Linux account
passwd -u userName

12. Як перевірити, що в облікових записах немає порожніх паролів?

Введіть наступну команду

# awk -F: '($2 == "") {print}' /etc/shadow

Заблокувати всі облікові записи з порожнім паролем:

# passwd -l accountName

13. Переконайтеся, що жодні облікові записи некореневі не мають значення UID на 0

Тільки обліковий запис root має UID 0 з повним дозволом на доступ до системи. Введіть таку команду, щоб показати всі облікові записи з UID, встановленим на 0:

# awk -F: '($3 == "0") {print}' /etc/passwd

Ви повинні побачити лише один рядок, як показано нижче:

root:x:0:0:root:/root:/bin/bash

Якщо ви бачите інші рядки, видаліть їх або переконайтеся, що ви авторизували інші облікові записи на використання UID 0.

14. Вимкніть root Login

Ніколи не входьте як користувач root. Вам слід використовувати sudo для виконання команд кореневого рівня за потреби. sudo значно підвищує безпеку системи, не повідомляючи користувачам і адміністраторам пароль root. sudo також надає прості функції аудиту та відстеження.

15. Безпека фізичного сервера

Ви повинні захистити доступ до фізичної консолі серверів Linux. Налаштуйте BIOS і вимкніть завантаження із зовнішніх пристроїв, таких як DVD/CD/USB-ручка. Встановіть BIOS і пароль завантажувача grub, щоб захистити ці налаштування. Усі виробничі коробки мають бути замкнені в IDC (Інтернет-центрах обробки даних), і всі особи мають пройти певні перевірки безпеки перед доступом до вашого сервера. Дивіться також:

16. Вимкніть небажані служби Linux

Вимкніть усі непотрібні служби та демони (служби, які працюють у фоновому режимі). Потрібно видалити всі непотрібні служби під час запуску системи. Введіть таку команду, щоб отримати список усіх служб, які запускаються під час завантаження на рівні виконання № 3:

# chkconfig --list | grep '3:on'

Щоб вимкнути послугу, введіть:

# service serviceName stop
# chkconfig serviceName off

Примітка про дистрибутив і служби Linux на основі systemd

Сучасні дистрибутиви Linux із systemd використовують команду systemctl з тією ж метою.

Надрукуйте список служб із переліком рівнів запуску, які налаштовано ввімкнути або вимкнути

# systemctl list-unit-files --type=service
# systemctl list-dependencies graphical.target

Вимкніть службу під час завантаження

# systemctl disable service
# systemctl disable httpd.service

Запуск/зупинка/перезапуск служби

# systemctl disable service
# systemctl disable httpd.service

Отримати статус послуги

# systemctl status service
# systemctl status httpd.service

Перегляд повідомлень журналу

# journalctl
# journalctl -u network.service
# journalctl -u ssh.service
# journalctl -f
# journalctl -k

17. Знайдіть мережеві порти прослуховування

Використовуйте наступну команду, щоб переглянути список усіх відкритих портів і пов’язаних програм:

netstat -tulpn

АБО використовуйте команду ss таким чином:

$ ss -tulpn

АБО

nmap -sT -O localhost
nmap -sT -O server.example.com

18. Видаліть X Window Systems (X11)

Системи X Window на сервері не потрібні. Немає причин запускати X11 на виділеному поштовому сервері на базі Linux і вебсервер Apache/Nginx. Ви можете вимкнути та видалити X Windows, щоб покращити безпеку та продуктивність сервера. Відредагуйте /etc/inittab і встановіть рівень запуску 3. Нарешті видаліть систему X Windows, введіть:

# yum groupremove "X Window System"

На сервері CentOS 7/RHEL 7 використовуйте такі команди:

# yum group remove "GNOME Desktop"
# yum group remove "KDE Plasma Workspaces"
# yum group remove "Server with GUI"
# yum group remove "MATE Desktop"

19. Налаштуйте брандмауер на основі Iptables і TCPWrappers у Linux

Iptables — це прикладна програма для простору користувача, яка дозволяє налаштувати брандмауер (Netfilter), наданий ядром Linux. Використовуйте брандмауер, щоб відфільтрувати трафік і дозволити лише необхідний трафік. Також використовуйте TCPWrappers, мережеву систему ACL на основі хоста, щоб фільтрувати мережевий доступ до Інтернету. Ви можете запобігти багатьом атакам на відмову в обслуговуванні за допомогою Iptables:

Налаштування фаєрволу в Ubuntu за допомогою утиліти UFW

20. Захист ядра Linux /etc/sysctl.conf

Файл /etc/sysctl.conf використовується для налаштування параметрів ядра під час виконання. Linux читає та застосовує налаштування з /etc/sysctl.conf під час завантаження. Приклад /etc/sysctl.conf:

# Turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter=1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route=0
# Ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
# Make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1

21. Окремі розділи диска для системи Linux

Відокремлення файлів операційної системи від файлів користувача може призвести до кращої та безпечнішої системи. Переконайтеся, що такі файлові системи змонтовано на окремих розділах:

  • /usr
  • /home
  • /var and /var/tmp
  • /tmp

Створіть окремі розділи для коренів серверів Apache і FTP. Відредагуйте файл /etc/fstab і переконайтеся, що ви додали такі параметри конфігурації:

  1. noexec – не встановлювати виконання будь-яких двійкових файлів у цьому розділі (запобігає виконанню двійкових файлів, але дозволяє сценарії).
  2. nodev – не дозволяти символьні або спеціальні пристрої на цьому розділі (запобігає використанню файлів пристроїв, таких як zero, sda тощо).
  3. nosuid – не встановлюйте доступ SUID/SGID для цього розділу (заборонити біт setuid).

Зразок запису /etc/fstab для обмеження доступу користувачів до /dev/sda5 (кореневий каталог ftp-сервера):

/dev/sda5  /ftpdata          ext3    defaults,nosuid,nodev,noexec 1 2

22. Дискові квоти

Переконайтеся, що дискові квоти ввімкнено для всіх користувачів. Щоб застосувати дискові квоти, виконайте такі дії:

  1. Увімкніть квоти для кожної файлової системи, змінивши файл /etc/fstab.
  2. Перемонтуйте файлову(і) систему(и).
  3. Створіть файли бази даних квот і згенеруйте таблицю використання диска.
  4. Призначити політику квот.
  5. Додаткові відомості див. у посібнику із застосування дискових квот.

23. Вимкніть IPv6, лише якщо ви НЕ використовуєте його в Linux

Інтернет-протокол версії 6 (IPv6) надає новий Інтернет-рівень набору протоколів TCP/IP, який замінює Інтернет-протокол версії 4 (IPv4) і забезпечує багато переваг. Якщо ви НЕ використовуєте IPv6, вимкніть його.

24. Вимкніть небажані бінарні файли SUID і SGID

Усі файли з увімкненими бітами SUID/SGID можуть бути використані неправильно, якщо виконуваний файл SUID/SGID має проблему безпеки або помилку. Кожен локальний або віддалений користувач може використовувати такий файл. Бажано знайти всі такі файли. Використовуйте команду find наступним чином:

#See all set user id files:
find / -perm +4000
# See all group id files
find / -perm +2000
# Or combine both in a single command
find / \( -perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls

Вам потрібно дослідити кожен повідомлений файл. Додаткові відомості дивіться на сторінці довідки про звітний файл.

25. Всесвітньо доступні для запису файли на сервері Linux

Будь-хто може змінити доступний для запису файл, що призведе до проблеми безпеки. Використовуйте наступну команду, щоб знайти всі доступні для запису та закріплені файли набору бітів:

find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

Вам потрібно дослідити кожен повідомлений файл і встановити правильний дозвіл користувача та групи або видалити його.

26. Файли Noowner

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

find /dir -xdev \( -nouser -o -nogroup \) -print

Вам потрібно дослідити кожен повідомлений файл і або призначити його відповідному користувачеві та групі, або видалити.

27. Використовуйте централізовану службу автентифікації

Без централізованої системи автентифікації дані автентифікації користувача стають неузгодженими, що може призвести до застарілих облікових даних і забутих облікових записів, які слід було спочатку видалити. Централізована служба автентифікації дозволяє підтримувати централізований контроль над обліковим записом Linux / UNIX і даними автентифікації. Ви можете підтримувати синхронізацію автентичних даних між серверами. Не використовуйте службу NIS для централізованої автентифікації. Використовуйте OpenLDAP для клієнтів і серверів

28. Kerberos

Kerberos виконує автентифікацію як довірену службу автентифікації третьої сторони за допомогою криптографічного спільного секрету за умови, що пакети, що переміщуються незахищеною мережею, можна читати, змінювати та вставляти. Kerberos базується на криптографії з симетричним ключем і потребує центру розподілу ключів. Ви можете зробити віддалений вхід, дистанційне копіювання, безпечне міжсистемне копіювання файлів та інші завдання з високим ризиком безпечнішими та більш керованими за допомогою Kerberos. Отже, коли користувачі автентифікуються в мережевих службах за допомогою Kerberos, спроби неавторизованих користувачів зібрати паролі шляхом моніторингу мережевого трафіку ефективно перешкоджають.

29. Ведення журналів та аудит

Вам потрібно налаштувати ведення журналів і аудит, щоб збирати всі спроби злому. За замовчуванням syslog зберігає дані в каталозі /var/log/. Це також корисно для виявлення неправильної конфігурації програмного забезпечення, яка може відкрити вашу систему для різноманітних атак.

30. Відстежуйте підозрілі повідомлення журналу за допомогою Logwatch / Logcheck

Прочитайте свої журнали за допомогою команди logwatch (logcheck). Ці інструменти полегшують читання журналу. Ви отримуєте детальний звіт про незвичайні елементи в системному журналі електронною поштою. Зразок звіту системного журналу:

################### Logwatch 7.3 (03/24/06) ####################
        Processing Initiated: Fri Oct 30 04:02:03 2009
        Date Range Processed: yesterday
                              ( 2009-Oct-29 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: www-52.nixcraft.net.in
  ##################################################################

 --------------------- Named Begin ------------------------

 **Unmatched Entries**
    general: info: zone XXXXXX.com/IN: Transfer started.: 3 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 3 Time(s)
    general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s)

 ---------------------- Named End -------------------------

  --------------------- iptables firewall Begin ------------------------

 Logged 87 packets on interface eth0
   From 58.y.xxx.ww - 1 packet to tcp(8080)
   From 59.www.zzz.yyy - 1 packet to tcp(22)
   From 60.32.nnn.yyy - 2 packets to tcp(45633)
   From 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800)

 ---------------------- iptables firewall End -------------------------

 --------------------- SSHD Begin ------------------------

 Users logging in through sshd:
    root:
       123.xxx.ttt.zzz: 6 times

 ---------------------- SSHD End -------------------------

 --------------------- Disk Space Begin ------------------------

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             450G  185G  241G  44% /
 /dev/sda1              99M   35M   60M  37% /boot

 ---------------------- Disk Space End -------------------------

 ###################### Logwatch End #########################

31. Система Бухгалтерія з auditd

Auditd надається для аудиту системи. Він відповідає за запис записів аудиту на диск. Під час запуску правила в /etc/audit.rules читаються цим демоном. Ви можете відкрити файл /etc/audit.rules і внести зміни, наприклад налаштувати розташування журналу файлу аудиту та інші параметри. За допомогою auditd ви можете відповісти на такі запитання:

  1. Події запуску та завершення роботи системи (перезавантаження/зупинка).
  2. Дата і час проведення.
  3. Користувач відповідальний за подію (наприклад, спроба отримати доступ до файлу /path/to/topsecret.dat).
  4. Тип події (редагування, доступ, видалення, запис, оновлення файлу та команд).
  5. Успіх чи невдача заходу.
  6. Записує події, які змінюють дату та час.
  7. Дізнайтеся, хто вніс зміни, щоб змінити налаштування мережі системи.
  8. Записуйте події, які змінюють інформацію про користувача/групу.
  9. Перегляньте, хто вніс зміни у файл тощо.

32. Захищений сервер OpenSSH

Для віддаленого входу та віддаленої передачі файлів рекомендується використовувати протокол SSH. Однак ssh відкритий для багатьох атак. Подивіться, як захистити сервер OpenSSH:

Використання файлу конфігурації SSH

Як змінити порт у SSH сервера

Включаємо двофакторну аутентифікацію (2FA) для SSH входу до Linux

33. Встановіть і використовуйте систему виявлення вторгнень

Система виявлення вторгнень у мережу (NIDS) — це система виявлення вторгнень, яка намагається виявити зловмисну активність, наприклад атаки на відмову в обслуговуванні, сканування портів або навіть спроби злому комп’ютерів шляхом моніторингу мережевого трафіку.

Рекомендується розгортати будь-яке програмне забезпечення для перевірки цілісності, перш ніж система перейде в режим роботи у робочому середовищі. Якщо можливо, інсталюйте програмне забезпечення AIDE до підключення системи до будь-якої мережі. AIDE — це система виявлення вторгнень (HIDS), яка може контролювати та аналізувати внутрішні елементи обчислювальної системи. Я рекомендував вам також встановити та використовувати програмне забезпечення для виявлення кореневого пакета rkhunter.

34. Вимкніть пристрої USB/firewire/thunderbolt

Введіть таку команду, щоб вимкнути USB-пристрої в системі Linux:

# echo 'install usb-storage /bin/true' >> /etc/modprobe.d/disable-usb-storage.conf

Ви можете використовувати той самий метод, щоб вимкнути модулі firewire і thunderbolt:

# echo "blacklist firewire-core" >> /etc/modprobe.d/firewire.conf
# echo "blacklist thunderbolt" >> /etc/modprobe.d/thunderbolt.conf

Після цього користувачі не зможуть швидко скопіювати конфіденційні дані на USB-пристрої або встановити зловмисне програмне забезпечення/віруси або виконати бекдор у вашій системі на базі Linux.

35. Вимкніть невикористовувані служби

Ви можете вимкнути служби, які не використовуються, за допомогою команди service/systemctl:

$ sudo systemctl stop service
$ sudo systemctl disable service

Наприклад, якщо ви деякий час не збираєтеся використовувати службу Nginx, вимкніть її:

$ sudo systemctl stop nginx
$ sudo systemctl disable nginx

36. Використовуйте fail2ban/denyhost як IDS (встановіть систему виявлення вторгнень)

Fail2ban або denyhost сканує файли журналу на наявність забагато невдалих спроб входу та блокує IP-адресу, яка має ознаки зловмисності. Подивіться, як встановити та використовувати denyhost для Linux. Можна легко встановити fail2ban:

$ sudo apt-get install fail2ban

АБО

$ sudo yum install fail2ban

Відредагуйте конфігураційний файл відповідно до ваших потреб:

$ sudo vi /etc/fail2ban/jail.conf 

Перезапустіть службу:

$ sudo systemctl restart fail2ban.service

37. Захищений сервер Apache/PHP/Nginx

Відредагуйте файл httpd.conf і додайте наступне:

ServerTokens Prod
ServerSignature Off
TraceEnable Off
Options all -Indexes
Header always unset X-Powered-By

Перезапустіть сервер httpd/apache2 у Linux, запустіть:

$ sudo systemctl restart apache2.service

АБО

$ sudo systemctl restart httpd.service

Ви повинні встановити та ввімкнути mod_security на сервері RHEL/CentOS. Рекомендується також відредагувати php.ini та захистити його.

38. Protecting Files, Directories and Email

Linux пропонує чудовий захист від несанкціонованого доступу до даних. Права доступу до файлів і MAC запобігають несанкціонованому доступу до даних. Однак дозволи, встановлені Linux, не мають значення, якщо зловмисник має фізичний доступ до комп’ютера та може просто перемістити жорсткий диск комп’ютера в іншу систему, щоб скопіювати та проаналізувати конфіденційні дані. Ви можете легко захистити файли та розділи під Linux за допомогою таких інструментів:

  • Щоб зашифрувати та розшифрувати файли за допомогою пароля, використовуйте команду gpg.
  • Linux або UNIX захищають файли паролем за допомогою openssl та інших інструментів.
  • Повне шифрування диска є обов’язковим для захисту даних і підтримується більшістю дистрибутивів Linux. Подивіться, як шифрувати жорсткий диск за допомогою LUKS у Linux. Переконайтеся, що своп також зашифрований. Вимагати пароль для редагування завантажувача.
  • Переконайтеся, що коренева пошта пересилається на обліковий запис, який ви перевіряєте.

39. Резервні копії

Не можна переоцінити, наскільки важливо зробити резервну копію вашої системи Linux. Належне зовнішнє резервне копіювання дозволяє відновити зламаний сервер, тобто вторгнення. Традиційні програми резервного копіювання UNIX є дампом і відновленням також рекомендовані. Ви повинні налаштувати зашифровані резервні копії на зовнішню пам’ять, наприклад сервер NAS або сервер FreeNAS, або скористатися службою хмарних обчислень, такою як AWS.

Якщо помітили помилки чи неточності, будь ласка, залишіть коментар чи напишіть листа на поштову адресу [email protected]

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *