Самоучитель системного администратора. 5-е изд



Pdf көрінісі
бет84/141
Дата18.12.2023
өлшемі20,51 Mb.
#197526
1   ...   80   81   82   83   84   85   86   87   ...   141
Байланысты:
Cамоучитель системного администратора книга


Глава 7 
Рис. 7.13. 
Мониторинг трафика с помощью darkstat 
Но это еще не все. Нужно добавить в файл 
rc.conf
следующую строку: 
darkstat_flags="--import em0.db --export em0.db" 
Флаги 
--import
и 
--export
при запуске/останове демона darkstat управляют загруз-
кой/сохранением статистики в файл и из файла 
/var/run/darkstat/em0.db

Следует также создать сценарий ротации файла 
em0.db
. Код этого файла (назовем 
его 
em.sh
) представлен в листинге 7.3. 
Листинг 7.3. Файл em.sh 
#!/bin/sh 
DB="/var/run/darkstat/em0.db" 
getpid() { 
PIDFILE="/var/run/darkstat/darkstat.pid" 


Мониторинг информационной системы 
331 
if [ -f $PIDFILE ]; then 
pid=`cat $PIDFILE` 
fi 
kill -SIGUSR1 $pid 

getpid 
mv $DB /var/run/darkstat/"darkstat-`date +%Y-%m`" 
touch $DB && chmod 666 $DB 
getpid 
Этот файл нужно поместить в каталог 
/etc/periodic/monthly
для его запуска каждый 
месяц (см. файл 
/etc/crontab
) и сделать его исполняемым: 
# chmod +x /etc/periodic/monthly/em0.sh 
На этом все — ваш darkstat полностью готов к работе. 
Система NeTAMS 
NeTAMS (Network Traffic Accounting and Monitoring Software) — программа для 
учета и мониторинга IP-трафика. Она поддерживает разные методы сбора стати-
стики, несколько баз данных для хранения информации о трафике (MySQL, 
PostgreSQL, Oracle, BerkleyDB, Radius) и обладает режимом оповещений. Позволя-
ет производить блокировку на базе квот, авторизации, баланса (т. е., NeTAMS мож-
но использовать как билинговую систему), дает возможность управлять пропуск-
ной полосой, контролировать подмену MAC-адреса, создавать гибкие политики 
учета и фильтрации трафика. Система весьма серьезная, особенно по сравнению 
с darkstat, у которой всех этих функций нет. 
Для работы с NeTAMS нам понадобятся Apache и MySQL-сервер версии 5.0. 
Именно 5.0, а не 5.1 или 5.5, потому что с версиями 5.1 и 5.5 NeTAMS почему-то не 
работает, почему — мы не проверяли, не возникло такое желание. 
Итак, будем считать, что серверы Apache и MySQL уже установлены и запущены. 
Для работы NeTAMS также необходима библиотека libpcap, установим ее: 
# cd /usr/ports/net/libpcap 
# make install clean 
Теперь установим NeTAMS, но вместо порта, который входит в состав FreeBSD, 
мы воспользуемся портом с сайта разработчиков: 
# cd /usr/ports/net-mgmt 
# fetch http://www.netams.com/files/netams-freebsd-port.tgz 
# tar -zxvf netams-freebsd-port.tgz 
В результате будет создан каталог 
freebsd-port
, переименуем его в 
netams

# mv freebsd-port netams 


332 
Глава 7 
Настало время исправить ту самую ошибку с версиями MySQL, о которой говори-
лось ранее. Откройте файл 
Makefile

# mcedit /usr/ports/net-mgmt/netams/Makefile 
Найдите и удалите следующую строку: 
mysqlclient.16:${PORTSDIR}/databases/mysql51-client \ 
Эта строка должна установить MySQL-клиент версии 5.1, но поскольку NeTAMS 
не работает с MySQL 5.1, то эта строка лишняя. NeTAMS также ничего не подоз-
ревает об установленном уже MySQL версии 5.0. И если не удалить эту строку, то 
для разрешения зависимости MySQL 5.0 будет удален, а вместо него установлена 
версия 5.1, но с ней NeTAMS работать не будет. Вот такая ситуация... 
Теперь можно собрать порт: 
# make install clean 
При сборке зависимого порта GD следует выбрать опцию 
ICONV
. Хотя, скорее всего, 
библиотека GD с этой опцией у вас уже установлена (она устанавливается при
установке PHP). 
После сборки добавьте строку автоматического запуска системы в файл 
/etc/rc.conf

netams_enable="YES" 
Скопируйте пример файла конфигурации в конфигурационный каталог NeTAMS: 
# cd /usr/local/etc/netams/ 
# cp netams.conf.sample netams.conf 
Пример конфигурационного файла представлен в листинге 7.4. Отредактируйте его 
по своему усмотрению. Значения, которые вам придется изменить (имена и
IP-адреса узлов, порты, пароли и т. д.), выделены полужирным шрифтом. 
Листинг 7.4. Пример файла netams.conf 
# Отключаем отладку 
debug none 
# Определяем имя пользователя (root) и пароль (1) для доступа к netams 
# пользователю root разрешаются все операции (permit all). 
# Укажите нормальный пароль! Пароль "1" здесь использован, чтобы текст 
# поместился в одной строке 
user name 
root
real-name Admin password 
1
email root@localhost permit all 
# Настройка сервисов 
service server 0 
login local 
listen 20001 
max-conn 6 
service processor 0 
lookup-delay 60 
flow-lifetime 180 


Мониторинг информационной системы 
333 
# Определяем порты, эти порты будут отображены на графике 
# Это весь IP-трафик 
policy name ip target proto
# WWW 
policy name www target proto tcp port 80 8080 3128 443 
# FTP 
policy name ftp target proto tcp port 20 21 
# POP3 
policy name pop3 target proto tcp port 110 
# SMTP 
policy name smtp target proto tcp port 25 
# SSH 
policy name ssh target proto tcp port 22 
restrict all drop local pass 
# Сортируем порты по группам 
unit group name 
admins
acct-policy ip www ftp pop3 smtp ssh 
unit group name 
other_users
acct-policy ip www ftp pop3 smtp 
# Определяем объекты (юниты), за которыми будем наблюдать: 
# тип host — узел 
# тип net — сеть 
# unit host name comp1 ip A.A.A.A acct-policy ip www ftp pop3 smtp ssh 
unit net name 
LAN
ip 
192.168.1.0/24 
acct-policy ip www ftp pop3 smtp ssh 
# Определяем пользователей 
unit user name 
us1
ip 
192.168.1.5 
parent admin acct-policy ip www ftp pop3 smtp 
ssh 
unit user name 
us2
ip 
192.168.1.7
parent other-users acct-policy ip www ftp 
pop3 smtp ssh 
# Статистику будем хранить в MySQL, здесь же указываем имя пользователя 
# и пароль для доступа к MySQL 
service storage 0 
type mysql 
user 
root
password 
пароль_для_mysql
accept all 
# Указываем источники данных: откуда будут поступать пакеты 
# В нашем случае есть только два источника: интерфейсы em0 и em1 
service data-source 1 
type libpcap 
source 
em0
layer7-detect urls 


334 

Достарыңызбен бөлісу:
1   ...   80   81   82   83   84   85   86   87   ...   141




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет