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

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

Це компіляція основних правил безпеки для системних адміністраторів, в даному випадку для тих, хто, як і я, керує мережами / системами на базі 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 ... будь-яка пропозиція