Флёнов Михаил Евгеньевич
Шрифт:
Такой метод хорош тем, что, например, сервис rexec (удаленное выполнение команд) не нужен пользователям, и его очень часто ищут хакеры для проникновения в систему. Если с определенного адреса была попытка (пусть и неудачная) обратиться к rexec, можно взять на заметку это событие и этот IP и уделять ему больше внимания.
Я рекомендую установить klaxon в системе не более чем на 2–3 сервиса, потому что слишком большое количество портов вызовет подозрение у взломщика. К тому же, если klaxon возьмет на обслуживание более 5 портов, то многократное сканирование может отнять лишние ресурсы системы. Это создаст предпосылки для проведения успешной атаки отказа от обслуживания.
12.4.2. PortSentry
Раньше эта программа принадлежала компании Psionic, но сейчас ссылка www.psionic.com ведет на один из разделов компании Cisco, и утилиты там уже нет. Но в Интернете она еще осталась, и полный исходный код можно взять с сайта http://sourceforge.net/projects/sentrytools.
Так как программа поставляется в исходных кодах, то для ее установки требуется распаковка архива и компиляция. Это уже не должно у вас вызывать проблем.
Для разархивирования выполняем команду:
В моем случае создалась директория portsentry_beta. У вас это имя может быть другим из-за несовпадения версии программы, возможно, изменившейся к моменту выхода книги. Имя каталога будет видно в процессе разархивирования, т.к. программа отображает на экране список файлов в виде
Перейдите в созданный каталог с исходными кодами, чтобы выполнять команды в нем:
Теперь поговорим о компиляции. Программа PortSentry написана универсально и может работать в разных Unix-подобных системах, и помимо Linux это может быть Solaris, FreeBSD, OpenBSD и т.д. При компиляции вы должны явно указать, какая ОС у вас установлена:
Теперь собственно установка. По умолчанию файлы программы копируются в директорию /usr/local/psionic, но этим можно управлять, если в файле makefile поменять параметр
Затем нужно установить описанным для PortSentry способом программу Logcheck, поэтому приведу только команды:
Эта программа по умолчанию устанавливается в директорию /usr/local/etc. Каталог также можно изменить, отредактировав параметр
Все настройки программы PortSentry находятся в файле /usr/local/psionic/portsentry/prtsentry.conf. По умолчанию все закомментировано, и вам необходимо только открыть нужные строки.
Например, вы хотите, чтобы программа следила за определенными портами. На этот случай в конфигурационном файле подготовлены закомментированные записи для разных типов серверов. Выберите нижний и уберите в начале строки знак "#". Тем самым вы укажете порты для наблюдения:
Помимо мониторинга в программе есть отличная способность — при выявлении попытки атаки конфигурировать Firewall на запрет любого трафика с компьютером, который пытался взломать систему. Но это тоже по умолчанию отключено, и чтобы воспользоваться этой возможностью, нужно убрать комментарий со строки, соответствующей вашему серверу.
Мы рассматриваем Linux, а в нем, чаще всего, используют Firewall ipchains. Для него нужна запись:
Убедитесь только, что программа сетевого экрана установлена по указанному пути (/sbin/ipchains). Для этого можно выполнить команду поиска программы:
Если в вашей системе применяется iptables, то нужно использовать строку:
Я считаю возможность выявления атаки и автоматического конфигурирования сетевого экрана очень мощной. В то же время, любая программа может ошибиться и запретить доступ не тому, кому надо. Например, взломщик может имитировать атаку от имени другого пользователя (скажем, босса), и тогда PortSentry запретит шефу доступ к ресурсам сервера. А это уже не есть хорошо.
Я попытался в своей тестовой системе закидать сервер пакетами подключения к различным портам. При этом в качестве IP-отправителя подставлял чужие адреса, в результате чего сервер стал недоступным для них. Вы должны контролировать все, что прописывает в сетевом экране программа мониторинга, иначе хакер может забросать систему запросами так, что она запретит доступ для всех компьютеров вашей сети.