Ключевые слова:iptables, ulog, linux, traffic, (найти похожие документы)
From: Denis Frolov <http://www.redhat-club.org>
Date: Mon, 22 Sep 2008 17:02:14 +0000 (UTC)
Subject: Настройка пакета Ulogd и Nulog для регистрации событий от пакетного фильтра iptables
Оригинал: http://www.redhat-club.org/Articles/DenisFrolov/UlogdNulogdConfiguration
Введение
--------
Многие из вас уже знакомы с такой полезной опцией пакетного фильтра
iptables как LOG которая позволяет регистрировать определенные пакеты
проходящие через него.
В данной статье я опишу полезное дополнение к iptables под названием
Ulogd с помощью которого значительно расширяются возможности по
регистрации пакетов проходящих через пакетный фильтр.
Также в данной статье рассмотрена настройка WEB интерфейса к Ulogd под
названием Nulog.
Итак приступим.
Для совместной работы ulogd в связке с nulog нам потребуется
установленный mysql сервер, http-сервер apache с поддержкой php.
Все это можно найти в любом дистрибутиве Linux.
Установка
Пакет ulogd включен в состав дистрибутива ASP Linux 11.
Если вы используете другую операционную систему Linux например RHEL4,
то вам необходимо взять srpm пакет в ftp.asplinux.ru и пересобрать из
него rpm.
Пакет Nulog можно скачать с http://www.inl.fr/old/Nulog.html
Последняя версия доступная на момент написания данной статьи
nulog-1.2.1.
Установим необходимые пакеты :
rpm -ihv ulogd-1.23-2.i386.rpm
rpm -ihv ulogd-mysql-1.23-2.i386.rpm
Распакуйте содержимое архива nulog в каталог /var/www/nulog
Настройка
Ulogd
Перейдите в каталог /etc/ и отредактируйте файл ulogd.conf
Нас интересуют следующие строки:
Обязательно включите следующий плагин.
plugin="/usr/lib/ulogd/ulogd_MYSQL.so"
И отредактируйте следующий раздел:
[MYSQL]
table="ulog"
pass="changeme"
user="laforge"
db="ulogd"
host="localhost"
В дальнейшем описании я буду использовать значения из раздела [MYSQL]
которые установлены по умолчанию.
Запустите сервер MySQL командой:
service mysqld start
Войдите в терминал MySQL командой
mysql
вы увидите приглашение на ввод команд:
Нам необходимо создать базу данных которую вы указали в разделе [MYSQL]
сделать это можно выполнив:
>create database ulogd;
Вы увидите вывод:
Query OK, 1 row affected (0.00 sec)
Значит база данных успешно создана. Также необходимо дать права на эту
базу пользователю laforge, разрешить пользователю входить только с
машины localhost, и указать пароль для пользователя laforge=changeme.
>grant all on ulogd.* to laforge@localhost identified by 'changeme';
Query OK, 0 rows affected (0.03 sec)
Теперь выйдите из интерфейса mysql выполнив:
>\q
Перейдите в каталог /var/www/nulog/scripts/ в данном каталоге есть файл
ulogd.mysqldump который содержит поля базы данных. выполните команду:
mysql -u laforge ulogd -p < ulogd.mysqldump
Вас попросят ввести пароль. Введите changeme.
Теперь вам необходимо указать какие события от пакетного фильтра на
необходимо регистрировать.
Для примера мы будем регистрировать попытки присоединиться к 22 порту
интерфейса 127.0.0.1 :)
Перейдите в каталог /etc/sysconfig и отредактируйте файл iptables.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -p tcp --dport 22 -j ULOG
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
# Далее следуют остальные правила iptables.
В этот моменте есть одна тонкость: используйте действия ULOG до того
как делаете разрешающие действия, т.к правила iptables обрабатываются
по порядку.
Перезапустите iptables командой:
service iptables restart
Запустите сервис ulogd :
service ulogd start
Nulog
Перейдите в каталог /var/www/nulog/include/ и подправьте файл
config.php установив опции:
$lang="en"
$db_user="laforge"
$db_pwd="changeme"
Перейдите в каталог /etc/httpd/conf.d создайте там файл nulog.conf
следующего содержания:
Alias /nulog "/var/www/nulog"
<Directory "/var/www/nulog">
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from IP_ADDR
</Directory>
Вместо IP_ADDR подставьте ip адрес с которого будет разрешено
просматривать статистику работы Nulog.
Перезапустите apache
service httpd restart
Теперь нам необходимо убедиться, что все работает для этого в командной
строке наберите
telnet 127.0.0.1 22
тем самым мы создадим событие которое должно попасть в БД ulogd.
Наберите в броузере http://IP_ADDR/nulog/ вместо IP_ADDR подставьте
ip адрес или доменное имя компьютера.
Может распространяться свободно при указании авторства.
Автор: Фролов Денис.