Linux intrusion detection system

Linux system intrusion detection

1: System log analysis

1, / var / log / secure View login event

2, Last (view historical users login information)

3, LastLog (View Record Last Login Information for Each User)

4, w (statistically online status)

5, check the system master log

6, view plan tasks

2: View abnormal traffic

1, IFTOP (-i specified network card name)

2, TCPDUMP (data packet crawler)

3, grab ARP, ICMP, TCP, UDP packet

4, multi-way match

Third, check the suspicious process

1, Basic Tools (PS, PStree, Top, NetStat, SS)

2, find progress according to file or port

4: Audit System Audit

[1] Record all the behaviors in the system (or have selective records): For example, which user, which user, which program, which file, success. Whether the directory is written

[2] AUDIT: Linux system system used to record the user underlying call condition, such as recording the Open, EXIT and other system calls executed by the user, and write the record to the log file, you can add or remove the Audit rules by using the auditctl command. . Set the record for a user or record it for a process.

1. Audit to / TMP directory write event

2, identity switching audit

3, audit / bin / su is executed

Five: Document Integrity Check

1. Verify RPM Pack Integrity (Bash, Kernel, SSHD, and / etc / passwd) No display package is not modified

2, MD5SUM / SHA1SUM detection

2, copy and modify the configuration file (get the current status / etc and / var / www / html status information)

3, save the original data state, the default raw data status is saved in /var/lib/aide/aide.db.new.gz, this file is recommended to save offline

4, modify the file name of the original data status is var / lib / aide / aide.db.gz

5, in / etc and / var / www / html modified files, add-to-hand modified operation

6. Use AIDE to detect the current state and save the data status is comparison, and the result is saved in / tmp /

7, check the verification file under TMP

8, verify that there is no abnormal return result

9. If the check is no problem, update the data status file

Источник

Linux security: Intrusion detection and prevention

«Intruder alert! Strace to PID 45555, log and store.»
«Roger that, overseer. Target acquired.»
«Status report!»
«Suspicious activity verified, permission to terminate?»
«Permission granted, deploy Sigkill.»
«Process terminated at 2146 hours.»

Intrusion Prevention Systems, or IPS, are tools designed to detect and stop intrusions in their tracks. They come two basic flavors, network-based and host-based. As you may suspect, a network-based IPS is meant to be deployed to monitor the network and a host-based IPS is deployed on a host with the intention of monitoring just a single host.

More Linux resources

How these tools work varies from vendor to vendor, but the basics are the same. The network-based tool monitors traffic on the network and matches it to a long list of known signatures. These signatures describe a variety of attacks ranging from simple corrupt packets to more specific attacks such as SQL injection.

Host-based tools tend to have more capabilities as they have access to the entire host. A host-based IPS can look at network traffic as well as monitor files and logs. One of the more popular tools, OSSEC-HIDS, monitors traffic, logs, file integrity, and even has signatures for common rootkits.

More advanced tools have additional detection capabilities such as statistical anomaly detection or stateful protocol inspection. Both of these capabilities use algorithms to detect intrusions. This allows detection of intrusions that don’t yet have signatures created for them.

IDS vs IPS

Unlike it’s predecessor, the Intrusion Detection System, or IDS, when an IPS detects an intrusion it moves to block the traffic and prevent it from getting to its target. As you can imagine, ensuring that the system blocks only bad traffic is of utmost importance. Deploying a tool that blocks legitimate traffic is a quick way to frustrate users and get yourself in trouble. An IDS merely detects the traffic and sends an alert. Given the volume of traffic on a typical network or host today, an IDS is of limited use.

The Redhat Enterprise Packages for Enterprise Linux repository includes two great HIDS apps that every admin should look into. HIDS apps are a bit of a hybrid solution in that they’re both an IDS and an IPS. That is, they can be configured to simply alert when they see issues or they can often be configured to run scripts to react to scenarios that trigger alerts.

Читайте также:  Google презентации для windows

Tripwire

First up from EPEL is Tripwire, a file integrity monitoring tool, which Seth Kenlon wrote about for Enable Sysadmin back in April. Tripwire’s job in life is to monitor files on the host and send an alert if they change in ways they’re not supposed to. For instance, you can monitor a binary such as /bin/bash and send an alert if the file changes in some way such as permissions or other attributes of the file. Attackers often modify common binaries and add a payload intended to keep their access to the server active. Tripwire can detect that.

