Поради щодо безпеки в системах GNU / Linux

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

Це компіляція основних правил безпеки для системних адміністраторів, в даному випадку для тих, хто, як і я, керує мережами / системами на базі GNU / Linux ... Може бути і більше, а насправді їх більше, це просто зразок моїх пригод у світі Linux ...

0- Оновлюйте наші системи останніми оновленнями безпеки.

0.1- Критичні оновлення Списки розсилки [Slackware радник з безпеки, Радник з безпеки Debian, у моєму випадку]

1- Нульовий фізичний доступ до серверів несанкціонованим персоналом.

1.1- Застосувати пароль до BIOS наших серверів

1.2- Немає завантаження з CD / DVD

1.3- Пароль у GRUB / Lilo

2- Хороша політика щодо паролів, буквено-цифрові символи та інші.

2.1- Старіння паролів [Старіння пароля] за допомогою команди “chage”, а також кількість днів між зміною пароля та датою останньої зміни.

2.2- Уникайте використання попередніх паролів:

у /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Таким чином, ви змінюєте пароль, і він нагадує про останні 10 паролів, які мав користувач.

3- Хороша політика управління / сегментації нашої мережі [маршрутизатори, комутатори, vlans] та брандмауер, а також правила фільтрації INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Увімкніть використання оболонок [/ etc / shells]. Користувачі, яким не потрібно входити в систему, отримують / bin / false або / bin / nologin.

5- Блокуйте користувачів, коли вхід не вдається [журнал відмов], а також контролюйте обліковий запис користувача системи.

passwd -l pepe -> заблокувати користувача pepe passwd -v pepe -> розблокувати користувача pepe

6- Увімкнути використання "sudo", НІКОЛИ не входити як root за допомогою ssh, "НІКОЛИ". Насправді для досягнення цієї мети потрібно відредагувати конфігурацію ssh. Використовуйте відкриті / приватні ключі на своїх серверах за допомогою sudo.

7- Застосовуйте в наших системах “Принцип найменших привілеїв».

