Najsampierw ... hmm... sami wiecie to nie lanie wody ino ino... Ctrl+C Ctrl+v ;]
$ mkdir kombajn
$ cd kombajn
NOTE:
Sprawdz ustawienia swojego php.ini odnośnie socket'u mysql'a. Proponuje ustawić go na:
mysql.default_socket = "/var/run/mysqld/mysqld.sock"
## --- mysql --- ##
$ wget http://mysql.easynet.be/Downloads/MySQL-5.0/mysql-5.0.45-linux-i686-glibc23.tar.gz
$ tar mysql-5.0.45-linux-i686-glibc23.tar.gz
$ cd mysql-5.0.45-linux-i686-glibc23
$ ./configure --with-unix-socket-path=/var/run/mysqld/mysqld.sock
$ make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
$ cd ..
I postępujemy zgodnie z dokumentacją. Jeżeli dostaniesz mysql_install_db command not found podaj pełną ścieżkę /usr/local/bin/mysql_install_db
# mysql_install_db --user=mysql
Jeżleli nie masz usera i grupy mysql do dodaj
# adduser mysql
# groupadd mysql
Kolejny krok to utworzenie katalogu pod który kompilowaliśmy socket i nadaniu mu odpowiednich praw
# mkdir /var/run/mysqld
# chown mysql.mysql /var/run/mysqld/
Skoro mam już mysqla to warto zaopatrzyć się w phpMyAdmin'a ;-) Czasami się przydaje.
Zakładam, że apacz skonfigurowany.
## --- phpMyAdmin --- ##
$ cd /home/marcin/kombajn
$ wget http://ovh.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.2-all-languages.tar.bz2
$ bzip2 -dc phpMyAdmin-2.11.2-all-languages.tar.bz2 |tar xvf -
$ cd phpMyAdmin-2.11.2-all-languages
I dłubiemy w config.inc.php. Szukamy lini $cfg['PmaAbsoluteUri'] = ''; i zastępujemy ją adresem pod jakim będzie widniał nasz phpadmin
$cfg['PmaAbsoluteUri'] = 'http://xydomena.pl/phpadmin';
Następnie zmieniamy $cfg['Servers'][$i]['auth_type'] = 'config'; na
$cfg['Servers'][$i]['auth_type'] = 'cookie';
Wpisz jakieś pierdoły ;-) w $cfg['blowfish_secret'] = '';
$cfg['blowfish_secret'] = 'fqn9rqvqwerg54iysekhsdfbsfqw(&3r-I)454';
I spróbujemy się zalogować
http://xydomena.pl/phpadmin login root, bez hasła, jeżeli się zalogujesz pierwszym krokiem będzie zmiana hasła i wylogowanie sie z phpadmina.
Przy kolejnej próbie zalogowania dostaniesz errora:
"Client does not support authentication protocol requested by server; consider upgrading MySQL client"
Czyli konsla i klepiemy
# mysql -u root -p
Enter password:
I podajemy hasło które przed chwilą ustawiliśmy w phpadminie, następnie klepiemy magiczną regułkę:
mysql> set password for 'root'@'localhost' = OLD_PASSWORD('tajnehaslo');
mysql>exit
I ponowna próba zalogowania się przez phpadmian zakończy sie powodzeniem ;)
Teraz pora na utworzenie 2-uch baz dla snorta
# mysql -u root -p
Enter password:
mysql> create database snort_log;
mysql> create database snort_archive;
mysql> exit
Narazie to wystarczy.
## --- SNORT --- ##
Zasysamy, konfigurujemy dając opcje pod mysql'a
$ cd /home/marcin/kombajn/
$ wget http://www.snort.org/dl/current/snort-2.8.0.tar.gz
$ tar zxvf snort-2.8.0.tar.gz
$ cd snort-2.8.0
$./configure --with-mysql --with-mysql-include=/usr/local/include/mysql/ --with-mysql-lib=/usr/local/lib/mysql
hmm.. i tu chwilkę się zastanaowimy ;) jeżli konfiguracaj przeszła ci bez problem znaczy to, że masz wszyskie wymagane pakiety. Jeżeli natomiast czegoś ci brakuje to patrz na czym się wywali ale prawdopodobnie będzie to libpcap0 libpcap-dev lub libpcre3 , libpcre3-dev
$ make
# make install
# mkdir /etc/snort
# cp etc/* /etc/snort/
# cp -r rules schemas /etc/snort/
Spróbujemy odpalić snorta
# snort -c /etc/snort/snort.conf
Jeżeli przy próbie odpalenia snorta wywali nam błąd w stylu:
snort: error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory
Należy wyedytować /etc/ld.so.conf i dopisać linię:
/usr/local/lib/mysql
I oczywiście
# ldconfig
Pewnie będzie kolejny error ;)
ERROR: Unable to open rules file: ../rules/local.rules or /etc/snort/../rules/local.rules
Fatal Error, Quitting..
W tym przypadku edytujemy /etc/snort/snort.conf i szukamy vat RULE_PATH, zmieniamy go na :
var RULE_PATH /etc/snort/rules
I kolejny error :P
ERROR: [!] ERROR: Can not get write access to logging directory "/var/log/snort".
(directory doesn't exist or permissions are set incorrectly
or it is not a directory at all)
Czyli:
# mkdir /var/log/snort
# snort -c /etc/snort/snort.conf
I działa :P
Teraz konfiguracją snorta i mysql'a. Zaczniemy od mysql'a i dadania usera snort
# mysql -u root -p
Enter password:
mysql> GRANT USAGE ON * . * TO "snort"@"localhost" IDENTIFIED BY "tajnos" WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
mysql> GRANT ALL PRIVILEGES ON `snort\_archive` . * TO "snort"@"localhost" WITH GRANT OPTION ;
mysql> GRANT ALL PRIVILEGES ON `snort\_log` . * TO "snort"@"localhost" WITH GRANT OPTION ;
Następnie powinniśmy dodać tabele do obu baz ale nim to zrobimy to zassamy ACID żeby móc stworzyć tablele dla baz snort_log i snort_log. Czyli
## --- ACID --- ##
$ cd /home/marcin/kombajn
$ wget http://acidlab.sourceforge.net/acid-0.9.6b23.tar.gz
$ tar zxvf acid-0.9.6b23.tar.gz
I dodajemy table do baz
# mysql -D snort_log -u snort -p < /home/marcin/kombajn/snort-2.3.0/schemas/create_mysql
# mysql -D snort_log -u snort -p < /home/marcin/kombajn/acid/create_acid_tbls_mysql.sql
# mysql -D snort_archive -u snort -p < /home/marcin/kombajn/snort-2.3.0/schemas/create_mysql
# mysql -D snort_archive -u snort -p < /home/marcin/kombajn/acid/create_acid_tbls_mysql.sql
Pora dokończyć konfigracje snorta. W tym celu edytujemy /etc/snort/snort.conf i szukamy Configure output plugins i lini
# output database: log, oracle, dbname=snort user=snort password=test
I dopisujemy
output database: alert, mysql, user=snort password=tajnos dbname=snort_log host=localhost
Kolej na ACID i edycję pliku /home/marcin/kombajn/acid/acid_conf.php i dodajemy parametry dla połączenia się z bazami.
$alert_dbname = "snort_log";
$alert_host = "localhost";
$alert_port = "3306";
$alert_user = "snort";
$alert_password = "tajnos";
/* Archive DB connection parameters */
$archive_dbname = "snort_archive";
$archive_host = "localhost";
$archive_port = "3306";
$archive_user = "snort";
$archive_password = "tajnos";
Jak zrobiłeś wcześniej virtulahosta to to klepnij sobie w przeglądarkę acid.xydomena.pl
I pewnie dostaniesz kolejnego errora od ACID :P
Error loading the DB Abstraction library: from "/adodb.inc.php"
Check the DB abstraction library variable $DBlib_path in acid_conf.php
The underlying database library currently used is ADODB, that can be downloaded at http://php.weblogs.com/adodb;
Czyli robimy dokładnie to co napisane
$ cd /home/marcin/kombajn
$ wget http://heanet.dl.sourceforge.net/sourceforge/adodb/adodb502a.zip
$ tar zxvf adodb502a.zip
I w pliku /home/marcin/kombajn/acid/acid_conf.php podajemy lokalizecje adodb.inc.php czyli szukamy DBlib_path i dopisujemy:
$DBlib_path = "/home/marcin/kombajn/adodb/";
Nie pozostaje nam nic innego jak odpalić mysqla i snorta ;)
Możemy napotkać się jeszcz na problem z połączeniem do bazy mysq za pomocą ACID otrzymując na stronie komunikat:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Należy wtedy zalgować sie do mysqla na usera snort i zmieniec haslo:
$ mysql -u snort -p
Enter password:
mysql> set password for 'snort'@'localhost' = old_password ('agentos');
I odświerzyć storne ;)
Konfiguracja samego snorta +ACID to inna bajka




