Средства безопасности ос linux сервер

Как защитить сервер Linux от вредоносного ПО?

В любой системе уязвимости могут нанести ущерб, если не будут предприняты необходимые меры безопасности. Самая известная мера защиты — регулярное обновление ПО. Однако, этого недостаточно для полноценной защиты.

Linux является одной из наиболее используемых ОС, что делает ее привлекательной мишенью для киберпреступников, которые пытаются украсть конфиденциальную информацию, загрузить вредоносные файлы в систему и запустить вредоносный скрипт, чтобы получить контроль над системой. Чтобы вы могли обезопасить Linux сервер и проверить наличие вредоносных программ, мы составили список лучших сканеров, а также инструменты для обнаружения зловредного ПО.

Lynis.

  • Аудит безопасности;
  • Обнаружение уязвимостей;
  • Тестирование на проникновение;
  • Улучшение защиты системы;
  • Обнаружение ошибок конфигурации;

Далее выводятся все доступные функции программы:

Запуск системы аудита Lynis:

Затем выводится информация о проведённом анализе:

При выполнении команды система аудита lynis создает два файла: lynis.log и lynis-report.dat. Файл lynis.log регистрирует все выполненные тесты во время аудита и возвращает результат тестов. Файл lynis-report.dat содержит отчет с предложениями по улучшению защиты системы. В результате, lynis раскрывает информацию о безопасности системы и возможных неправильных конфигурациях, и уязвимостях. Вот пример отчета lynis-report.dat:

Chkrootkit.

Руткит даёт злоумышленнику возможность удаленно управлять вашим компьютером. Иногда руткит трудно обнаружить и сложно удалить. Chkrootkit представляет из себя инструмент для локальной проверки наличия признаков руткита.

Другими словами, это сценарий оболочки, который использует простые команды Linux для проверки расхождений в двоичных файлах системы. Chkrootkit может легко идентифицировать троянец по известным сигнатурам.

Проверка команды Chkrootkit:

Далее выводится следующее: Во время тестов Chkrootkit выводит следующие сообщения:

  • «INFECTED»: тест выявил команду, вероятно, измененную руткитом;
  • «not infected»: тест не обнаружил руткит;
  • «not tested»: тест не проводился;
  • «nothing found»: тестируемая команда недоступна;
  • «vulnerable but disabled»: команда заражена, но не используется (не запущена или не указана в inetd.conf)

Запуск Chkrootkit в экспертном режиме:

Команда выводит следующее:

Запуск Chkrootkit в экспертном режиме с Grep:

Команда «chkrootkit -x | egrep ‘^/’» запускает chkrootkit в экспертном режиме и указывает строки пути в системных командах, что помогает при поиске подозрительных строк в двоичных файлах системы. Поскольку набор известных подписей Chkrootkit фиксирован, этот параметр помогает расширить возможности Сhkrootkit.

Chkrootkit — это система обнаружения вторжений, которая предотвращает потенциальный вред и помогает в процессе восстановления, если ваша система была скомпрометирована.

Linux Malware Detect

Linux Malware Detect — это бесплатный open-source сканер вредоносного ПО, который предназначен для использования данных об угрозах из систем обнаружения сетевых вторжений и создания сигнатур вредоносных программ.

Читайте также:  Linux copy files with progress

Linux Malware Detect необходимо скачать с сайта https://rfxn.com. С помощью команды «wget https://www.rfxn.com/downloads/maldetect-current.tar.gz» можно загрузить сканер и сохранить его в нашем текущем рабочем каталоге.

Для извлечения tar файла нужно использовать команду «tar -zxvf maldetect-current.tar.gz».

Теперь перейдите в каталог «maldetect-`version`»:

Если использовать команду «ls» для проверки содержимого каталога после извлечения tar файла, можно увидеть, что была создана новая папка с именем «maldetect-1.6.4». Теперь нужно перейти в каталог с помощью команды «cd maldetect-1.6.4».

Запуск сценария установки:

С помощью команды «ls» мы проверяем содержимое нашего каталога «maldet», который был создан после извлечения файла.

Далее нужно запустить скрипт «install.sh» в этом каталоге, чтобы установить Linux Malware Detect. Используйте команду «./install.sh» для запуска сценария установки или выполните команду «sh /path/to/file/install.sh» в зависимости от того, где находится ваш сценарий установки.

После установки следует отредактировать файл конфигурации:

