Ну, я готував цю посаду до мій блог деякий час вони пропонували мені це в DesdeLinux, а через брак часу він не мав змоги чи бажання. Якщо я трохи лінивий 😀. Але зараз вони страйкують, як ми говоримо на Кубі ...
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 -> статистика про мережеві карти
Поки що це все. Я знаю, що в такому середовищі є ще тисяча і одна пропозиція щодо безпеки, але саме вони мене найбільше вразили, або що в якийсь момент мені довелося застосовувати / займатися в середовищі, яке я вводив .
Обійми, і я сподіваюся, це тобі служить 😀
Запрошую вас у коментарях розповісти нам про якесь інше правило, яке ви застосували крім уже згаданих, щоб збільшити знання наших читачів 😀
Ну, я б додав:
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 або просто компілює код з ненадійних сайтів.
Мда, смачно ... Гарний коментар, додайте хлопці ... 😀
Застосувати обов’язковий контроль доступу з SElinux?
дуже хороша стаття
Дякую друже friend
Привіт, а якщо я звичайний користувач, чи слід мені використовувати su або sudo?
Я використовую su, тому що мені не подобається sudo, тому що кожен, хто має мій пароль користувача, може змінити все, що забажає в системі, а не su.
На вашому ПК не заважає використовувати su, ви можете використовувати його без проблем, на серверах настійно рекомендується відключити використання su і використовувати sudo, багато хто каже, що це пов'язано з фактом аудиту, хто що виконав command і sudo виконує це завдання ... Я, зокрема, на своєму ПК я використовую його, як і ти ...
Звичайно, я насправді не знаю, як це працює на серверах. Хоча, мені здається, що sudo мав ту перевагу, що ти можеш надати привілеї користувачеві іншого комп’ютера, якщо я не помиляюся.
Цікава стаття, я шифрую деякі файли за допомогою gnu-gpg, як і мінімальний привілей, якщо ви хочете виконати, наприклад, двійковий файл невідомого походження, загублений у величезному морі інформації на диску, як мені видалити доступ до певних функцій?
Я завдячую цією частиною вам, хоча я думаю, що ви повинні запускати лише як sudo / root програми, які є надійними, тобто вони походять з вашого репо ...
Я пам’ятаю, як читав, що є спосіб увімкнути кореневі можливості в якомусь посібнику з GNU / Linux та UNIX, якщо я знайду, то поміщу 😀
@andrew ось стаття, яку я згадав, і ще деяка допомога
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
і клітини для чоун для запуску невідомих бінарних файлів?
Використовувати sudo в будь-який час набагато краще.
Або ви можете використовувати sudo, але обмежуючи час запам'ятовування пароля.
Подібні інструменти я використовую для моніторингу ПК, «iotop» як замінник «iostat», «htop» чудовий «диспетчер завдань», моніторинг пропускної здатності «iftop».
багато хто буде думати, що це перебільшено, але я вже бачив атаки на включення сервера до бот-мережі.
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps: китайські жебраки та їх спроби зламати мій сервер.
те, що також зручно, - це використовувати для обслуговування сервісні клітини, тому якщо з якихось причин на них нападають, вони не скомпрометують систему.
Використання команди ps також чудово підходить для моніторингу і може бути частиною дій для перевірки на наявність недоліків безпеки. запущений ps -ef перераховує всі процеси, він схожий на top, проте показує деякі відмінності. інсталяція iptraf - ще один інструмент, який може працювати.
Хороший внесок.
Я б додав: SELinux або Apparmor, залежно від дистрибутива, завжди включені.
На власному досвіді я зрозумів, що вимикати ці компоненти - погана практика. Ми майже завжди робимо це, коли збираємось встановлювати або налаштовувати послугу, з виправданням, що вона працює без проблем, коли насправді те, що ми повинні робити, це навчитися обробляти їх, щоб дозволити цю службу.
Привітання.
1.Як зашифрувати всю файлову систему? варто ??
2. Чи потрібно його розшифровувати кожного разу, коли система буде оновлюватися?
3. Чи є шифрування всієї файлової системи машини таким самим, як і кодування будь-якого іншого файлу?
Як ви показуєте, що знаєте, про що говорите?
Крім того, ви можете перенести програми в клітку і навіть кількох користувачів. Хоча робити це більше роботи, але якщо щось трапилось, і у вас була попередня копія цієї папки, це просто натискання та спів.
Найкраща та найзручніша політика безпеки - не бути параноїком.
Спробуйте, це безпомилково.
Я використовую csf, і коли розблоковує клієнт, який втратив свій пароль у певному доступі, це затримує процес, але це робить. Це нормально?
Я шукаю команду, щоб розблокувати ssh ... будь-яка пропозиція