Безпека сервера linux
Безпека сервера Linux має дуже важливе значення для захисту ваших даних, інтелектуальної власності, а також часу від рук хакерів. За безпеку операційної системи Linux відповідає системний адміністратор. У цій статті ми розглянемо двадцять речей, які потрібно зробити з вашою операційною системою Linux щоб вона була завжди в безпеці і надійно захищена. Якщо це домашній комп`ютер, то про безпеку, можливо, і немає сенсу турбуватися настільки сильно, досить буде надійних паролів і закриття доступу до портів з мережі інтернет. Але в разі публічного сервера варто звернути увагу на забезпечення його захисту.
Ці інструкції підійдуть для будь-якого дистрибутива, неважливо що ви використовуєте CentOS, Red Hat або Ubuntu, Debian.
1. Шифрування зв`язку
Всі дані, що передаються по мережі відкриті для моніторингу. Тому потрібно шифрувати передані дані, там, де це можливо за допомогою паролів, ключів або сертифікатів.
Використовуйте scp, ssh, rsync, або sftp для передачі файлів. Можна також змонтувати віддалену файлову систему в ваш домашній каталог за допомогою таких інструментів, як shhfs.
GnuPG дозволяє шифрувати і підписувати ваші дані за допомогою спеціального особистого ключа. Також є функції для управління ключами і доступу до відкритих ключів.
Fugu - це графічний інструмент для передачі файлів по протоколу SFTP. SFTP дуже схожий на FTP, але вся сесія тут зашифрована. Це означає що ніякі паролі або команди не передаються у відкритому вигляді. А тому такі передачі менш уразливі для третіх сторін. Також можна використовувати FileZilla, це багатоплатформовий FTP клієнт з підтримкою роботи FTS через SSH / TLS і SSH File Transfer Protocol (SFTP).
OpenVPN - ефективний і легкий VPN клієнт з підтримкою шифрування по SSH.
2. Постарайтеся не використовувати FTP, Telnet, Rlogin і RSH
У більшості мереж імена користувачів, паролі від FTP, Telnet, RSH команд можуть бути перехоплені ким-небудь з тієї ж самої мережі за допомогою аналізатора пакетів. Загальне рішення цієї проблеми полягає у використанні OpenSSH, SFTP або SFTP, який додає SSL або TLS до звичайного FTP. Виконайте таку команду щоб видалити NIS, RSH і інші застарілі служби:
$ Yum list installed$ Yum list пакет
$ Yum remove пакет
або:
Відео: 5 порад щодо підвищення безпеки вашого сервера (ssh, iptables, phpmyadmin, wordpress)
$ Dpkg --info пакет
$ Apt-get remove пакет
4. Одна машина - одна служба
Запускайте різні служби на окремих серверах або віртуальних машинах. Це обмежує число сервісів, які можуть бути скомпрометовані. Наприклад, якщо зловмисник зможе зламати Apache, то він отримає доступ до всього сервера. Включаючи такі сервіси, як MySQL, сервер електронної пошти і так далі. Ви можете використовувати таке програмне забезпечення, як XEN або OpenVZ для віртуалізації.
5. Тримайте ядро Linux і ПО в актуальному стані
Застосування патчів безпеки це дуже важлива частина того щоб підтримувати безпеку сервера Linux. Операційна система надає всі інструменти для підтримки системи в актуальному стані, і поновлення до нових версій. Всі оновлення безпеки повинні застосовуватися якомога швидше. Тут теж потрібно використовувати ваш менеджер пакетів. наприклад:
Або для систем заснованих на Debian:
$ Change -l имя_пользователяЩоб отримати інформацію про рядку придатності пароля введіть команду:
Також ви можете все налаштувати вручну, в файлі / etc / shadow:
{Користувач}:{Пароль}:{Последнее_ізмененіе}:{Максімум_дней}:{Мінімум_дней}:{Попередження}:{Деактивувати}:{Строк_годності}:
- мінімум днів - мінімальний інтервал між змінами паролів, тобто наскільки часто користувач може змінювати пароль.
- максимум днів - скільки днів буде придатний пароль, після закінчення цього терміну користувач буде змушений поміняти пароль.
- попередження - кількість днів після яких користувач буде попереджений, що йому потрібно змінити пароль.
- Строк_годності - кількість днів з першого січня 1970 коли аккаунт буде повністю відключений.
Рекомендується використовувати таку команду, замість редагування файлу / etc / shadow вручну:
$ faillogА щоб задати ліміт спроб входу для певного облікового запису використовуйте:
$ Passwd -l користувачА для розблокування:
$ Awk -F: `($ 2 == "") {print}` / etc / shadowДалі такі акаунти залишається тільки заблокувати.
Також перевірте чи немає користувачів з групою або ідом 0. Такий користувач повинен бути тільки один, і це root. Перевірити можна за допомогою такої команди:
root: x: 0: 0: root: / root: / bin / bashЯкщо є й інші - видаліть їх. Користувачі, а особливо їх слабкі паролі - одна з найбільш уразливих речей, яка може негативно вплинути на безпечність в linux.
10. Вимкніть вхід для суперкористувача
Дбаючи про безпеку системи linux ніколи не використовуйте вхід від імені root користувача. Ви можете скористатися sudo, щоб отримати необхідні повноваження і запустити потрібну команду від імені суперкористувача. Ця команда дозволяє не розголошувати пароль суперкористувача іншим адмінам, а також містить інструменти моніторингу, обмеження і відстеження дій.
11. Фізична безпека сервера
Безпека сервера Linux повинна включати фізичну безпеку. Ви повинні обмежити фізичний доступ до консолі сервера. Налаштуйте BIOS так, щоб не підтримувалася завантаження з зовнішніх носіїв, таких як DVD, CD, USB. Також встановіть пароль на BIOS і завантажувач GRUB, щоб захистити їх параметри.
12. Вимкніть непотрібні сервіси
Вимкніть всі невикористовувані сервіси і демони. Також не забудьте видалити ці сервіси з автозавантаження. Ви можете подивитися список всіх активних сервісів в системах Red Hat командою:
$ Service сервіс stop$ Chkconfig сервіс off
Знайдіть всі відкриті програмами порти:
# Nmap -sT -O localhostВикористовуйте iptables, щоб закрити всі порти, які не повинні бути доступні з мережі. Або зупиніть непотрібні сервіси як описано вище.
13. Видаліть Х сервер
Х сервер на серверному комп`ютері - річ зовсім необов`язкова. Вам не потрібно запускати графічне оточення на виділеному Apache або Email сервері. Видаліть це програмне забезпечення для збільшення безпеки і продуктивності.
14. Налаштуйте Iptables
iptables - це програма простору користувача для налаштування вбудованого в ядро фаервола Netfilter. Він дозволяє фільтрувати весь трафік і вирішувати тільки певні види трафіку. Також використовуйте TCPWrappers - ACL систему для фільтрації доступу в інтернет. Ви можете запобігти безлічі типів DOS атак за допомогою iptables. Мережева безпека в Linux це дуже важливий момент загальної безпеки системи.
15. Налаштуйте ядро
У файлі /etc/sysctl.conf зберігаються настройки ядра, які завантажуються і застосовуються під час запуску системи.
Включити захист від переповнення буфера execshield:
kernel.randomize_va_space = "1
Включити "захист від підробки IP:
Відключити перенаправлення IP адрес:
net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_ignore_bogus_error_messages = 1
Логгіровать все підроблені пакети:
$ Find / -perm +4000Знайти файли з встановленим SGID прапором:
Відео: Ubuntu Server 14.04.2. установка
$ Find / (-perm -4000 -o -perm -2000 ) -print$ Find / -path -prune -o -type f -perm +6000 -ls
Вам доведеться детально вивчити кожен знайдений файл, щоб зрозуміти наскільки потрібен той чи інший файл.
20. Загальнодоступні файли
Також бажано знайти файли, які можуть змінювати всі користувачі в системі. Для цього використовуйте таку команду:
$ Find / dir -xdev (-nouser -o -nogroup ) -print21. Використовуйте централізовану систему аутентифікації
Без централізованої системи аутентифікації призначені для користувача дані стають суперечливими, що може привести до старіння облікових даних, і забування акаунтів, які повинні були б бути вже давно видалені. Централізована служба дозволить підтримувати контроль над обліковими записами і аутентифікаційних даними користувачів на різних системах Linux і Unix. Ви можете синхронізувати дані аутентифікації між серверами. Але не використовуйте службу NIS, краще подивіться в сторону Open DAP.
Однією з цікавих реалізацій такої системи є Kerberos. Вона дозволяє виконувати аутентифікацію користувачів за допомогою секретного ключа, в мережах, де пакети можуть бути перехоплені і модифіковані. Kerberos використовує симетричний ключ для шифрування даних і вимагає для своєї роботи центр управління ключами. Ви можете налаштувати віддалений вхід, віддалене копіювання, захищене копіювання файлів між системами і інші завдання, з високим рівнем безпеки.
22. Логування і аудит
Налаштуйте логгірованіе і аудит для збору і збереження всіх невдалих спроб входу і спроб злому. За замовчуванням всі логи або, принаймні, більшість з них знаходяться в папці / var / log /. Детальніше, про те, за що відповідають певні лог файли ми говорили в окремій статті.
Ви можете дивитися логи за допомогою таких утиліт, як logwatch або logcheck. Вони дуже сильно спрощують читання логів. Ви можете переглядати не весь файл, а тільки ваші події, а також відправляти собі повідомлення на електронну адресу.
Спостерігайте за системою за допомогою служби auditd. Програма записує на диск всі події аудиту які вас цікавлять. Всі настройки аудиту зберігаються в файлі /etc/audit.rules при запуску системи сервіс прочитує всі правила з цього файлу. Ви можете його відкрити і налаштувати все як потрібно або ж скористатися окремою утилітою - auditctl. Можна налаштувати такі моменти:
- Події запуску та вимикання системи
- Дата і час події
- Призначені для користувача події (наприклад доступ до певного файлу)
- Тип події (редагування, доступ, видалення, запис, оновлення і т д)
- Успішність чи збій при виконанні події
- Запис подій зміни налаштувань мережі
- Запис зміни користувачів і груп
- Моніторинг змін файлів
23. Захистіть OpenSSH сервер
OpenSSH рекомендується використовувати для віддаленого доступу до комп`ютера і захищеної передачі даних. Але в той же час сервер схильний багатьом атакам. Наприклад, навіть перебір пароля.
Тому рекомендується відключити використання протоколу SSH1, на користь більш захищеного SSH2. Всі настройки сервера ssh знаходяться в файлі / etc / ssh / sshd_config.
Дозвольте тільки використання протоколу 2:
PermitRootLogin noТакож рекомендується змінити порт ssh на випадковий і взагалі не використовувати паролі для аутентифікації, а тільки ключі.
24. Встановіть IDS
IDS або система виявлення вторгнень намагається виявити підозрілу, шкідливу активність, таку як атака DOS, сканування портів або навіть спроби зламати комп`ютер шляхом моніторингу мережевого трафіку.
Хороша практика - розгорнути подібне програмне забезпечення, перед тим як система стане доступною з інтернету. Ви можете встановити AIDE, це HIDS (Host based IDS) яка може контролювати всі аспекти внутрішнього устрою вашої системи.
Snort - це програмне забезпечення для виявлення спроб вторгнення з мережі. Вона здатна виконувати аналіз і журнал пакетів і аналізувати мережевий трафік в реальному часі.
25. Захистіть ваші файли і каталоги
У Linux є відмінні засоби захисту від несанкціонованого доступу до файлів. Однак дозволу встановлені Linux і файлової системою нічого не значать, коли у зловмисника є фізичний доступ до комп`ютера і він може просто підключити жорсткий диск комп`ютера до іншої системи, щоб скопіювати ваші дані. Але ви можете легко захистити свої файли за допомогою шифрування:
- Для шифрування і розшифровки файлу по паролю використовуйте GPG
- Також можна захищати файли за допомогою OpenSSL
- Шифрування каталогів виконується за допомогою ecryptfs
- TrueCrypt - вільний інструмент для шифрування дисків в Windows і Linux
висновки
Тепер безпеку ос linux на вашому комп`ютері буде набагато збільшена. Не забувайте ставити складні паролі і час від часу перевіряти систему на руткіти. Напишіть в коментарях свій улюблений інструмент для забезпечення безпеки системи.
- Кращі vpn для linux 2016
- Кращі arm linux дистрибутиви
- Найбезпечніші linux дистрибутиви
- Як видалити користувача в linux
- Як дізнатися версію linux mint
- Як відкрити порт ubuntu
- Дізнаємося хто використовує мережу в linux
- Шифрування дисків в linux
- Установка owncloud ubuntu 16.04
- Установка і настройка freenx
- Rsync приклади синхронізації
- Установка ssh ubuntu 16.04
- Адміністрування linux
- Установка telegram ubuntu 16.04
- Установка astra linux
- Lame - linux administration made easy
- Моніторинг мережі linux
- Статистика використання linux
- Встановлюємо параметри ядра в grub
- Безпека при роботі з комп`ютером 2017
- Lfs - linux from scratch