Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

20 реальних кроків щодо посилення безпеки Linux

Рекомендовані відповіді

Опубліковано
  • Адміністратор

№ 1. Уникайте використання FTP, Telnet та Rlogin/Rsh

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

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

№ 2. Мінімізуйте кількість встановлених програм для мінімізації числа вразливостей

Вам справді потрібні всі види встановлених веб-сервісів? Уникайте встановлювати непотрібні програми, щоб уникнути вразливостей, наявних у цих програмах. Скористайтеся менеджером пакетів RPM, таким як as yum або apt-get and/or dpkg to review для перегляду всього набору встановлених у системі програм. Видаліть усі непотрібні пакети.

# yum list installed

# yum list packageName

# yum remove packageName

або

# dpkg --list

# dpkg --info packageName

# apt-get remove packageName

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

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

№ 4. Підтримуйте ядро Linux та програми в оновленому стані

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

# yum update

або

# apt-get update && apt-get upgrade

Ви можете налаштувати Red hat/CentOS/Fedora Linux так, що yum надсилатиме вам на e-mail нагадування про те, що є оновлення. Інша можливість – виконувати всі оновлення, що стосуються безпеки, як завдання для cron. Під Debian/Ubuntu Linux можна використовувати apticron для надсилання нагадувань щодо безпеки.

№ 5: Використовуйте розширення Linux, що підвищують безпеку

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

№ 6. Політика користувацьких паролів та сильні паролі

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

№ 7. Забороніть прямий доступ до системи з правами root

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

№ 8. Захистіть сервер від фізичного доступу до нього

Ви повинні захистити консолі Linux-серверів від фізичного доступу до системи. Налаштуйте BIOS і забороніть завантажуватися з зовнішніх пристроїв, таких як DVDs/CDs/USB. Встановіть пароль BIOS і пароль завантаження grub для захисту цих налаштувань. Усі системні блоки повинні бути зосереджені у спеціально відведеному для цього приміщенні і персонал, перш ніж отримати доступ до сервера, повинен пройти в службі безпеки певну перевірку.

№ 9. Вимкніть непотрібні сервіси

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

# chkconfig --list | grep '3: eek: n'

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

# service serviceName stop

# chkconfig serviceName off

№ 10. Видаліть X Window

X Windows на сервері не потрібний. Так що немає необхідності запускати X Window на вашому спеціалізованому поштовому або веб-сервері (Apache). Для того, щоб підвищити безпеку та покращити працездатність системи, ви можете відключити та видалити X Window. Відредагуйте файл /etc/inittab і встановіть рівень запуску (run level) рівним 3. Нарешті видаліть систему X Window, для цього введіть наступну команду:

# yum groupremove "X Window System"

№ 11. Налаштуйте Iptables і використовуйте TCPWrapper-и

Iptables є додатком користувача, який дозволить вам налаштувати брандмауер (Netfilter), наявний в ядрі Linux. Використовуйте брандмауер для фільтрації та пропуску лише потрібного трафіку. Також використовуйте TTCPWrapper-и – крос-хостингові мережеві системи ACL (аркуші контролю доступу), які застосовуються для фільтрації доступу з мережі в Інтернет. За допомогою Iptables ви зможете запобігти багато атак виду denial of service.

№ 12. Убезпечте доступ до файлу ядра 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

# Disable IP source routing

net.ipv4.conf.all.rp_filter=1

# Ignoring broadcasts request

net.ipv4.conf.all.accept_source_route=0

net.ipv4.icmp_ignore_bogus_error_messages=1

net.ipv4.icmp_echo_ignore_broadcasts=1

# Make sure spoofed packets get logged

net.ipv4.conf.all.log_martians = 1

№ 13. Використовуйте різні дискові розділи

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

/usr

/home

/var and /var/tmp

/tmp

Створіть окремі розділи для кореневих директорій серверів Apache та FTP. Відредагуйте файл /etc/fstab і не забудьте додати наступні параметри конфігурації: – noexec – не дозволяється виконувати бінарні файли (запобігається виконання бінарних файлів, але дозволяється виконувати скрипти); – nodev – не дозволяється вказувати посимвольні та спеціальні пристрої (запобігає використанню файлів пристроїв, таких як zero, sda тощо); – nosuid – не дозволяється мати доступ для SUID/SGID (запобігає зміні бітів ідентифікатора користувача та ідентифікатора групи).

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

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

№ 14. Вимкніть IPv6

Версія 6 протоколу Інтернет (IPv6), яка замінює версію 4 (IPv4), є новий шар організації протоколу TCP/IP, що дає масу переваг. В даний час немає хороших інструментальних засобів, за допомогою яких можна було б перевірити безпеку системи, що працює через мережу IPv6. У більшості дистрибутивів Linux протокол IPv6 за замовчуванням увімкнено. Зломщики можуть скористатися та перенаправити трафік IPv6, оскільки більшість адміністраторів не здійснюють його моніторинг. Якщо конфігурація мережі не вимагає використання протоколу IPv6, вимкніть його, інакше налаштуйте брандмауер Linux для роботи з IPv6.

№ 15. Заберіть усі непотрібні бінарні файли SUID та SGID

Якщо встановлені права доступу SUID/SGID та файл, відповідно до SUID/SGID, виконуваний, його можна використовувати неправильно, що може бути причиною неправильної роботи системи або проблем з безпекою. Будь-який локальний або віддалений користувач може використовувати файл. Тому потрібно знати про всі такі файли. Використовуйте команду find так:

See all set user id files:

find/-perm +4000

find/-perm +2000

# See all group id files

find / \(-perm -4000 -o -perm -2000 \) -print

# Or combine both in a single command

find/-path-prune-o-type f-perm +6000-ls

Вам потрібно вивчити кожне повідомлення про такий файл.

№ 16. Використовуйте централізований сервіс ідентифікації

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

№ 17. Протоколювання та аудит

Для того, щоб збирати відомості про спроби зламування системи та проникнення в неї, вам потрібно налаштувати протоколювання та аудит. За промовчанням системний журнал syslog зберігає дані в директорії /var/log/. Корисно також дізнатися про неправильне конфігурування програм, які можуть відкрити вашу систему для різних атак. №17.1. Використання Logwatch/Logcheck для відстеження підозрілих записів у системному журналі. Читайте свої журнали за допомогою logwatch або logcheck. Ці інструменти полегшать аналіз журналів. Ви отримаєте поштою докладні звіти про незвичайні записи, виявлені в системному журналі syslog. Приклад звіту з syslog:

################### Logwatch 7.3 (03/24/06) ####################

Processing Initiated: Fri Oct 30 04:02:03 2009

(2009-Oct-29)

Date Range Processed: yesterday

Period is day.

Logfiles for Host: www-52.nixcraft.net.in

Detail Level of Output: 0

Type of Output: unformatted

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

#################################################################

Unmatched Entries

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.: 3 Time(s)

general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s)

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

general: info: zone XXXXXX.com/IN: refresh: retry limit для майстра ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s)

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

Logged 87 packets on interface eth0

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

Від 58.y.xxx.ww - 1 packet to tcp(8080)

Від 59.www.zzz.yyy - 1 packet to tcp(22)

Від 60.32.nnn.yyy - 2 packets to tcp(45633)

Від 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800)

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

/dev/sda3 450G 185G 241G 44% /

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/sda1 99M 35M 60M 37% /boot

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

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

Примітка: результат виведення наведено зі скороченнями.

№ 18. Забезпечте безпеку сервера OpenSSH

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

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

Система виявлення мережного вторгнення (network intrusion detection system - NIDS) - це система виявлення вторгнення, яка за допомогою моніторингу мережного трафіку намагається зафіксувати зловмисну активність, таку як атаки виду denial of service (відмова в обслуговуванні), сканування портів і навіть спроби проникнення в комп'ютер.

Хороший практичний підхід – перш ніж система буде підключена до мережі в режимі експлуатації, розгорнути будь-яку інтегровану програмну систему перевірки. Якщо можливо, то перш ніж система буде підключена до будь-якої мережі, встановіть пакет AIDE. AIDE є крос-хостингової системою виявлення вторгнення (host-based intrusion detection system – HIDS). Вона може здійснювати моніторинг та аналіз процесів, що відбуваються всередині самих комп'ютерних систем.

Snort є програмою, призначеною для виявлення вторгнень, яка може виконувати протоколювання на рівні мережевих пакетів та в режимі реального часу робити аналіз трафіку в IP-мережах.

№ 20. Захистіть файли, директорії та поштові скриньки

У Linux пропонуються різні варіанти захисту проти несанкціонованого доступу до даних. Використання прав доступу до файлу та методика MAC (Mandatory Access Control – примусове керування доступом) запобігають несанкціонованому доступу до даних. Однак права доступу, що встановлюються Linux, марні, якщо атакуючий має фізичний доступ до комп'ютера і може перенести жорсткий диск комп'ютера на іншу систему з тим, щоб скопіювати і проаналізувати дані, що його цікавлять. Ви можете легко захистити Linux-файли та дискові розділи за допомогою спеціальних інструментальних засобів.

Для публікації повідомлень створіть обліковий запис або авторизуйтесь

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.