8- Час від часу перевіряйте наші послуги [netstat -lptun] для кожного з наших серверів. Додайте інструменти моніторингу, які можуть допомогти нам у виконанні цього завдання [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Встановіть IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap - ваш друг, використовуйте його для перевірки вашої підмережі / підмережі.

11- Хороша практика безпеки в OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [ті, які найбільше використовують] та деякі інші послуги, які вам потрібні у вашій мережі.

12- Шифруйте весь зв’язок, наскільки це можливо в наших системах, SSL, gnuTLS, StarTTLS, дайджест тощо ... А якщо ви обробляєте конфіденційну інформацію, зашифруйте свій жорсткий диск !!!

13- Оновіть наші поштові сервери найновішими правилами безпеки, чорного списку та антиспаму.

14- Реєстрація активності в наших системах за допомогою logwatch та logcheck.

15- Знання та використання таких інструментів, як top, sar, vmstat, безкоштовно, серед інших.

sar -> звіт про активність системи vmstat -> процеси, пам'ять, система, введення / виведення, активність процесора тощо iostat -> статус процесора вводу / виводу mpstat -> стан і використання багатопроцесора pmap -> використання пам'яті вільними процесами -> пам'ять iptraf -> трафік в реальному часі нашого мережевого статусу -> консольний монітор статистики ethernet etherape -> графічний монітор ss -> статус сокета [інформація про сокет tcp, udp, необроблені сокети, сокети DCCP] tcpdump -> Детальний аналіз трафіку vnstat -> монітор мережевого трафіку вибраних інтерфейсів mtr -> інструмент діагностики та аналіз перевантаження в мережах ettool -> статистика про мережеві карти

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

Обійми, і я сподіваюся, це тобі служить 😀


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

26 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Корацукі - сказав він

    Запрошую вас у коментарях розповісти нам про якесь інше правило, яке ви застосували крім уже згаданих, щоб збільшити знання наших читачів 😀

    1.    Юкітеру - сказав він

      Ну, я б додав:

      1. - Застосувати правила sysctl для запобігання доступу до dmesg, / proc, SysRQ, призначити ядро ​​PID1, увімкнути захист для твердих і м’яких символічних посилань, захист для стеків TCP / IP як для IPv4, так і для IPv6, активувати повний VDSO для максимальних покажчиків рандомізації та розподілу місця в пам'яті та покращення міцності проти переповнення буфера.

      2. - Створіть протипожежні стіни типу SPI (Stateful Package Inspect), щоб запобігти доступу з'єднань, не створеним або дозволеним раніше, до системи.

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

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

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

      6. - Створіть ключі SSH RSA щонайменше 2048 біт або краще 4096 біт з буквено-цифровими ключами більше 16 символів.

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

      8. - Змонтувати будь-який зовнішній розділ, який цього не заслуговує, з параметрами noexec, nosuid, nodev.

      9. - Використовуйте такі інструменти, як rkhunter та chkrootkit, щоб періодично перевіряти, що в системі не встановлено руткіт чи шкідливе програмне забезпечення. Розумний захід, якщо ви один з тих, хто встановлює речі з ненадійних сховищ, з PPA або просто компілює код з ненадійних сайтів.

      1.    Корацукі - сказав він

        Мда, смачно ... Гарний коментар, додайте хлопці ... 😀

    2.    Вільям Морено Рейес - сказав він

      Застосувати обов’язковий контроль доступу з SElinux?

  2.   АрмандоФ - сказав він

    дуже хороша стаття

    1.    Корацукі - сказав він

      Дякую друже friend

  3.   жоако - сказав він

    Привіт, а якщо я звичайний користувач, чи слід мені використовувати su або sudo?
    Я використовую su, тому що мені не подобається sudo, тому що кожен, хто має мій пароль користувача, може змінити все, що забажає в системі, а не su.

    1.    Корацукі - сказав він

      На вашому ПК не заважає використовувати su, ви можете використовувати його без проблем, на серверах настійно рекомендується відключити використання su і використовувати sudo, багато хто каже, що це пов'язано з фактом аудиту, хто що виконав command і sudo виконує це завдання ... Я, зокрема, на своєму ПК я використовую його, як і ти ...

      1.    жоако - сказав він

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

    2.    Ендрю - сказав він

      Цікава стаття, я шифрую деякі файли за допомогою gnu-gpg, як і мінімальний привілей, якщо ви хочете виконати, наприклад, двійковий файл невідомого походження, загублений у величезному морі інформації на диску, як мені видалити доступ до певних функцій?

      1.    Корацукі - сказав він

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

      2.    Юкітеру - сказав він

        Я пам’ятаю, як читав, що є спосіб увімкнути кореневі можливості в якомусь посібнику з GNU / Linux та UNIX, якщо я знайду, то поміщу 😀

      3.    клоун - сказав він

        і клітини для чоун для запуску невідомих бінарних файлів?

    3.    Юкітеру - сказав він

      Використовувати sudo в будь-який час набагато краще.

    4.    елав - сказав він

      Або ви можете використовувати sudo, але обмежуючи час запам'ятовування пароля.

  4.   Кевін Родрігес - сказав він

    Подібні інструменти я використовую для моніторингу ПК, «iotop» як замінник «iostat», «htop» чудовий «диспетчер завдань», моніторинг пропускної здатності «iftop».

  5.   монітолінукс - сказав він

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

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    ps: китайські жебраки та їх спроби зламати мій сервер.

  6.   клоун - сказав він

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

  7.   Діаб - сказав він

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

  8.   Клаудіо Дж. Консепсьон Сертад - сказав він

    Хороший внесок.

    Я б додав: SELinux або Apparmor, залежно від дистрибутива, завжди включені.

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

    Привітання.

  9.   GnuLinux ?? - сказав він

    1.Як зашифрувати всю файлову систему? варто ??
    2. Чи потрібно його розшифровувати кожного разу, коли система буде оновлюватися?
    3. Чи є шифрування всієї файлової системи машини таким самим, як і кодування будь-якого іншого файлу?

    1.    Юкітеру - сказав він

      Як ви показуєте, що знаєте, про що говорите?

  10.   НауТілуС - сказав він

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

  11.   тон - сказав він

    Найкраща та найзручніша політика безпеки - не бути параноїком.
    Спробуйте, це безпомилково.

  12.   ангельбеніти - сказав він

    Я використовую csf, і коли розблоковує клієнт, який втратив свій пароль у певному доступі, це затримує процес, але це робить. Це нормально?

    Я шукаю команду, щоб розблокувати ssh ... будь-яка пропозиція