Сервер логов на rsyslog+loganalyzer+mysql

Thank you for reading this post, don't forget to subscribe!

Rsyslog — явля­ет­ся очень-быст­рой систе­мой для обра­бот­ки логов в систе­ме. Он предо­став­ля­ет высо­кую про­из­во­ди­тель­ность, боль­шие воз­мож­но­сти без­опас­но­сти и модуль­ную кон­струк­цию. Его рас­ши­рен­ная вер­сия — Syslog. Rsyslog так­же под­дер­жи­ва­ет базы дан­ных (MySQL, PostgreSQL) для хра­не­ния логов.

LogAnalyzer — это про­грам­ма, напи­сан­ная на C # (и, таким обра­зом, кото­рый нуж­да­ет­ся в .NET 3.5 Framework), спо­соб­ный ана­ли­зи­ро­вать отче­ты (логи), создан­ные мно­ги­ми диа­гно­сти­че­ски­ми инстру­мен­та­ми (HijackThis, ZHPDiag, OTL, …). Этот инстру­мент не явля­ет­ся пол­ным ана­ли­за­то­ром, он толь­ко дает под­сказ­ки и выпол­ня­ет филь­тру­ет, что­бы быст­ро най­ти то, что может быть подо­зри­тель­ным или вредоносным

 

ста­но­вим пер­вым делом веб-сер­вер, сер­вер MySQL и пхп:
yum install httpd php mysql php-mysql mysql-server wget -y
Шаг 2. Уста­нов­ка Rsyslog на сервер:

yum install -y rsyslog-*

Шаг 3. Сей­час нуж­но поза­пус­кать все уста­нов­лен­ные услуги.

Запус­ка­ем rsylog:

/etc/init.d/rsyslog start

Запус­ка­ем апач:

/etc/init.d/httpd start
Запус­ка­ем мускуль:

/etc/init.d/mysqld start

Шаг 4. Доба­вим мы теперь их в авто­за­груз­ку ОС.

Добав­ля­ем в авто­за­пуск rsylog:

# chkconfig rsyslog on

Добав­ля­ем в авто­за­пуск apache:

# chkconfig httpd on

Добав­ля­ем в авто­за­пуск mysql

# chkconfig mysqld on

Нуж­но уста­но­вить пароль для mysql ( если у вас уже уста­нов­лен и настро­ен, то не нуж­но это­го делать):

# mysqladmin -u root password 'ваш_пароль_для_БД';

Шаг 5. Изме­ним коман­ду DB для Rsyslog и созда­дим DB для rsysdb:

nano /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

# про­пи­сы­ва­ем назва­ние базы данных
CREATE DATABASE rsysdb;
USE rsysdb;

Осталь­ное без остав­ля­ем изменений
Созда­ем БД, выпол­нив команду:

# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
Вво­дим пароль от поль­зо­ва­те­ля «root» в mysql.

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

Для ещё боль­ше­го затя­ги­ва­ния настро­ек без­опас­но­сти, мож­но создать отдель­ные учет­ные запи­си для rsyslog и LogAnalyzer.

Необ­хо­ди­мо предо­ста­вить доступ поль­зо­ва­те­ля rsyslog к базе MySQLтоль­ко с локаль­но­го интер­фей­са localhost.

Так­же мы долж­ны выпол­нить MySQL коман­ду “flush privileges” для немед­лен­но­го при­ме­не­ния всех прав.

Шаг 6. Созда­ние кон­фи­га для rsyslog (Но для нача­ла, я сде­лаю копию дан­но­го конфига):

# cp /etc/rsyslog.conf /etc/rsyslog.conf.bk

nano /etc/rsyslog.conf

[…]
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
[…]
$ModLoad ommysql
$ModLoad ommysql>
*.* :ommysql:127.0.0.1,rsysdb,rsysdb,Password

$AllowedSender UDP, 127.0.0.1, 192.168.1.0/24
$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24

Если не будет рабо­тать, то сле­ду­ю­щую строку:

*.* :ommysql:127.0.0.1,rsysdb,root,captain
Заме­ня­ем на:

*.* :ommysql:localhost,Syslog,rsyslog,myPassword

 

Шаг 7. Нуж­но оста­но­вить систем­ный жур­нал (syslog ), если у вас есть он:

/etc/init.d/syslog stop
Убе­рем его с автозагрузки:

chkconfig syslog off
Шаг 8. Нуж­но на дан­ном эта­пе загру­зить и уста­но­вить LogAnalyzer, для этого.

Ска­чи­ва­ем с сай­та архив:

# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.3.tar.gz

Рас­па­ко­вы­ва­ем мы его командой:

tar zxvf loganalyzer-3.6.3.tar.gz
Дела­ем перемещение:
mv loganalyzer-3.6.3/src/* /var/www/rsyslog/site/rsyslog/

mv loganalyzer-3.6.3/src/.htaccess /var/www/rsyslog/site/rsyslog/
mv loganalyzer-3.6.3/contrib/ /var/www/rsyslog/site/rsyslog/

Шаг 9. Созда­ние config.php по configure.sh

# cd loganalyser/
Выста­вим пра­ва и запу­стим скрипт:
chmod 755 /var/www/rsyslog/site/rsyslog/contrib/*
/var/www/rsyslog/site/rsyslog/contrib/configure.sh

пра­вим владельца:
chown -R rsyslog:rsyslog /var/www/rsyslog/

Шаг 10. Пере­за­гру­жа­ем наши уста­нов­лен­ные сервисы.

Ребу­тим мускуль:

# /etc/init.d/mysqld restart

Ребу­тим rsyslog:

# /etc/init.d/rsyslog restart

Ребу­тим apache:

# /etc/init.d/httpd restart

Далее обра­ща­ем­ся к сай­ту и про­во­дим настройку:

В том слу­чае, если все настро­е­но пра­виль­но, долж­на открыть­ся глав­ная стра­ни­ца LogAnalyzer, на кото­рой по мере полу­че­ния будут отоб­ра­жать­ся логи.  Т.к. в настрой­ках сто­ят — логи­ро­ва­ние собы­тий типа “authpriv”, это озна­ча­ет, что в лог будут попа­дать такие собы­тия, как вход/выход поль­зо­ва­те­ля, или же вызов коман­ды пере­клю­че­ния поль­зо­ва­те­ля (su).

Установка клиента Rsyslog

yum install rsyslog -y

nano /etc/rsyslog.conf

добав­ля­ем IP сервера:
*.* @@192.168.1.180