fail2ban

The second EPEL package is fail2ban. Fail2ban is more of an IPS style tool in that it monitors and acts when it detects something awry. One common implementation of fail2ban is monitoring the openssh logs. By building a signature that identifies a failed login, fail2ban can detect multiple attempts to login from a single source address and block that source address. Typically, fail2ban does this by adding rules to the host’s firewall, but in reality, it can run any script you can come up with. So, for instance, you can write a script to block the IP on the local firewall and then transmit that IP to some central system that will distribute the firewall block to other systems. Just be careful, however, as globally blocking yourself from every system on the network can be rather embarrassing.

OSSEC

OSSEC-HIDS, mentioned previously, is a personal favorite of mine. It’s much more of a swiss army knife of tools. It combines tools like tripwire and fail2ban together into a single tool. It can be centrally managed and uses encrypted tunnels to communicate with clients. The community is very active and new signatures are created all the time. Definitely worth checking out.

Snort

Snort is a network-based IDS/IPS (NIDS/NIPS). Where HIDS are installed on servers with the intention of monitoring processes on the server itself, NIDS are deployed to monitor network traffic. Snort was first introduced in 1998 and has more recently been acquired by Cisco. Cisco has continued to support Snort as open source while simultaneously incorporating it into their product line.

Snort, like most NIDS/NIPS, works by inspecting each packet as it passes through the system. Snort can be deployed as an IDS by mirroring traffic to the system, or it can be deployed as an IPS by putting it in-line with traffic. In either case, Snort inspects the traffic and compares it to a set of signatures and heuristic patterns, looking for bad traffic. Snort’s signatures are updated on a regular basis and uses libpcap, the same library used by many popular network inspection tools such as tcpdump and wireshark.

Snort can also be configured to capture traffic for later inspection. Be aware, however, that this can eat up disk space pretty rapidly.

Suricata

Suricata is a relatively new IDS/IPS, released in 2009. Suricata is designed to be multi-threaded, making it much faster than competing products. Like Snort, it uses signatures and heuristic detection. In fact, it can use most Snort rules without any changes. It also has it’s own ruleset that allows it to use additional features such as file detection and extraction.

Zeek (Formerly Bro)

Bro was first release in 1994, making it one of the oldest IDS applications mentioned here. Originally named in reference to George Orwell’s book, 1984, more recent times have seen a re-branding to the arguably less offensive name, Zeek.

Zeek is often used as a network analysis tool but can also be deployed as an IDS. Like Snort, Zeek uses libpcap for packet capture. Once packets enter the system, however, any number of frameworks or scripts can be applied. This allows Zeek to be very flexible. Scripts can be written to be very specific, targeting specific types of traffic or scenarios, or Zeek can be deployed as an IDS, using various signatures to identify and report on suspect traffic.

Wrap-Up

One final word of caution. IPS tools are powerful and extremely useful in automating the prevention of intrusions. But like all tools, they need to be maintained properly. Ensure your signatures are up to date and monitor the reports coming from the system. It’s still possible for a skilled attacker to slip by these tools and gain access to your systems. Remember, there is no such thing as a security silver bullet.

Читайте также:  Minecraft net download linux

Источник

Snort или Suricata. Часть 1: выбираем бесплатную IDS/IPS для защиты корпоративной сети

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

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

Классификация IDS/IPS

IDS (Intrusion Detection System) — предназначенная для регистрации подозрительных действий в сети или на отдельном компьютере система. Она ведет журналы событий и уведомляет о них ответственного за информационную безопасность сотрудника. В составе IDS можно выделить следующие элементы:

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

Изначально IDS классифицировались по месту расположения: они могли быть ориентированы на защиту отдельных узлов (host-based или Host Intrusion Detection System — HIDS) или защищать всю корпоративную сеть (network-based или Network Intrusion Detection System — NIDS). Стоит упомянуть т.н. APIDS (Application protocol-based IDS): они отслеживают ограниченный набор протоколов прикладного уровня для выявления специфических атак и не занимаются глубоким анализом сетевых пакетов. Такие продукты обычно напоминают прокси и используются для защиты конкретных сервисов: веб-сервера и веб-приложений (например, написанных на PHP), сервера баз данных и т.д. Типичный представитель этого класса — mod_security для веб-сервера Apache.

