- 20.06.2022
- 23 845
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Как обеспечить безопасность Linux?
Поскольку так много наших личных и профессиональных данных сегодня доступно в Интернете, важно, чтобы все – от профессионалов до обычных пользователей Интернета – знали основы безопасности и конфиденциальности. Будучи студентом, я смог получить опыт в этой области в рамках самообразования, а именно изучения различных иностранных материалов, так как в институте рассказывали только про СТРК, модели угроз и ПЭМИН, и +100500 изменений в ФЗ 152 и теперь адаптирую этот материл на русском языке. В частности в этой статье рассмотрим использование инструментов с открытым исходным кодом для защиты вашей среды Linux от взломов.В этой статье описываются шесть простых шагов по повышению безопасности вашей среды Linux для персонального использования. На протяжении всего своего пути я использовал инструменты с открытым исходным кодом для ускорения процесса обучения и ознакомления с концепциями более высокого уровня, связанными с обеспечением безопасности моего Linux-сервера. Я протестировал эти шаги, используя различные версии Ubuntu, но эти шаги также подойдут и для других дистрибутивов Linux.
1. Запуск обновлений
Разработчики постоянно находят варианты, как сделать серверы более стабильными, быстрыми и безопасными, исправляя известные уязвимости. Регулярный запуск обновлений – хорошая практика для обеспечения безопасности. Запускайте их с помощью:
Код:
sudo apt-get update && apt-get upgrade
2. Включение защиты межсетевого экрана
Включение брандмауэра облегчает контроль входящего и исходящего трафика на вашем сервере.Существует множество приложений брандмауэра, которые можно использовать в Linux, включая firewall-cmd и Uncomplicated Firewall (UFW). Я использую UFW, поэтому мои примеры относятся именно к нему, но эти принципы применимы к любому выбранному вами инструменту.
Установите UFW с помощью:
Код:
sudo apt-get install ufw
Если вы хотите еще больше обезопасить свой сервер, вы можете запретить входящие и исходящие соединения. Будьте осторожны и внимательны: Это изолирует ваш сервер от всего мира, поэтому после блокирования всего трафика вы должны указать, какие исходящие соединения разрешены из вашей системы:
Код:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Вы также можете написать правила для разрешения входящих соединений, которые нужны вам для персонального использования:
Код:
ufw allow <service>
Например, чтобы обеспечить разрешение SSH-соединений:
Код:
ufw allow ssh
В завершение включите брандмауэр, используя:
Код:
sudo ufw enable
3. Усиление защиты паролей
Применение строгой политики паролей является важным аспектом обеспечения безопасности сервера от кибератак и утечки данных.Некоторые лучшие практики для политики паролей включают обеспечение минимальной длины и указание возраста пароля. Для выполнения этих задач я использую пакет libpam-cracklib.
Установите пакет libpam-cracklib:
Код:
sudo apt-get install libpam-cracklib
Чтобы обеспечить соблюдение длины пароля:
- Откройте файл /etc/pam.d/common-password.
- Измените минимальную длину символов для всех паролей, изменив строку minlen=12 на любое количество символов.
- В том же файле (/etc/pam.d/common-password) добавьте строку remember=x.
- Например, если вы хотите запретить пользователю повторно использовать один из его последних пяти паролей, используйте: remember=5.
Найдите следующие строки в файле /etc/login.defs и замените их на желаемое количество времени (дней). Например:
Код:
PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14
Обеспечение соблюдения сложности пароля
- Четыре параметра для обеспечения символов в паролях: lcredit (строчные буквы), ucredit (прописные буквы), dcredit (цифра) и ocredit (спец символы).
- В том же файле (/etc/pam.d/common-password) найдите строку, содержащую pam_cracklib.so.
- Добавьте следующее в конец этой строки:
Код:
lcredit=-a ucredit=-b dcredit=-c ocredit=-d
Например, следующая строка требует, чтобы пароли содержали по одному символу. Вы можете изменить числа в зависимости от предпочитаемого уровня безопасности пароля:
Код:
lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
4. Отключение ненужных служб, которые подвержены к эксплуатации различных уязвимостей
Лучшей практикой является отключение ненужных служб. Это позволит ограничить количество портов, открытых для эксплуатации.Установите пакет systemd:
Код:
sudo apt-get install systemd
Проверьте, какие службы запущены:
Код:
systemctl list-units
Остановите службу, если она запущена:
Код:
systemctl stop <service>
Отключите включение службы при загрузке:
Код:
systemctl disable <service>
После выполнения этих команд проверьте состояние службы:
Код:
systemctl status <service>
5. Проверка прослушиваемых портов
Открытые порты могут представлять угрозу безопасности, поэтому важно проверить, какие порты прослушиваются на вашем сервере. Я использую команду netstat, чтобы показать все сетевые подключения:
Код:
netstat -tulpn
Посмотрите на столбцы адресов, чтобы определить номер порта. Обнаружив открытые порты, проверьте их, чтобы убедиться, что все они необходимы. Если это не так, измените запущенные службы или настройки МЭ.
6. Сканирование на наличие вредоносных программ
Использование антивирусного программного обеспечения – это простой способ уберечь ваш хост от вредоносных программ. Я предпочитаю использовать программу ClamAV с открытым исходным кодом.Установите ClamAV:
Код:
sudo apt-get install clamav
Обновите сигнатуры вирусов:
Код:
sudo freshclam
Просканируйте все файлы и выведете на экран зараженные файлы:
Код:
sudo clamscan -r --bell -i /
Необходимо автоматизировать сканирование, чтобы вам не приходилось запоминать команды или тратить время на выполнение сканирования вручную. Для такой простой автоматизации вы можете использовать таймеры systemd или ваш любимый cron.
Заключение
Это лишь некоторые из многих шагов, которые Вы можете предпринять для обеспечения безопасности Вашего Linux-сервера. Конечно, профилактика – это только часть решения. Эти практики должны сочетаться с тщательным мониторингом на предмет атак типа “отказ в обслуживании”, анализом системы с помощью Lynis и постоянным созданием резервных копий.Последние темы в этом разделе:
- [Павел Монахов] [Специалист] Linux. Уровень 2. Администрирование сетевых сервисов (2024)
- Путь настоящего хакера - лежит в его инструменте. Или Kali Linux'еры !
- [Павел Монахов] [Специалист] Системное администрирование Linux (2024)
- [Udemy] Cyber Security: Освоение безопасности Linux (2019)
- [Платон Платонов] [Слёрм] Администрирование Linux. Мега. Тариф Стандарт (2022)
- Российская операционная система Alt Linux
- Как запустить на своём пк chatgpt или использование LLM с помощью ollama.
- Сегодня день, когда вы удалите Windows.
- Trace Labs OSINT - Виртуальная машина на Linux, ориентированная для OSINT
- Список 500 лучших инструментов взлома в termux и Linux