Centos 5.2 üzerine Snort kurulumu
- Yazar: erkane • 27 November, 2008
Bu belgede Centos dağıtımı 5.2 sürümüne Mysql veritabanı kullanan Snort 2.8.3.1 kurulumu anlatılmaktadır.
Snort kurulumu
Snort web adresinden (http://www.snort.org) ilgili rpm paketleri indirilir.
* snort-2.8.3.1-1.RH5.i386.rpm
* snort-mysql-2.8.3.1-1.RH5.i386.rpm
* snort-postgresql-2.8.3.1-1.RH5.i386.rpm
Snort kural dosyalarının eklenmesi
Snort web adresinden kural paketi indirilir. En güncel kural paketini sadece Snort aboneleri indirebilmektedir. Snort web sayfasına kayıtlı kullanıcılar ise yaklaşık 1 ay geriden gelen kural paketini indirebilirler. Bu konuda ayrıntılı bilgi için http://www.snort.org/vrt/ adresine bakabilirsiniz.
Snort resmi web sitesinden kayıt yaptırdığınız snortrules-snapshot-2.8.tar.gz kural dosyasını indirmek için aşağıdaki adımları uygulayabilirsiniz.
- Snort resmi sayfasını açınız.
- Ana sayfadaki üst menüden "Sign In" düğmesine basıp açılan sayfaya kullanıcı bilgilerinizi girerek siteye giriş yapınız.
- Ana sayfadaki "Get rules" düğmesine basınız.
- "Sourcefire VRT Certified Rules - The Official Snort Ruleset (registered-user release)" kısmındaki "snortrules-snapshot-2.8.tar.gz" bağına basarak dosyayı indiriniz.
İndirilen kural dosyası açılarak kurallar ilgili dizine kopyalanır.
Snort yapılandırması
- /etc/snort/snort.conf dosyası Mysql veritabanı kullanacak şekilde düzenlenir.
- /etc/sysconfig/snort dosyasında ALERTMODU satırı kapatılır
Snort için Mysql veritabanı kurulması
- Mysql veritabanı kurulup başlatılır.
- Mysql yöneticisi için şifresi verilir.
- Snort veritabanı şemalarının bulunduğu dizine geçilir ve Snort paketi ile gelen şablondan (create_mysql) snort veritabanı ve tabloları oluşturulur.
Snort servisinin başlatılması
- Snort servisi başlatılır.
Snort web tabanlı arayüzü BASE yazılımın kurulumu
- Apache web sunucu kurulur.
- Öncelikle php yazılımına mysql desteği verilir.
- BASE (Basic Analysis and Security Engine) yazılımının resmi adresinden rpm paketi indirilir.
- BASE paketinin kurulumu için bağımlılığı olan paketler tespit edilir.
Bağımlılıkların çözülmesi:
ve base paketi yüklenir.
ADODB kurulumu
DAG paket deposundan php-adodb paketi yüklenir.
BASE Yapılandırması
- "http://localhost/base" adresine girilir. "http://localhost/base/setup/index.php" sayfasına otomatik yönlendirileceksiniz. Bu sayfada yazılım ihtiyaçları kontrol ediliyor.
-Aşağıdaki uyarı alınıyorsa /etc/php.ini dosyasında "error_reporting = E_ALL" satırı "error_reporting = E_ALL & ~E_NOTICE" olarak düzenlenir. Apache yeniden başlatılır. "service httpd restart"
- Tüm ihtiyaçlar tamam gözüküyorsa "Continue" düğmesine basılır.
- Dil seçimi yapılıp, Adodb yolu olarak "/var/www/adodb" verilir.
- BASE veritabanı yapılandırma ekranında ilgili alanlar uygun şekilde doldurulur.
"Submit Query" düğmesine basılır.
- "Use Authentication System" yanıdaki kutu işaretlenir.
"Submit Query" düğmesine basılır.
- "Create BASE AG" düğmesine basılarak ek tabloları yaratılır.
- Mysql sunucusunda acid kullanıcısını hakları gerekiyorsa arttırılır.
- BASE karşılama ekranında snortadmin kullanıcısı ile giriş yapılabilir.
Referanslar:
[1] Snort: http://www.snort.org
[2] BASE: http://base.secureideas.net
[3] Mysql: http://www.mysql.com
Snort kurulumu
Snort web adresinden (http://www.snort.org) ilgili rpm paketleri indirilir.
* snort-2.8.3.1-1.RH5.i386.rpm
* snort-mysql-2.8.3.1-1.RH5.i386.rpm
* snort-postgresql-2.8.3.1-1.RH5.i386.rpm
# rpm ivh snort-2.8.3.1-1.RH5.i386.rpm snort-mysql-2.8.3.1-1.RH5.i386.rpm
Snort kural dosyalarının eklenmesi
Snort web adresinden kural paketi indirilir. En güncel kural paketini sadece Snort aboneleri indirebilmektedir. Snort web sayfasına kayıtlı kullanıcılar ise yaklaşık 1 ay geriden gelen kural paketini indirebilirler. Bu konuda ayrıntılı bilgi için http://www.snort.org/vrt/ adresine bakabilirsiniz.
Snort resmi web sitesinden kayıt yaptırdığınız snortrules-snapshot-2.8.tar.gz kural dosyasını indirmek için aşağıdaki adımları uygulayabilirsiniz.
- Snort resmi sayfasını açınız.
- Ana sayfadaki üst menüden "Sign In" düğmesine basıp açılan sayfaya kullanıcı bilgilerinizi girerek siteye giriş yapınız.
- Ana sayfadaki "Get rules" düğmesine basınız.
- "Sourcefire VRT Certified Rules - The Official Snort Ruleset (registered-user release)" kısmındaki "snortrules-snapshot-2.8.tar.gz" bağına basarak dosyayı indiriniz.
İndirilen kural dosyası açılarak kurallar ilgili dizine kopyalanır.
# tar xvf snortrules-snapshot-2.8.tar.gz
# cp rules/ /etc/snort/rules
# cp rules/ /etc/snort/rules
Snort yapılandırması
- /etc/snort/snort.conf dosyası Mysql veritabanı kullanacak şekilde düzenlenir.
# nano -w /etc/snort/snort.conf
output database: log, mysql, user=snort password=snortsifre dbname=snort_log host=localhost
- /etc/sysconfig/snort dosyasında ALERTMODU satırı kapatılır
# nano -w /etc/sysconfig/snort
[kısaltıldı]
# ALERTMODE=fast
[kısaltıldı]
# ALERTMODE=fast
[kısaltıldı]
Snort için Mysql veritabanı kurulması
- Mysql veritabanı kurulup başlatılır.
# yum install mysql-server
# service mysqld start
# service mysqld start
- Mysql yöneticisi için şifresi verilir.
# mysqladmin -u root password CokGizliSifre
- Snort veritabanı şemalarının bulunduğu dizine geçilir ve Snort paketi ile gelen şablondan (create_mysql) snort veritabanı ve tabloları oluşturulur.
# cd /usr/share/snort-2.8.3.1/schemas
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> create database snort_log;
mysql> connect snort_log;
mysql> source create_mysql
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to snort@localhost;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to acid;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to acid@localhost;
mysql> create database snort_archive;
mysql> connect snort_archive;
mysql> source create_mysql
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_archive.* to acid;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_archive.* to acid@localhost;
mysql> set password for 'snort'@'localhost'=password('snortsifre');
mysql> set password for 'snort'@'%'=password('snortsifre');
mysql> set password for 'acid'@'localhost'=password('acidsifre');
mysql> set password for 'acid'@'%'=password('acidsifre');
mysql> exit
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> create database snort_log;
mysql> connect snort_log;
mysql> source create_mysql
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to snort@localhost;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to acid;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_log.* to acid@localhost;
mysql> create database snort_archive;
mysql> connect snort_archive;
mysql> source create_mysql
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_archive.* to acid;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort_archive.* to acid@localhost;
mysql> set password for 'snort'@'localhost'=password('snortsifre');
mysql> set password for 'snort'@'%'=password('snortsifre');
mysql> set password for 'acid'@'localhost'=password('acidsifre');
mysql> set password for 'acid'@'%'=password('acidsifre');
mysql> exit
Snort servisinin başlatılması
- Snort servisi başlatılır.
# service snortd start
Snort web tabanlı arayüzü BASE yazılımın kurulumu
- Apache web sunucu kurulur.
# yum install httpd
- Öncelikle php yazılımına mysql desteği verilir.
# yum install php-mysql
# service httpd restart
# service httpd restart
- BASE (Basic Analysis and Security Engine) yazılımının resmi adresinden rpm paketi indirilir.
# wget http://garr.dl.sourceforge.net/sourceforge/secureideas/base-1.4.1-1.noarch.rpm
- BASE paketinin kurulumu için bağımlılığı olan paketler tespit edilir.
# rpm -ivh base-1.4.1-1.noarch.rpm
warning: base-1.4.1-1.noarch.rpm: Header V4 DSA signature: NOKEY, key ID e130bd96
error: Failed dependencies:
php >= 4.0.4 is needed by base-1.4.1-1.noarch
php-pear >= 1.5.3 is needed by base-1.4.1-1.noarch
php-pear-Image-Canvas >= 0.3.1 is needed by base-1.4.1-1.noarch
php-pear-Image-Color >= 1.0.2 is needed by base-1.4.1-1.noarch
php-pear-Image-Graph >= 0.7.2 is needed by base-1.4.1-1.noarch
php-pear-Numbers-Roman >= 1.0.2 is needed by base-1.4.1-1.noarch
warning: base-1.4.1-1.noarch.rpm: Header V4 DSA signature: NOKEY, key ID e130bd96
error: Failed dependencies:
php >= 4.0.4 is needed by base-1.4.1-1.noarch
php-pear >= 1.5.3 is needed by base-1.4.1-1.noarch
php-pear-Image-Canvas >= 0.3.1 is needed by base-1.4.1-1.noarch
php-pear-Image-Color >= 1.0.2 is needed by base-1.4.1-1.noarch
php-pear-Image-Graph >= 0.7.2 is needed by base-1.4.1-1.noarch
php-pear-Numbers-Roman >= 1.0.2 is needed by base-1.4.1-1.noarch
Bağımlılıkların çözülmesi:
# yum install php
# yum install php-pear
# rpm -ivh ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Canvas-0.3.0-3.el5.noarch.rpm
# yum install php-gd
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Color-1.0.2-3.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Canvas-0.3.1-1.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Graph-0.7.2-2.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Numbers-Roman-1.0.2-2.el5.noarch.rpm
# rpm -ivh php-pear-Image-Color-1.0.2-3.el5.noarch.rpm
# rpm -ivh php-pear-Image-Canvas-0.3.1-1.el5.noarch.rpm
# rpm -ivh php-pear-Image-Graph-0.7.2-2.el5.noarch.rpm
# rpm -ivh php-pear-Numbers-Roman-1.0.2-2.el5.noarch.rpm
# yum install php-pear
# rpm -ivh ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Canvas-0.3.0-3.el5.noarch.rpm
# yum install php-gd
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Color-1.0.2-3.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Canvas-0.3.1-1.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Image-Graph-0.7.2-2.el5.noarch.rpm
# wget ftp://download.fedora.redhat.com/pub/epel/5/i386/php-pear-Numbers-Roman-1.0.2-2.el5.noarch.rpm
# rpm -ivh php-pear-Image-Color-1.0.2-3.el5.noarch.rpm
# rpm -ivh php-pear-Image-Canvas-0.3.1-1.el5.noarch.rpm
# rpm -ivh php-pear-Image-Graph-0.7.2-2.el5.noarch.rpm
# rpm -ivh php-pear-Numbers-Roman-1.0.2-2.el5.noarch.rpm
ve base paketi yüklenir.
# rpm -ivh base-1.4.1-1.noarch.rpm
ADODB kurulumu
DAG paket deposundan php-adodb paketi yüklenir.
# rpm -ivh http://rpmforge.sw.be/redhat/el5/en/i386/rpmforge/RPMS/php-adodb-4.81-1.el5.rf.noarch.rpm
BASE Yapılandırması
- "http://localhost/base" adresine girilir. "http://localhost/base/setup/index.php" sayfasına otomatik yönlendirileceksiniz. Bu sayfada yazılım ihtiyaçları kontrol ediliyor.
-Aşağıdaki uyarı alınıyorsa /etc/php.ini dosyasında "error_reporting = E_ALL" satırı "error_reporting = E_ALL & ~E_NOTICE" olarak düzenlenir. Apache yeniden başlatılır. "service httpd restart"
"Your PHP Logging Level is too high to handle the running of BASE!
Please set the 'error_reporting' variable to at least 'E_ALL & ~E_NOTICE' in your php.ini!"
Please set the 'error_reporting' variable to at least 'E_ALL & ~E_NOTICE' in your php.ini!"
- Tüm ihtiyaçlar tamam gözüküyorsa "Continue" düğmesine basılır.
- Dil seçimi yapılıp, Adodb yolu olarak "/var/www/adodb" verilir.
- BASE veritabanı yapılandırma ekranında ilgili alanlar uygun şekilde doldurulur.
Pick a Database type: Mysql
Database Name: snort_log
Database Host: localhost
Database Port: [Boş bırakılır]
Database Username: acid
Database Password: acidsifre
Use archive database yanındaki kutu işaretlenir.
Database Name: snort_archive
Database Host: localhost
Database Port: [Boş bırakılır]
Database Username: acid
Database Password: acidsifre
Database Name: snort_log
Database Host: localhost
Database Port: [Boş bırakılır]
Database Username: acid
Database Password: acidsifre
Use archive database yanındaki kutu işaretlenir.
Database Name: snort_archive
Database Host: localhost
Database Port: [Boş bırakılır]
Database Username: acid
Database Password: acidsifre
"Submit Query" düğmesine basılır.
- "Use Authentication System" yanıdaki kutu işaretlenir.
Admin User Name: snortadmin
Password: snortadmin
Full Name: Snort Admin
Password: snortadmin
Full Name: Snort Admin
"Submit Query" düğmesine basılır.
- "Create BASE AG" düğmesine basılarak ek tabloları yaratılır.
Operation Description Status
BASE tables Adds tables to extend the Snort DB to support the BASE functionality
* snort_log
* snort_archive
BASE tables Adds tables to extend the Snort DB to support the BASE functionality
* snort_log
* snort_archive
- Mysql sunucusunda acid kullanıcısını hakları gerekiyorsa arttırılır.
Additional DB permissions
In order to support Alert purging (the selective ability to permanently delete alerts from the database) and DNS/whois lookup caching, the DB user "acid" must have the DELETE and UPDATE privilege on the database "snort_log@localhost"
In order to support Alert purging (the selective ability to permanently delete alerts from the database) and DNS/whois lookup caching, the DB user "acid" must have the DELETE and UPDATE privilege on the database "snort_log@localhost"
- BASE karşılama ekranında snortadmin kullanıcısı ile giriş yapılabilir.
Referanslar:
[1] Snort: http://www.snort.org
[2] BASE: http://base.secureideas.net
[3] Mysql: http://www.mysql.com