Нас больше интересуют универсальные NIDS, поддерживающие широкий набор коммуникационных протоколов и технологии глубокого анализа пакетов DPI (Deep Packet Inspection). Они мониторят весь проходящий трафик, начиная с канального уровня, и выявляют широкий спектр сетевых атак, а также попытки неавторизованного доступа к информации. Часто такие системы отличаются распределенной архитектурой и могут взаимодействовать с различным активным сетевым оборудованием. Отметим, что многие современные NIDS являются гибридными и объединяют несколько подходов. В зависимости от конфигурации и настроек они могут решать различные задачи — например, защиту одного узла или всей сети. К тому же функции IDS для рабочих станций взяли на себя антивирусные пакеты, которые из-за распространения направленных на кражу информации троянов превратились в многофункциональные брандмауэры, решающие в том числе задачи распознавания и блокирования подозрительного трафика.

Изначально IDS могли только обнаруживать действия вредоносного ПО, работу сканеров портов, или, скажем, нарушения пользователями корпоративных политик безопасности. При наступлении определенного события они уведомляли администратора, но довольно быстро стало понятно, что просто распознать атаку недостаточно — ее нужно заблокировать. Так IDS трансформировались в IPS (Intrusion Prevention Systems) — системы предотвращения вторжений, способные взаимодействовать с сетевыми экранами.

Методы обнаружения

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

  • Сигнатурные IDS/IPS выявляют в трафике некие шаблоны или отслеживают изменения состояния систем для определения сетевой атаки или попытки заражения. Они практически не дают осечек и ложных срабатываний, но не способны выявить неизвестные угрозы;
  • Выявляющие аномалии IDS не используют сигнатуры атак. Они распознают отличающееся от нормального поведение информационных систем (включая аномалии в сетевом трафике) и могут определить даже неизвестные атаки. Такие системы дают довольно много ложных срабатываний и при неграмотном использовании парализуют работу локальной сети;
  • Основанные на правилах IDS работают по принципу: if ФАКТ then ДЕЙСТВИЕ. По сути дела это экспертные системы с базами знаний — совокупностью фактов и правил логического вывода. Такие решения трудоемки в настройке и требуют от администратора детального понимания работы сети.

История развития IDS

Эпоха бурного развития Интернета и корпоративных сетей началась в 90-е годы прошлого века, однако продвинутыми технологиями сетевой безопасности специалисты озадачились чуть раньше. В 1986 году Дороти Деннинг и Питер Нейман опубликовали модель IDES (Intrusion detection expert system), ставшую основой большинства современных систем обнаружения вторжений. Она использовала экспертную систему для определения известных видов атак, а также статистические методы и профили пользователей/систем. IDES запускалась на рабочих станциях Sun, проверяя сетевой трафик и данные приложений. В 1993 году вышла NIDES (Next-generation Intrusion Detection Expert System) — экспертная система обнаружения вторжений нового поколения.

На основе работ Деннинга и Неймана в 1988 году появилась экспертная система MIDAS (Multics intrusion detection and alerting system), использующая P-BEST и LISP. Тогда же была создана основанная на статистических методах система Haystack. Еще один статистический детектор аномалий W&S (Wisdom & Sense) годом позже разработали в Лос-Аламосской Национальной лаборатории. Развитие отрасли шло быстрыми темпами. К примеру, в 1990 году в системе TIM (Time-based inductive machine) уже было реализовано обнаружение аномалий с использованием индуктивного обучения на последовательных паттернах пользователя (язык Common LISP). NSM (Network Security Monitor) для обнаружения аномалий сравнивал матрицы доступа, а ISOA (Information Security Officer’s Assistant) поддерживал различные стратегии обнаружения: статистические методы, проверку профиля и экспертную систему. Созданная в AT&T Bell Labs система ComputerWatch использовала для проверки и статистические методы и правила, а первый прототип распределенной IDS разработчики Университета Калифорнии получили еще в 1991 году — DIDS (Distributed intrusion detection system) по совместительству являлась и экспертной системой.

Читайте также:  Как восстановить флешку после загрузочной флешки mac os

Поначалу IDS были проприетарными, но уже в 1998 году Национальная лаборатория им. Лоуренса в Беркли выпустила Bro (в 2018 году она была переименована в Zeek) — систему с открытым исходным кодом, использующую собственный язык правил для анализа данных libpcap. В ноябре того же года появился использующий libpcap сниффер пакетов APE, который через месяц был переименован в Snort, а позднее стал полноценной IDS/IPS. Тогда же начали появляться и многочисленные проприетарные решения.