С помощью команды «vi /usr/local/maldetect/conf.maldet» мы можем обновить файл конфигурации «maldet», чтобы изменить настройки.

Включаем оповещения по электронной почте:

Когда вы впервые открываете файл «conf.maldet», для параметра «email_alert» будет установлено значение «0». Если вы хотите получать уведомления по электронной почте о результатах автоматического сканирования, установите значение «1». Переменная «email_addr» является адресом электронной почты, на которое будут приходить уведомления.

Изначально для «scan_clamscan» будет установлено значение «1». Лучше оставить это значение, чтобы ClamAV и LMD могли работать вместе для обеспечения лучшей производительности при сканировании. (ClamAV — это антивирусный движок с открытым исходным кодом для обнаружения троянов, вирусов и вредоносных программ)

Доступные команды Linux Malware Detect:

Команда «maldet -a /var/log» просканирует весь каталог «/var/log».

После запуска будет выведено следующее:

Также вы получите электронное письмо с результатами сканирования. В нижней части экрана отобразился вывод «отчет о сканировании сохранен, для просмотра выполните: maldet –report 220608-1246.68920». У каждого пользователя имя отчета будет индивидуальным. Далее мы вводим команду «maldet –report 220608-1246.68920»

LMD отсканировал 4 файла, было 0 обращений и 0 файлов очищено. Это означает, что вредоносное ПО отсутствует, и ничего не нужно очищать.

Почему именно эти три инструмента?

Существует множество бесплатных open-source инструментов для обнаружения вредоносных программ. Поскольку каждый пользователь использует разные сценарии, мы предоставили список инструментов, которые можно использовать для разных целей.

Пользователь может выбрать правильный инструмент для своих нужд и установить его через командную строку или соответствующие интерфейсы.

Вывод

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

Ежедневно регистрируется около 2200 кибератак (помимо незарегистрированных атак), которые можно предотвратить с помощью надлежащих мер защиты. Использование упомянутых инструментов — это первый шаг к обеспечению безопасности вашего сервера и системы.

Почему ваши данные всегда находятся в центре внимания ХАКЕРОВ?

Читайте также:  Linux commands to configure network

Присоединитесь к нашему ТГ каналу и станьте невидимым для хищников цифрового мира.

Источник

Базовая безопасность в Linux

Вопрос безопасности всегда актуален. Рассмотрим основы защиты сервера под управлением ОС Linux.

Системные обновления

Своевременно устанавливать обновления для ОС – хорошая привычка. Разумеется, бывают случаи, когда обновление влечет за собой негативные последствия, но это происходит крайне редко. Данный процесс можно упростить, если использовать автообновления системы.

В разных дистрибутивах это делается по-своему:

Debian/Ubuntu используют пакет unattended upgrades для автоматических обновлений

В дистрибутиве Fedora используется dnf-automatic

Если сервер под критической нагрузкой, то следует использовать штатные средства.

Ubuntu/Debian:

Fedora/Centos:

Важно! Обновление коснется только тех пакетов и приложений которые не были установлены путем компилирования и получены как исполняемые файлы.

Системные пользователи с ограниченными правами.

Подключение к серверу под учетной записью суперпользователя root небезопасно. Кроме того, мы рекомендуем сменить любого non-root пользователя присутствующего в системе по умолчанию. Да, хотя бы даже пароль.

Изменение пароля происходит командой:

Команду изменит пароль для того пользователя, от которого запускается. Если нужно изменить пароль для другого пользователя, следует выполнять команду следующим образом.

Для Ubuntu/Debian:

Изменение пароля

Если у вас только пользователь root, то обосновано будет создать пользователя с ограниченными правами.

Для создания пользователя используют команду:

В ходе своей работы программа запросит пароль для учетной записи, сведения о пользователе, которые можно пропустить нажаитем Enter.
По окончании заполнения данных программа запросит подтверждение корректности информации.

Наделяем пользователя правами администратора. Для этого добавим пользователя в группу sudo:

Наделяем пользователя правами администратора

В случае с CentOS/Fedora пользователь создается иначе:

Добавляем пользователя в группу wheel:

Безопасное соединение по SSH

По умолчанию, доступ к серверу Linux осуществляется по паре логин-пароль на 22 TCP-порт. Согласно последним стандартам безопасности, рекомендуется поменять адрес порта сервера, а подключение производить по паре логин-ключ.

Важно! Данный пример подходит для Linux и MacOS.

В начале проверяем генерировались ли ранее ключи для данной учетной записи:

