Опубліковано Вівторок в 17:443 дн Адміністратор № 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 WindowX 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 execshieldkernel.exec-shield=1kernel.randomize_va_space=1# Enable IP spoofing protection# Disable IP source routingnet.ipv4.conf.all.rp_filter=1# Ignoring broadcasts requestnet.ipv4.conf.all.accept_source_route=0net.ipv4.icmp_ignore_bogus_error_messages=1net.ipv4.icmp_echo_ignore_broadcasts=1# Make sure spoofed packets get loggednet.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 +4000find/-perm +2000# See all group id filesfind / \(-perm -4000 -o -perm -2000 \) -print# Or combine both in a single commandfind/-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: yesterdayPeriod is day.Logfiles for Host: www-52.nixcraft.net.inDetail Level of Output: 0Type of Output: unformatted--------------------- Named Begin ------------------------#################################################################Unmatched Entriesgeneral: 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-файли та дискові розділи за допомогою спеціальних інструментальних засобів.
Для публікації повідомлень створіть обліковий запис або авторизуйтесь