Snort и Suricata

Во многих компаниях отдают предпочтение бесплатным IDS/IPS с открытым исходным кодом. Долгое время стандартным решением считалась уже упомянутая нами Snort, но сейчас ее потеснила система Suricata. Рассмотрим их преимущества и недостатки чуть подробнее. Snort комбинирует преимущества сигнатурного метода с возможностью обнаружения аномалий в реальном времени. Suricata также позволяет использовать другие методы помимо распознавания атак по сигнатурам. Система была создана отделившейся от проекта Snort группой разработчиков и поддерживает функции IPS, начиная с версии 1.4, а в Snort возможность предотвращения вторжений появилась позднее.

Основное различие между двумя популярными продуктами заключается в наличии у Suricata возможности использования GPU для вычислений в режиме IDS, а также в более продвинутой IPS. Система изначально рассчитана на многопоточность, в то время как Snort — продукт однопоточный. Из-за своей давней истории и унаследованного кода он не оптимально использует многопроцессорные/многоядерные аппаратные платформы, тогда как Suricata на обычных компьютерах общего назначения позволяет обрабатывать трафик до 10 Гбит/сек. О сходствах и различиях двух систем можно рассуждать долго, но хотя движок Suricata и работает быстрее, для не слишком широких каналов это не имеет принципиального значения.

Варианты развертывания

IPS необходимо разместить таким образом, чтобы система могла наблюдать за подконтрольными ей сегментами сети. Чаще всего это выделенный компьютер, один интерфейс которого подключается после пограничных устройств и «смотрит» через них в незащищенные сети общего пользования (Интернет). Другой интерфейс IPS подключается на вход защищаемого сегмента, чтобы весь трафик проходил через систему и анализировался. В более сложных случаях защищаемых сегментов может быть несколько: скажем, в корпоративных сетях часто выделяют демилитаризованную зону (DMZ) с доступными из Интернета сервисами.

Такая IPS может предотвращать попытки сканирования портов или взлома с помощью перебора паролей, эксплуатацию уязвимостей в почтовом сервере, веб-сервере или в скриптах, а также другие разновидности внешних атак. В случае, если компьютеры локальной сети будут заражены вредоносным ПО, IDS не позволит им связаться с расположенными снаружи серверами ботнета. Для более серьезной защиты внутренней сети скорее всего потребуетс сложная конфигурация с распределенной системой и недешевыми управляемыми коммутаторами, способными зеркалировать трафик для подключенного к одному из портов интерфейса IDS.

Часто корпоративные сети подвергаются распределенным атакам, направленным на отказ в обслуживании (DDoS). Хотя современные IDS умеют с ними бороться, приведенный выше вариант развертывания здесь едва ли поможет. Система распознает вредоносную активность и заблокирует паразитный трафик, но для этого пакеты должны пройти через внешнее интернет-подключение и попасть на ее сетевой интерфейс. В зависимости от интенсивности атаки, канал передачи данных может не справиться с нагрузкой и цель злоумышленников будет достигнута. Для таких случаев мы рекомендуем разворачивать IDS на виртуальном сервере с заведомо более производительным интернет-соединением. Подключить VPS к локальной сети можно через VPN, а затем потребуется настроить через него маршрутизацию всего внешнего трафика. Тогда в случае DDoS-атаки не придется гонять пакеты через подключение к провайдеру, они будут заблокированы на внешнем узле.

Проблема выбора

Выявить лидера среди бесплатных систем очень сложно. Выбор IDS/IPS определяется топологией сети, нужными функциями защиты, а также личными предпочтениями админа и его желанием возиться с настройками. Snort имеет более давнюю историю и лучше документирован, хотя и по Suricata информацию также нетрудно найти в сети. В любом случае для освоения системы придется приложить определенные усилия, которые в итоге окупятся — коммерческие аппаратные и аппаратно-программные IDS/IPS стоят достаточно дорого и не всегда помещаются в бюджет. Жалеть о потраченном времени не стоит, потому что хороший админ всегда повышает квалификацию за счет работодателя. В этой ситуации все остаются в выигрыше. В следующей статье мы рассмотрим некоторые варианты развертывания Suricata и на практике сравним более современную систему с классической IDS/IPS Snort.

Источник

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