Если результат будет не пустым, то следует пропустить шаг создания ключа. У нас пусто – создаем командой:

В ходе выполнения программы, может быть запрошена парольная фраза и ее подтверждение. Своего рода защита ключа паролем.

Безопасное соединение по SSH

Для генерации ключа в Windows подходит программа PuTTY-Gen, которую можно скачать с официального сайта.

После запуска программы, выбираем тип ключа RSA и кликаем по кнопке Generate.

Тип ключа RSA

Активно двигаем мышью в поле окна. По окончании процедуры получим следующее:

Безопасное соединение по SSH

Копируем публичный ключ и сохраняем приватный в файл.

Добавляем ключ на удаленный сервер.

Существует два варианта решения проблемы.

1 вариант. Залить публичный ключ, который записан в файл с именем authorized_keys с помощью программы WinSCP по пути /home/remoteuser/

Для этого необходимо после запуска программы WinSCP заполнить соответсвующие поля Address, Login и Password.

2 вариант. Подключить к серверу с помощью утилиты putty, выполнить в терминале команду:

Читайте также:  Open rpm in linux

Пустой файл authorized_keys будет открыт на редактирование. Вставляем сгенерированный ранее публичный(!) ключ. Он представляет собой одну строку.

Сохраняем файл и выполняем команду:

Настройка службы SSH

Запрещаем авторизацию от пользователя root. Ваша учетная запись должна быть в группе sudo или wheel (в зависимости от ОС) для того чтобы выполнять команды от суперпользователя, как это сделать указано выше. Для непосредственного выполнения команд следует перед командой использовать служебную команду sudo.

Также для перехода в режим суперпользователя можно использовать одну из двух команд:

Во всех случаях система запросит пароль.

Теперь отключим авторизацию под пользователем root.

Открываем на редактирование файл sshd_config. В Debian/Ubuntu это выглядит так:

PermitRootLogin и заменяем его значение на no.

Запрещаем аутентификацию по паролю. Важно это сделать, если у вас уже успешно выполняется подключение по ключу.

Открываем все тот же файл sshd_config.

Заменяем значение “yes” на “no”.

Строка может быть закомментирована (т.е. перед ней стоит символ “#”), в этом случае ее надо раскомментировать.

Важно! Вы можете оставить авторизацию как по паролю, так и по ключу.

По окончании настроек любого из пунктов, перезапускаем сервер.

Защита SSH-соединений с помощью Fail2Ban

Fail2Ban – приложение, которое позволяет блокировать SSH-подключения с определенного IP-адреса по достижении лимита. Разумно полагать, что если пользователь знает пароль к серверу, но ошибается при вводе, то достаточно будет 3-5 попыток. В случае с авторизацией по ключу – достаточно 1-2 попыток. В противном случае это брутфорс.

Fail2Ban способна осуществлять мониторинг и других протоколов, таких как HTTP, HTTPS, FTP и прочие. Используя настройки по умолчанию, осуществляется только мониторинг SSH.

Подробнее о настройке Fail2Ban можно посмотреть по ссылке.

Настройка Firewall

Хорошей привычкой является использование файрволла. Это главный инструмент безопасности любого сервера и/или сети находящейся за ним. Фильтрация трафика позволяет избежать различного рода вторжения. Мы рекомендуем предоставлять доступ только к тем TCP/UDP-портам, которые на самом деле необходимы. По критичным портам либо закрывать доступ к ним, либо ограничивать доступ к ним – только с определенных IP-адресов.

IPTables — утилита командной строки, стандартный интерфейс управления работой межсетевого экрана netfilter в Linux. Для использования IPTables требуются права суперпользователя. Существуют и альтернативные решения UFW и ShoreWall для Debian/Ubuntu и FirewallD для CentOS и Fedora.

Мы же рассмотрим настройку непосредственно IPTables.

Для просмотра действующих правил фильтрации используют следующие команды.

Стандартный вывод выглядит так:

Базовая безопасность в Linux | Serverspace

Это означает, что в режиме работы по умолчанию разрешен весь входящий, исходящий и пересылаемый трафик.

Настройка межсетевого экрана и политика его работы зависит от работы ваших сервисов, а также сервисов локальной сети (частный случай проброс порта для RDP). Прежде чем их применять проверьте совпадают ли наши примеры с вашими задачами.

Для IPv4 (файл /tmp/v4):

Источник

Оцените статью
Adblock
detector