Забезпечення свіжого сервера Ubuntu [закрито]


Відповіді:


25

Я не можу придумати жодних настроїв, характерних для Ubuntu, але ось декілька, які стосуються всіх дистрибутивів:

  1. Видаліть усі непотрібні пакети
  2. Використовуйте автентифікацію лише з відкритим ключем у SSH
  3. Вимкнути кореневі входи через SSH (не застосовується до Ubuntu)
  4. Використовуйте виробничі налаштування для PHP (рекомендується php.ini)
  5. Налаштуйте MySQL лише для використання розеток

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

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


1
Змініть порт для таких сервісів, як MySQL (марно, якщо налаштувати його на використання лише сокетів), FTP (хоча, якщо ви захищені, ви взагалі не повинні використовувати FTP), SSH та всілякі.
Джош Хант

3
"Видаліть усі непотрібні пакети". ДОБРЕ. Це досить невиразно. Які "непотрібні" пакети?
Лука

2
@Luke: Все, що ви не використовуєте, зайве. Більш конкретні, запущені сервіси, які вам не потрібні, становлять непотрібний ризик.
Андріоїд

@Luke: кішка / тощо / послуги повинні дати вам кілька ідей.
jeshurun

17

Одна швидка річ, яку я рано роблю, - це встановити DenyHosts . Він регулярно буде переглядати / var / log / secure, шукати невдалі входи в систему, а після пари відмов блокувати IP. Я встановив його для блокування після першого не-такого користувача, під час другої спроби root та після пари спроб для реальних користувачів (у випадку, якщо ви зіпсуєте, але для входу вам слід використовувати відкритий ключ SSH).


3
як ви посилаєтесь на домашню сторінку sourceforge - denyhosts також доступний у сховищі (Всесвіт) через "sudo aptitude install denyhosts"
Олаф

хороший момент @olaf. Більшість серверів, на які я його встановив, були RHEL, де він також знаходиться в репортажі DAG.
Алістер Бульман

+1 Для заперечень
wimvds

2
DenyHosts, здається, лише виявляє та блокує атаки ssh brute force. Кращим вибором може бути fail2ban (він також доступний у репостах), який відстежує різні речі, включаючи журнали apache серед іншого. Перевірте вікі спільноти на help.ubuntu.com/community/Fail2ban
jeshurun

10

Ubuntu базується на Debian, і я вважаю, що Посібник із забезпечення Debian є дуже корисним у дистрибутивах на основі Debian, щоб повністю провести вас через вашу систему та перевірити кожну частину. Це в основному справді, дійсно всебічна відповідь на ваше запитання.


У вас є посилання на це?
Полум'я

1
Вибачте, думав, що посилання було у публікації. Це за адресою: debian.org/doc/manuals/securing-debian-howto
Майк МакКвайд

5

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


4

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

Перевірте, які процеси прослуховуються за допомогою netstat, і переконайтеся, що нічого не працює, що не потрібно запускати. Багато демонів можна налаштувати лише для прослуховування через внутрішній IP (або localhost) замість усіх інтерфейсів.


3

Робіть те, що може запропонувати ...

Nmap хост і відключити всі несуттєві послуги. За потреби використовуйте iptables.


2
На будь-якому сервері, який є доступним через Інтернет, iptables завжди необхідні. ;-)
Крістофер Кашелл

3

Якщо ви збираєтесь з сервером десь поблизу Інтернету, встановіть систему виявлення вторгнень, наприклад, фронт.


3

Використовуйте окремі розділи для різних каталогів, наприклад, /tmpабо /varмонтуйте їх nosuid, nodevі noexecякщо це можливо.


3

Деякі пропозиції брандмауера.

Навчіться користуватися брандмауером та принципами правильного блокування коробки. Зміна портів за замовчуванням є значною мірою марною справою; правильне застосування та конфігурація брандмауера набагато важливіші.

Обидва знаходяться в репортах Ubuntu:

FireHOL

має приголомшливу документацію і дуже простий у вивченні синтаксис. Мені вдалося встановити шлюз / брандмауер за двадцять хвилин. Єдина причина, від якої я відійшов від цього, це те, що він, схоже, не підтримується (останній реліз 2 роки тому). Це не означає, що це не працює, але ...

Ферм

це ще один. Більш синтаксис, подібний до iptables, але таке ж поняття. Більш спільнота підтримується, ніж FireHOL, але збирання займає більше часу.

Shorewall

це те, що я зараз використовую. Його документація є великою, а її конфігураційний формат - табличним. Щоб зрозуміти всі необхідні файли (6), щоб запустити конфігурацію робочого брандмауера / шлюзу, мені знадобилося близько півтори години. Це досить потужно. ПОРАДА: Доступні сторінки для різних конфігураційних файлів дійсно корисні!

Усі ці конфігурації брандмауера завантажуються з файлу config. Дуже ефективний, простіший у використанні, ніж iptables прямо вгору, і (на мою думку) простіший у використанні та керуванні, ніж ufw.

Інший:

  • Я друге рекомендації щодо використання ключа SSH.

  • Налаштування IDS.

  • Дізнайтеся про AppArmor. Він обмежує доступ до файлів до файлів лише вказаними каталогами та потрібними файлами. Подібно до SELinux у світі RHEL. Він встановлений та увімкнений за допомогою попередньо налаштованих "профілів" для багатьох добре використовуваних програм.


2

Як і інші пропозиції, тут я згадаю три, які очевидні, але, можливо, варто згадати для повноти:

  1. Якщо ви не вважаєте, що вам потрібен брандмауер, подумайте ще раз. ufw простий, але розроблений для Ubuntu та заснований на iptables
  2. Оновіть пакети: як мінімум застосуйте всі виправлення безпеки
  3. Документуйте, що ви зробили для захисту сервера і чому. Включіть конфігураційні (автоматизовані) процеси для моніторингу журналів, тестуйте конфігурацію та повідомте про необхідні оновлення безпеки.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.