Cuma, Temmuz 28, 2006

Windows'ta Özetleme (Hash) Almak

Bir dosyanın hash'ini almak

c:\> md5sum.exe deneme.txt
eb8c590b7f25ac701604d910daa7ff12 deneme.txt

c:\> sha1sum.exe deneme.txt
e1f4415f974dcd8637b8d197cf73a2d63f23ba6d deneme.txt



Kategori : ipucu_

HP-UX Ağ Dosyalarını Yedekleme

HP-UX işletim sisteminde tüm ağ dosyalarını yedeklemek için bağlantıdaki betik kullanılabilir.

Kullanımı ;
# ./netfiles.sh -s YEDEK_ISMI
# ./netfiles.sh -l
# ./netfiles.sh -l YEDEK_ISMI

Linux'ta Özetleme (Hash) Almak

Bir dizinin özetini (hash) almak
# echo -n deneme | md5sum
# 8f10d078b2799206cfe914b32cc6a5e9 -

# echo -n deneme | sha1sum
# d88ea461adab9a5d6d2d760f82bbd6b1ba81452e -


Bir dosyanın özetini (hash) almak
# md5sum deneme.txt
# eb8c590b7f25ac701604d910daa7ff12 deneme.txt

# sha1sum deneme.txt
# e1f4415f974dcd8637b8d197cf73a2d63f23ba6d deneme.txt
Kategori : ipucu_

TCP Bağlantısı ile Yedekleme

Sunucu (Server) Ayarları

Bu yöntem, istemcinin yedeklenecek dosyaların doğrudan sunucuya yerleştirmesini sağlar. Bu amaçla öncelikle sunucuya bir soket bağlantısı açılır ve bir port üzerinden istekleri dinlemesi sağlanır. Bu örnekte bunun için nc (netcat) komutu kullanacaz.

# nc -l -w 5 7000 > yedek.tar.bz2 &

Yukarıdaki komut bize sunucu üzerinde 7000 portu üzeride bir soket açar. Sunucu bu portu dinler ve gelen bilgileri yedek.tar.gz dosyasına yazar.


İstemci (Client) Ayarları

İstemci yedekleme için tar arşivleme komutunu kullanacak.

# DIZIN="/dizin1/dizin1 /dizin2/dizin2 /dizin3"
# tar jlcvPpf - $DIZIN > /dev/tcp/sunucu_IP_adresi/port_no

tar arşivleme komutunun parametreleri için man tar yada info tar komutlarını kullanarak yardım alınabilir. Yedek alma işlemi dizinlerdeki bilgi miktarı ile orantılı olarak uzun sürecektir. Bu işlem sırasında bir ara verebilir ve bilgilerinizi yedeklemenin tadını çıkarabilirsiniz.

Kategori : ipucu_

Konsolda Türkçe Desteği

Öncelikle i18n dosyasında kullanılacak dil ve system fontları tanımlanması gerekir.

LANG="en_US"
SYSFONT="lat5-16"
SUPPORTED="tr_TR:tr:en_US:en"

Eğer kullanılacak dil de Türkçe olacaksa aşağıdaki gibi olmalı;

LANG="tr_TR"
SYSFONT="lat5-16"
SUPPORTED="tr_TR:tr:en_US:en"

keyboard dosyasının ayarları aşağıdaki gibi olmalı;

KEYBOARDTYPE="pc"
KEYTABLE="trq"

Bu ayarların dışında UTF-8 desteği verilecekse ayarlar aşağıdaki gibi olmalı;

LANG="en_US.UTF-8"
SYSFONT="iso09.16"
SUPPORTED="tr_TR.UTF-8:tr_TR:tr:en_US.UTF-8:en_US:en"

KEYBOARDTYPE="pc"
KEYTABLE="trqu"

lang.sh dosyası değiştirilerek en son satırına /sbin/setsysfont komutu eklenmelidir.

...
/sbin/setsysfont

Ayarlamaların Elle Yapılması

Ayarları elle de yapabilirsiniz, bu amaçla aşağıdaki komutlar çalıştırılabilir.

# loadkeys /lib/kbd/keymaps/i386/qwerty/trq.map.gz
# setfont /lib/kbd/consolefonts/lat5-16.psfu.gz

Burada farklı karakter tipleri de kullanılabilir:

/lib/kbd/consolefonts/lat5-16.psfu.gz
/lib/kbd/consolefonts/lat5-14.psfu.gz
/lib/kbd/consolefonts/lat5-12.psfu.gz
/lib/kbd/consolefonts/iso09.16.gz

Makinayı tekrar başlatmadan dilini değiştirmek için ise;

# export LANGUAGE="tr"
# herhangi bir komut

çıktısının türkçe olacağını göreceksiniz.

Kontroller
Kontroller için aşağıdaki komutları kullanabilirsiniz.

# env
# set
# locale

Kategori : ipucu_

OpenSSL ile Sertifika İşlemleri


3DES şifreli özel anahtar üretmek;
# openssl genrsa -des3 -out ozel_anahtar.key 1024

Anahtardaki şifreyi kaldırmak;
# openssl rsa -in sifreli_dosya.key -out sifresiz_dosya.key
Şifresiz özel anahtar üretmek;
# openssl genrsa -out ozel_anahtar.key 1024
 İmzalama isteği;
# openssl req -new -key ozel_anahtar.key -out istek.csr
Konfigurasyon Dosyasından İmzalama isteği;
# openssl req -new -key ozel_anahtar.key -config konfig_dosyası -out istek.csr


.PEM formatından .DER formatına Dönüşüm
#openssl x509 -in sertifika.pem -outform DER -out sertifika.der

Sertifika ve Anahtardan .PFX elde etkemk;

#openssl pkcs12 -export -out certbackup.pfx -inkey cert.key -in cert.crt
Sertifika üretmek;
# openssl req -new -key ozel_anahtar.key -x509 -days 365 -out sertifika.crt

Var olan bir isteği imzalamak;
# openssl req -in istek.csr -key ozel_anahtar.key -x509 -days 365 -out sertifika.crt
Sertifikanın Özetini (Hash) Hesaplamak;
# openssl req x509 –hash –noout –in cert.pem
Openssl ile ilgili varsayılan ayarlar /etc/pki/tls/openssl.cnf dosyasında yer alır.

İsteğin durumu sorgulamak;
# openssl req -in istek.csr -noout -text
Sertifika durumu sorgulamak;
# openssl x509 -in sertifika.crt -noout -text

Sertifika iptal listesi durumu sorgulamak;
# openssl crl -in liste.crl -noout -text
Kaynaklar :

MySQL Şifre Güncelleme

shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('yeni_şifre')
-> WHERE User = 'kullanıcı_adi';
mysql> FLUSH PRIVILEGES;


Kategori : ipucu_

Perşembe, Temmuz 27, 2006

HP-UX GUI Enable/Disable

vi /etc/rc.config.d/desktop
DESKTOP=CDE # enable
DESKTOP= # disable (boş)

/sbin/init.d/dtlogin.rc stop
/sbin/init.d/dtlogin.rc start

Kategori : ipucu_ hpux_

Qmail E-Posta Sunucusu Taşıma

Taşıma Kontrol Listesi
E-posta sunucusunu taşırken aşağıdaki kontrol listesi takip edilmeli. Eğer sunucu taşınırken servis güncellemeleri yapıldıysa dosyalar taşınmayacak yeni versiyona göre uyarlanacaktır.

WEB Servisi
Web üzerinden servis veren sunucu için httpd servisinin kurulacak. Ssl desteği mevcut ise mod_ssl eklentisi kurulacak. Servis üzerinde ayarlar yapılacak.
  1. /etc/httpd/conf/httpd.conf dosyası taşınacak.
  2. /etc/httpd/conf/conf.d/ssl.conf dosyası taşınacak.
  3. /dosya/yolu/sertifika.crt dosyası taşınacak.
  4. /dosya/yolu/ozel_anahtar.pem dosyası taşınacak.

Yukarıdakiler dışında kullanılan dosyalar varsa onlar da yeni sunucuya taşınacak.


Alan Adı (DNS) Servisi
Alan adı servisi veren sunucu için bind servisi kurulacak.

  1. /var/named/chroot/etc/named.conf dosyası taşınacak.
  2. /var/named/chroot/var/named dizinindeki alan ile ilgili tüm dosyalar taşınacak.

Güvenlik Duvarı (iptables) Servisi
Güvenlik duvarı servisini kullanan sunucu için iptabables kurulacak.
  1. /etc/sysconfig/iptables betiği taşınacak.
STUNNEL Servisi
Güvenli veri iletimi için kullanılan stunnel servisi kurulacak.
  1. /etc/stunnel/stunnel.conf dosyası taşınacak.
  2. /dosya/yolu/sertifika.pem dosyası taşınacak.
  3. /dosya/yolu/ozel_anahtar.pem dosyası taşınacak.

Crontab Servisi
Gün içinde belli periyotlarla yapılan işler için crond servisi kurulacak.
  1. /var/spool/cron/root dosyası taşınacak.
  2. /etc/crontab dosyası taşınacak
  3. /etc/cron.* dosyalarında ayarlanan bilgiler varsa onlar da taşınacak.
Nagios Servisi
Sistemi denetlemek için kullanılan nagios servisi kurulacak.
  1. /dosya/yolu/nrpe.cfg dosyası taşınacak.
  2. /dosya/yolu/plugins/* dosyaları taşınacak.
  3. /etc/services dosyası ayarlanacak.
  4. /etc/xinetd.d/nrpe dosyası taşınacak.
Betikler
Sunucunun kontrolü için hazırlanmış betikler varsa taşınacak.
  1. /dosya/yolu/* betikler taşınacak.
Veriler
Kullanıcıların e-posta,şifre ve kişisel ayarları taşınacak.
  1. /var/lib/mysql/vpopmail dizini taşınacak. Bu dizin tüm kullanıcıların isim ve şifrelerini barındırır.
  2. /var/lib/squirrelmail/prefs dizni taşınacak. Bu dizinde tüm kullanıcıların kişisel tercihleri yer almaktadır.

  3. Tüm bu işlemler tamamlandıktan sonra eski qmail sunucusu durdurulur. Tüm e-posta verisi aktarılır.

  4. /home/vpopmail/domains/alan_adi_dizini taşınacak.
E-posta verisi de aktarıldıktan sonra IP değişikliği yapılır ve sunucu hizmete açılır.

Kontroller
Yeni sunucu hizmete girdikten sonra herşeyin yolunda gittiğini kontrol etmek gerekir.

1. Servisler açıldı mı ?
# service httpd status
# service iptables status
# service stunnel status
# service qmail stat
# netstat -na | grep LISTEN
...

2. Servis kayıtlarında sorun var mı ?
# tail /var/log/stunnel.log
# tail /var/log/messages
# tail /var/log/httpd/sunucu_adi-error
# tail /var/log/qmail/smtp/current
# tail /var/log/qmail/send/current
# tail /var/log/qmail/clamd/current
...

3. Servisler düzgün çalışıyor mu ?
Web tarayıcısından bağlanıp e-posta göndermek
Dışarıdan e-posta göndermek
Alan adı kaydı sorgulamak
Dışarıdan güvenlik duvarının kapattığı portlara bağlanmaya çalışmak.
Stunnel servisinin verdiği güvenli servislere bağlanmak.
Nagios sunucusunun istatistiklerini kontrol etmek.
Sertifikaların kontrolünü yapmak.
Kişisel betiklerin çalıştığını kontrol etmek.

Çarşamba, Temmuz 26, 2006

HP-UX Şifre İşlemleri

Kullanc Reactive etmek
/usr/lbin/modprpw -l -k erolk

Kullanıcı Deactive etmek
/usr/lbin/modprpw -l -m alock=YES erolk

Kategori : ipucu_ hpux_

Qmail E-Posta Sunucusu

Qmail E-Posta Kurulumu

Qmail açık kodlu bir e-posta sunucusudur. Bu sunucunun toaster kurulum paketleri kullanlacaktr. Kurulum için gerekli paketler aşağıdaki gibidir:

autorespond-toaster-*.src.rpm
clamav-toaster-*.src.rpm
control-panel-toaster-*.src.rpm
courier-imap-toaster-*.src.rpm
daemontools-toaster-.src.rpm
ezmlm-toaster-*.src.rpm
isoqlog-toaster-*.src.rpm
maildrop-toaster-*.src.rpm
qmailadmin-toaster-*.src.rpm
qmailmrtg-toaster-*.src.rpm
qmail-toaster-*.src.rpm
simscan-toaster-*.src.rpm
spamassassin-toaster-*.src.rpm
squirrelmail-toaster-*.src.rpm
ucspi-tcp-toaster-*.src.rpm
vpopmail-toaster-*.src.rpm
vqadmin-toaster-*.src.rpm
zlib-*.src.rpm
ripmime-*.tar.gz
pcre-*.tar.gz

Ön Gereksinimler

Bu dosyaların en güncel versiyonlarını www.gmailtoaster.com adresinden elde edebilirsiniz. Qmail e-posta sunucusunu kurabilmek için bazı� gereksinimlere ihtiyaç vardır. Bunlar:

MySQL Sunucusu
Alan Ad Sunucusu (DNS)
Httpd Web Sunucusu

Kuruluma başlamadan önce aşağıdaki komutları kullanarak alan ad sunucusunun düzgün çalışıp çalışmadığını kontrol edebilirsiniz:

# host -t a mail.testsm.gov.tr
# host -t mx testsm.gov.tr
# host 10.1.9.250


Yine MySQL sunucusu çalışıyor ve root için şifrelerin ayarlanmış olması gerekir:

# service mysqld start
# mysqladmin -u root -h mail password 'deneme'
# mysqladmin -u root -h localhost password 'deneme'
# mysqladmin -u root -p reload
# mysqladmin -u root -p refresh

Kuruluma başlamadan önce kaynak paketlerinin kurulumunun nasıl yapılacağını görelim. Kaynak paketlerinden uygun dağıtıma göre derlenmesi gerekir.

# rpmbuild --rebuild --with fdr40 paket.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/paket.rpm

1. Daemontools Paketi

Bu paket, oluşturulan bir dizin yapısı içerisinde, tüm dosyaların çalıştırlabilmesine olanak veren bir pakettir. Bu paket sayesinde e-posta sunucusu ile beraber çalışması gereken pop3, imap gibi servisleri organize bir şekilde çalıştırabilecez.
Paketin Kurulması

1.1 Daemontools paketinin kurulması;

# rpmbuild --rebuild --with fdr40 daemontools-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/daemontools-toaster-*.i386.rpm


1.2 Uygulamann Ayarlanması

/var/qmail/supervise dizinine yerleştirilen qmail ile ilgili servisler, svscan ile taranarak çalıştırılır.

# ls /var/qmail/supervise
clamd imap4 imap4-ssl pop3-ssl send smtp spamd

1.3 Güncelleme
Paket derlenir ve güncellenir.

# rpmbuild --rebuild --with DISTRO daemontools-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/daemontools-toaster-*.i386.rpm

2. Ucspi-tcp Paketi
Bu paket komut satırından sunucu - istemci TCP bağlantısını simule etmek için kullanılır. Tcpserver komutu yardımı ile oluşturulan sunucu gelen isteklere cevap verir. Qmail yapısı içerisinde relay tanımını oluturmak için kullanlacaktır.

2.1 Paketin Kurulması

# rpmbuild --rebuild --with fdr40 ucspi-tcp-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/ucspi-tcp-toaster-*.i386.rpm


2.2 Uygulamanın Ayarlanması
Ucspi-tcp paketi ile ilgili ayarlamalar /etc/tcprules.d/tcp.smtp dosyasında yapılmaktadır. Bu dosyada temel olarak relay tanımı yapılmakta. Bu dosyadaki tanımlarla ayrıca birçok kontrol tanımı da yapılabilmektedir. Aşağıda örnek bir tcp.smtp dosyası görülmektedir:

127.:allow,RELAYCLIENT=””
192.168.1.1:allow,RELAYCLIENT=""
172.16.1.:allow,RELAYCLIENT=""
:allow

tcp.smtp dosyasında gerekli değişiklikler yapıldıktan sonra, aşağıdaki komutu çalıştırarak uygun veritabanı formatına dönüştürülmesi gerekir:

# tcprules /etc/tcprules.d/tcp.smtp.cdb /etc/tcprules.d/tcp.smtp.tmp < /etc/tcprules.d/tcp.smtp yada # service qmail cdb

2.3 Güncelleme
Paket derlenir ve güncellenir.

# rpmbuild --rebuild --with DISTRO ucspi-tcp-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/ucspi-tcp-toaster-*.i386.rpm


3. Vpopmail-toaster Paketi

Vpopmail paketi kullanıcı işlemleri için gerekli komut dosyalarının yer aldığı pakettir. Veri tabanı ile bağantıyı kurar ve buraya gerekli kullanıcı tanımlarını yapar. Yetkilendirme de yine bu paket içindeki uygulamalar ile gerçekleştirilmektedir. Paketin Kurulması Burada dikkat edilmesi gereken nokta, varsaylan değerler ile paket derlenip kurulursa veri taban üzerinde kullanıcı şifreleri açık olarak görülebilmektedir. Bunu engellemek için öncelikle kaynak paket açılacak ve SPEC dosyasnda bununla ilgili değşiklikler yapılacaktır.

# rpm -ivh vpopmail-toaster-*.src.rpm
# vi /usr/src/redhat/SPEC/vpopmail-toaster.spec
vpopmail 5.4.10
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = OFF --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = OFF--disable-clear-passwd (erol)
user dir hashing = OFF --disable-users-big-dir
address extensions = ON --enable-qmail-ext
ip alias = OFF --disable-ip-alias-domains (default)
domain quotas = ON --enable-domainquotas
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = OFF --disable-sql-logging (default)
mysql limits = OFF --disable-mysql-limits (default)
MySQL valias = ON --enable-valias
auth inc = -I/usr/include/mysql
auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = log success and errors including passwords--enable-logging=v
auth logging = ON --enable-auth-logging (default)
one domain per SQL table = --disable-many-domains


Dosyada değiştirilecek diğer bir satır da aşağıdaki gibidir;

./configure --prefix=%{vdir} \
--enable-vpopuser=vpopmail \
--enable-vpopgroup=vchkpw \
--enable-libdir=%{mylibdir} \
--disable-roaming-users \
--enable-tcprules-prog=/usr/bin/tcprules \
--enable-tcpserver-file=/etc/tcprules.d/tcp.smtp \
--enable-make-seekable \
--disable-clear-passwd \
--disable-users-big-dir \
--enable-qmail-ext \
--disable-ip-alias-domains \
--enable-domainquotas \
--enable-auth-module=mysql \
--disable-passwd \
--enable-logging=v \
--enable-log-name=vpopmail \
--disable-mysql-limits \
--enable-valias \
--disable-many-domains


Gerekli değişiklikler yaplıdıktan sonra aşağıdaki komut işletilerek değiştirilmiş spec dosyası yardımı ile yeni RPM paketi derlenir.

# rpmbuild -ba --with DISTRO /usr/src/redhat/SPECS/vpopmail-toaster.spec
# rpm -Uvh /usr/src/redhat/RPMS/i386/vpopmail-toaster-*.i386.rpm

3.1 Uygulamanın Ayarlanması
Kurulum tamamlandıktan sonra, yapılması gereken bir dizi işlem için bizi uyarır:
Buna göre önce vpopmail isminde bir veritabanı oluşturulur. Daha sonra da /home/vpopmail/etc/vpopmail.mysql dosyasında iletişim için kullanılacak şifre ayarlanır. En son olarak da vpopmail kullanıcısına vpopmail veritabanında her türlü hak verilir. ;

Create a database named "vpopmail":
mysqladmin create vpopmail -u root -p
mysqladmin -u root -p reload
mysqladmin -u root -p refresh ;

Set password for vpopmail the same as in /home/vpopmail/etc/vpopmail.mysql: ;
Make the password anything you want. Edit vpopmail.mysql to match . . .

echo "GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED \
BY 'SsEeCcRrEeTt'" | mysql -u root -p
mysqladmin -u root -p reload
mysqladmin -u root -p refresh

3.2 Güncelleme
SPEC dosyası düzenlenir. RPM paketi oluşturularak güncelleme yapılır.

4. Libdomainkeys Paketi
Çöp postaları (SPAM) engellemek amacıyla PKI yapısını kullanan bir uygulamadır. Bilgi için; Libdomain Keys veya Libdomain Keys Project

4.1 Güncelleme

Paket derlenir ve kurulur.

5. Qmail-Toaster Paketi
Qmail e-posta sunucusunun temel paketidir. Bu paket açık kaynak kodludur. Ancak kodların değiştirilmesi ve derlenmiş kodların dağıtımı yasaktır. Dolayısı ile temel qmail kaynak kodu üzerine yamalar oluşturularak geliştirilmiştir. Bu e-posta sisteminin çalışması için gerekli temel pakettir. Bu paket ile beraber bir MTA gelir. Ancak Fedora dağıtımlarında (FC5 ten önce) varsaylan MTA sendmail’dir. FC5 dağıtımında varsayılan MTA POSTFIX tir. Bunun için çakışma olmaması için öncelikle bu MTA ların kaldırılması gerekir.

# rpm -e sendmail --nodeps
# rpm -e postfix --nodeps

5.1 Paketin Kurulması

# rpmbuild --rebuild --with fdr40 qmail-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/qmail-toaster-*.i386.rpm

5.2 Pakete Yama Yapılması
Kaynak paket içerisinde bu paketi oluturan kişilerin koyduğu bir yama (patch) vardır. Buradaki yamalara ekleme yapmak için kaynak koda inmek ve gerekli değişiklikleri yapmak gerekir. Aaşağıda gönderici alan adının varlığını kontrol (mfcheck) eden yamanın uygulanması anlatılmıştır. Mfcheck Yaması Bu yamayı uygulamak için aşağıdaki adımları izlenmiştir:

1. Kaynak kod açılır;
# rpm -ivh qmail-toaster-*.src.rpm

2. Kaynak kodun bulunduğu dizine giderek işleme başlanır;
# cd /usr/src/redhat/SOURCE/

3. Burada sıkıştırılmış durumdaki qmail-1.03.tar.bz2 ve qmailtoaster.patch.bz2 açılır;

# bunzip2 qmail-1.03.tar.bz2
# bunzip2 qmailtoaster.patch.bz2

4. qmail-1.03.tar paketi açılır.
# tar -xvf qmail-1.03.tar

5. Daha önceden elde edilen yama qmail-1.03-mfcheck.4jk.patch ve qmailtoaster.patch qmail-1.03 dizinine kopyalanır.

6. Qmailtoaster yaması uygulanır;


# patch <>


7. Eğer mfcheck yaması drek uygulanırsa hata alınacaktır. Bunun sebebi yamanın değişiklik yapılmamış qmail dosyalarına uygulanacak şekilde tasarlanmış olmasıdır. Bu problemi gidermek için yamanın ya içerisinde değişiklik yapılır yada yama içerisindeki kod elle gerekli dosyalara uygulanır.


8. Yama içerisinde farklı alanlar vardır. Herbir alanın başında hangi dosyaya yamanın uygulanacağı belirtilir. Yama içerisinde (-) eksi ile başlayan satırlar çıkarılır. (+) artı ile başlayan satırlar eklenir. Önünde hiçbir işaret bulunmayan satırlar ise orjinal dosya içerisinde aranması gereken satırlardır.Yama içerisindeki kodu incelersek;


diff -ruN qmail-1.03-orig/Makefile qmail-1.03/Makefile

--- qmail-1.03-orig/'''Makefile''' Mon Jun 15 12:53:16 1998 # dizinde hangi dosyada değişiklik yapılacağı belirtilir.

+++ qmail-1.03/Makefile Fri May 28 11:20:51 2004

@@ -1536,13 +1536,13 @@

timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o received.o \ # Bu üç satırdan sonra aşağıdaki değişiklik yapılır.

date822fmt.o now.o qmail.o cdb.a fd.a wait.a datetime.a getln.a \ #

open.a sig.a case.a env.a stralloc.a alloc.a substdio.a error.a str.a \ #

-fs.a auto_qmail.o socket.lib # Bu satır çıkarılır

+fs.a auto_qmail.o socket.lib dns.o dns.lib # Yerine bu satır eklenir.

./load qmail-smtpd rcpthosts.o commands.o timeoutread.o \ #

timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o \ # Değişikliğin yapıldığı yerden sonra

received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a \ # aşağıdaki satırlar görünür.

datetime.a getln.a open.a sig.a case.a env.a stralloc.a \ #

alloc.a substdio.a error.a str.a fs.a auto_qmail.o `cat \ #

- socket.lib`

+ socket.lib` dns.o `cat dns.lib`

qmail-smtpd.0: \

qmail-smtpd.8


9. Bu yama satırları gerekli dosyalar eklendikten sonra qmail-1.03 dizini tarlanır ve bzip2 ile sıkıştırılır.


10. '''/usr/src/redhat/SPEC/qmail-toaster.spec''' dosyasında yapılan değişikliklere uyarlama yapılır. Yamayı elle geçtiğimiz için yamanın uygulanması için girilmiş satırlar çıkarılır.


11. SPEC dosyasında değişiklik yapıldıktan sonra derlenir ve RPM paketi elde edilir.


# rpmbuild --ba --with DISTRO qmail-toaster.spec

12. qmai servisi stop edilir ve yeni paket güncellenir.


# service qmail stop

# rpm -Uvh qmail-toaster*.rpm --replacefiles --replacepkgs


5.3 Güncelleme

Paket derlenir ve güncellenir. Ancak dikkat edilmesi gereken nokta, derlemeden sonra /var/qmail/control/servercert.pem dosyası tekrar oluşturulur. Mevcut dosya ile gerekir ise değiştirilmelidir.

6. Courier-imap Paketinin Kurulması


IMAP, secure IMAP ve secure POP3 servisinin verilebilmesi için gerekli pakettir.


# rpmbuild --rebuild --with DISTRO courier-imap-toaster-*.src.rpm (bu işlem biraz uzun sürebilir)

# rpm -Uvh /usr/src/redhat/RPMS/i386/courier-imap-toaster-*.i386.rpm


6.1 Güncelleme
Paket derlenir ve güncellenir.


7. Courier-Authlib Paketinin Kurulması



8. Autorespond Paketinin Kurulması


# rpmbuild --rebuild --with DISTRO autorespond-toaster-*.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/i386/autorespond-toaster-*.rpm


8.1 Güncelleme

Paket derlenir ve güncellenir.


Bu paket de kurulduktan sonra e-posta sunucusunun çalışması için gereken temel paketler kurulmuş olur. Bundan sonra kurulacak paketler sunucunun daha güzel yönetilebilmesi için gereken paketlerdir.


9. Control-panel Paketinin Kurulması
# rpmbuild --rebuild --with DISTRO control-panel-toaster-*.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/noarch/control-panel-toaster-*.noarch.rpm


9.1 Güncelleme

Paket derlenir ve güncellenir. Ancak /etc/httpd/conf/toaster.conf dosyasında değişiklik yapıldıysa orjinali ile eskisi yer değiştirmelidir.


10. Ezmlm Paketinin Kurulması

E-posta listelerinin yönetilmesi için kullanılan pakettir.


# rpmbuild --rebuild --with DISTRO ezmlm-toaster-*.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/i386/ezmlm*


10.1 Güncelleme

Paket derlenir ve güncellenir.


11. Qmailadmin Paketinin Kurulması

Bu paket postmaster ve kullanıcıların kendi hesaplarını yönetebilmesi için gerekli bir pakettir.


11.1 Paketin Kurulması

# rpmbuild --rebuild --with DISTRO qmailadmin-toaster-*.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/i386/qmailadmin-toaster-*.rpm


11.2 Güncelleme

Paket derlenir ve güncellenir.


12. Qmailmrtg Paketinin Kurulması

Qmailmrtg paketi gelen giden mailler ile ilgili grafiksel bilgilerin oluşturulabileceği bir pakettir.


12.1 Paketin Kurulması

# rpmbuild --rebuild --with fdr40 qmailmrtg-toaster-4.2-1.2.6.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/i386/qmailmrtg-toaster-4.2-1.2.6.i386.rpm


12.2 Güncelleme

Paket derlenir ve güncellenir.


13. Isoglog Paketi

Mailler hakkında istatiksel bilgilerin elde edilebileceği bir pakettir.


13.1 Paketin Kurulması

# rpmbuild --rebuild --with fdr40 isoqlog-toaster-2.1-1.2.7.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/i386/isoqlog-toaster-2.1-1.2.7.i386.rpm


13.2 Güncelleme

Paket derlenir ve güncellenir.


14. Squirrelmail Paketi

Bu paket mail sunucusuna web üzerinden erişip işlem yapmamızı sağlayan uygulamaların olduğu bir pakettir.


14.1 Paketinin Kurulması

# rpmbuild --rebuild --with fdr40 squirrelmail-toaster-1.4.5-1.2.11.src.rpm

# rpm -Uvh /usr/src/redhat/RPMS/noarch/squirrelmail-toaster-1.4.5-1.2.11.noarch.rpm


14.2 Ayarların Yapılması

Squirrelmail paketi ile ilgili ayarların yapılabilmesi için aşağıdaki betik kullanılır:


# perl /usr/share/squirrelmail/config/conf.pl

Main Menu --

1. Organization Preferences

2. Server Settings

3. Folder Defaults

4. General Options

5. Themes

6. Address Books

7. Message of the Day (MOTD)

8. Plugins

9. Database

10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color off

S Save data

Q Quit

Command >>


Buradan ilgili seçenekler seçerek ayarlamalar yapılır. Squirrelmail versiyon bilgilerini gizlemek için:


# vi /usr/share/squirrelmail/functions/strings.php

'''version = '1.4.5-1.2.13';'''


14.3 Squirrelmail Paketinin Güncellenmesi
Güncelleme iki şekilde yapılabilir.

1. Toaster paketlerinden.
2. Sitesinden paketin indirilerek derlenmesi.

14.1.1 Toaster Paketinden Güncelleme

Toaster paketlerinden güncelleme yapmak çok kolaydır. Toaster dağıtımını gerçekleştiren grup squirrelmail için hazırladığı paketi alır ve aşağıdaki komutu çalıştırarak uygularsınız.

# rpm -Uvh squirrelmail-toaster*.rpm

Ancak toaster paketleri genelde birlikte çıkar ve arada çıkan güvenlik güncellemeleri gecikebilir. Bu sorunu çözebilmek için ikinci yöntem kullanılır.

14.1.2 Squirrelmail Kaynak Paket Derleme

Bu yöntem için öncelikle www.squirrelmail.org web sayfasını ziyaret ederek en son stable versiyonu indirilir. Ayrıca toaster paketlerinden squirrelmail-toaster*-src.rpm paketi indirlir. Burada amaç squirrelmail-toaster peketinin SPEC dosyasını kullanarak yeni versiyon ile derleme yapabilmek. Bunu gerçekleştirebilmek için aşağıdaki adımları izleriz.

# rpm -ivh squirrelmail-toaster*-src.rpm
# vi /usr/src/redhat/SPECS/squirrelmail-toaster*.spec

SPEC dosyasında aşağıdaki parametreler değiştirilir.

%define pversion 1.4.6 [yeni versiyon]
%define bversion 1.3 [minor versiyon, bu numara toaster paketleri için gerekli, deðerleri çok önemli deðil.]
%define rpmrelease 00 [rpm paketinin versiyonu, bu numara toaster paketleri için gerekli, deðerleri çok önemli deðil.]
...

Dikkat edilecek diğer bir satır ise;

Patch0: squirrelmail-toaster-*.patch.bz2

Bu satırda squirrelmail paketine uygulanacak yama belirtilir. Büyük bir olasılıkla bir problem olmayabilir, ancak akılda tutulması ve problem durumunda kontrol edilmesi gerekebilir. SPEC dosyasında gerekli değişiklikleri yaptıktan sonra;

# rpmbuild --ba --with fdr40 /usr/src/redhat/SPECS/squirrelmail-toaster.spec

komutu ile RPM paketi elde edilir. Yeni paketin kurulması da bir önceki yöntemde olduðu gibi, aşağıdaki gibi gerçekleştirilir.

# rpm -Uvh /usr/src/redhat/RPMS/noarch/squirrelmail-toaster[yeni_versiyon].rpm

NOT : Squirrelmail kurulurken varsayılan dosyaları kurar. Dolayısı ile daha önce yapılmış olan değişiklikler kaybolur. Bu işleme başlamadan önce değişiklik yapılmış olan dosyalar yedeklenmeli ve güncelleme yapıldıktan sonra yerine konulmalıdır.

15. Spamassassin Paketi

Adından da anlaşılabileceği gibi çöp posta (SPAM) belirlemek amacı ile kullanılan pakettir.

15.1 Paketin Kurulması

# rpmbuild --rebuild --with DISTRO spamassassin-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/spamassassin-toaster-*.i386.rpm

15.2 Güncelleme
Paket derlenir ve güncellenir.

16. Clamav Paketi
E-posta yolu ile gelebilecek virüslü postaları taramak ve engellemek amacı ile kullanılan bir antivirüs yazlım paketidir.

16.1 Paketin Kurulması

# rpmbuild --rebuild --with DISTRO clamav-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/clamav-toaster-*.i386.rpm

16.2 Uygulamanın Ayarlanması
Clamav anti virus uygulaması ile ilgili ayarlar /etc/clamd.conf dosyasında yer almaktadır. Burada aşağıdaki gibi değişiklikler yapılabilir.

LogFile /var/log/clamav/clamd.log ; kayıtların tutulacağı dosya belirlenir.

16.3 Güncelleme
Paket derlenir ve güncellenir. Dikkat edilmesi gereken nokta, güncelleme sonrasında /etc/clamav/clamav.conf dosya güncellenir. Yapılmış olan ayarlar kaybolur.

17. Ripmime Paketi

Bu paket simscan uygulamasının e-postayı göndermeden önce içeriğini kontrol edebilmesi için gerekli olan pakettir. Bu paket toaster dağıtımının bir parçası değildir ve şu bağlantıdan indirilebilir; RIPMIME

17.1 Paketin Kurulması

# tar -xzvf ripmime-1.4.0.5.tar.gz
# cd ripmime-1.4.0.5
# make
# make install

yada
# rpmbuild --rebuild --with DISTRO ripmime-toaster-*.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/i386/ripmime-toaster-*.i386.rpm

17.2 Güncelleme
Paket derlenir ve güncellenir.

18. Simscan Paketi
Simscan sunucuya gönderilen yada sunucudan gidecek olan belli özellikteki dosyaların bloklanması ve antivirüs sunucusuna gönderilemesini sağlayan bir pakettir.

18.1 Paketin Kurulması

Paketi kurmadan önce SPEC dosyasında gerekli değişikliklerin yapılması gerekir. Simscan paketinin kurulabilmesi için zlib ve pcre paketlerinin de kurulu olması gerekir.

# rpm -ivh simscan-toaster-*.src.rpm
# vi /usr/src/redhat/SPEC/simscan-toaster.spec

SPEC dosyasındaki varsayılan ayarlar aşağıdaki gibidir:

Current settings
---------------------------------------
user = clamav
qmail directory = /var/qmail
work directory = /var/qmail/simscan
control directory = /var/qmail/control
qmail queue program = /var/qmail/bin/qmail-queue
clamdscan program = /usr/bin/clamdscan
clamav scan = ON
trophie scanning = OFF
attachement scan = ON
ripmime program = /usr/local/bin/ripmime
custom smtp reject = ON
drop message = OFF
regex scanner = ON
quarantine processing = OFF
domain based checking = OFF
add received header = ON
spam scanning = ON
spamc program = /usr/bin/spamc
spamc arguments =
spamc user = OFF
spam passthru = ON
...

%configure \
--enable-user=clamav \
--enable-attach \
--enable-ripmime=/usr/bin/ripmime \
--enable-per-domain \
--enable-spam \
--enable-spam-hits=20 \
--enable-received \
--enable-clamavdb-path=/usr/share/clamav \
--enable-custom-smtp-reject \
--enable-regex

# rpmbuild --ba --with DISTRO /usr/src/redhat/SPEC/simscan-toaster.spec
# rpm -Uvh /usr/src/redhat/RPMS/i386/simscan-toaster-1.1-1.2.4.i386.rpm

Uygulamanın Ayarlanması

Bu dosyada gelen e-postanın hangi kontrollerden geçeceği tanımlanır. Bu ilem farklı farkl alanlar için farklı tanımlar yapılabilir.

:clam=yes,spam=yes,spam_passthru=yes ; tüm alanlar için geçerli bir tanım. Antivirüs ve spam taramalarından geçer.
test.org.tr:clam=yes,spam=no ; sadece test alanı kullanılır.

E-Posta Sunucusunun Ayarlanması

Kurulum işlemleri tamamlandıktan sonra sunucu çalıştırılarak devreye alınır.

# service qmail start

test.org.tr Alanının Oluşturulması

E-posta sunucusu aynı anda birden çok alana (domain) hizmet vermek üzere tasarlanmıştır. Burada test.org.tr alanı eklenece ve kullanıcılar burada yaratılarak testler yapılacaktır.

# /hove/vpopmail/bin/./vadddomain test.org.tr

Alan oluşturulduktan sonra postmaster kullancısı oluşturulur ve şifresini ayarlamak için sizden giriş yapmanızı bekler. Bu kullanıcı alan üzerinde yönetici haklarına sahiptir. Alan tanımlandıktan sonra bunu MySQL veri tabanı üzerinden de kontrol edilebilir.

# mysql -u root -p
mysql> use vpopmail;
mysql> select * from test_org_tr;

Kullanıcıların Oluşturulması

# /home/vpopmail/bin/./vadduser user1@test.org.tr
# /home/vpopmail/bin/./vadduser user2@test.org.tr

Varsayılan Alan Tanımlanması

# touch /home/vpopmail/etc/defaultdomain # echo test.org.tr > /home/vpopmail/etc/defaultdomain

Bu tanımlama yapıldıktan sonra kullanıcılar, kullanıcı adı bilgisi alanına, alan adının eklenmesine gerek kalmaz. Bunun dışında web sayfası üzerinden giriş yapılırken de kullanıcı adının sonuna varsayılan alan adının eklenmesine gerek kalmaz.

# /home/vpopmail/bin/./vadduser user3

Varsayılan Kullanıcı ve Alan Kotalarının Belirlenmesi

Kota tanımları /home/vpopmail/etc/vlimits.default dosyasında yapılmaktadır.

Alan kota değerleri

quota 1000 ; 1000 MByte sınırı
maxmsgcount 100000 ; 100000 mesaj sınırı

Kullanıcı kota deðerleri

default_quota 41943040 ; 40 MByte sınırı
default_maxmsgcount 4000 ; 4000 mesaj sınırı

Kullanıcı oluşturulduktan sonra kota deðerlerinin değiştirilmesi için;

# /home/vpopmail/bin/./vuserinfo user1
gecos: user1
limits: No user limits set.
dir: /home/vpopmail/domains/testsm.gov.tr/user1
quota: 41943040S,4000C ; bu satır ile tanımlanır

# /home/vpopmail/bin/./vmoduser -q 100000000,5000C user1@test.org.tr

# /home/vpopmail/bin/./vuserinfo user1
gecos: user1
limits: No user limits set.
dir: /home/vpopmail/domains/testsm.gov.tr/erolk
quota: 50000000S,5000C ; yeni değerler

Alan oluşturulduktan sonra kota değerlerinin değiştirilmesi için;

# /home/vpopmail/bin/./vmoddomlimits -S test.org.tr
Domain: testsm.gov.tr
Domain Quota: 1000 MB ; alan kotası
Default User Quota: 41943040 bytes
Max Domain Messages: 100000 ; alan mesaj kotası
Default Max Messages per User: 4000

# /home/vpopmail/bin/./vmoddomlimits -Q 2000 -M 200000

# /home/vpopmail/bin/./vmoddomlimits -S testsm.gov.tr
Domain: testsm.gov.tr
Domain Quota: 2000 MB ; yeni alan kotası
Default User Quota: 41943040 bytes
Max Domain Messages: 200000 ; yeni alan mesaj kotası
Default Max Messages per User: 4000

IMAP4-SSL, POP3-SSL ve Secure SMTP Sertifikaları

Qmail sunucusu ile gelen SSL destekli servisler için uygun sertifikaların üretilmesi gerekir. Bu amaçla courier paketi ile beraber bu sertifikaları üretecek betikler gelmektedir.

/usr/sbin/mkimapdcert
/usr/sbin/mkpop3dcert

Courier paketi kurulurken otomatik olarak sertifikalar /usr/share/courier/ dizininde üretilir (imapd.pem ve pop3d.pem). Ancak bu sertifikadaki değerler varsayılan olduğu için sunucuya uygun olarak değiştirilmesi gerekir. Bu amaçla pop3 ve imap servislerinin ayar dosyalarında değişiklik yapılması gerekir. Değişiklikler /etc/courier/ dizinindeki dosyalarda yapılır.

/etc/courier/imapd.cnf
/etc/courier/pop3d.cnf

# vi /etc/courier/imapd.cnf

RANDFILE = /usr/share/courier/imapd.rand
[ req ]
default_bits = 1024|2048|4096
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
C=TR
ST=KOCAELI
L=GEBZE
O=E-Posta Sunucusu
OU=IMAP Sunucusu
CN=mail.test.org.tr
emailAddress=postmaster@test.org.tr
[ cert_type ]
nsCertType = server

Gerekli değişiklik yapıldıktan sonra komut çalıştırılır ve sunucu için uygun sertifika üretilir. Ancak bu sertifikalar kendi kendine imzalıdır. (Herhangi bir yetkili kurum tarafından imzalanmadığı için.)

Ayrıca hem imapd4-ssl hem pop3d-ssl servisleri aksi söylenmediği sürece /var/qmail/control/servercert.pem sertifikasını kullanırlar. Bununla ilgili ayarlar /etc/courier/imap4-ssl ve /etc/courier/pop3d-ssl dosyalarında yer alır.
PHP Ayarlarının Yapılması

E-posta sunucusunun web üzerinden düzgün çalışabilmesi için bazı php parametrelerinin değiştirilmesi gerekir. Bunlar web üzerinden upload yapılacak dosya boyutu, bunun için ayrılacak bellek miktarı gibi parametrelerdir. İlgili ayralar aşağıdaki gibi yapılabilir.

# vi /etc/php.ini

post_max_size 10M
upload_max 10M
memory_limit 20M

Değişikliklerin kontrol edilmesi için aşağıdaki komut kullanılabilir.

# echo "" | php | grep post_max_size
# echo "" | php | grep upload_max
# echo "" | php | grep memory_limit

Genel Ayarlar

Qmail için yapılan ayarlamalar /var/qmail/control dizini altındaki dosyalarda yapılmaktadır.

badmimetypes


Gönderilen e-postalar mime formatına dönüştürülerek gönderilir. Mime formatına dönüştürülen e-postaların içeriğini kontrol edebilmek için bu dosya /var/qmail/control/badmimetypes kullanılır. Dosyanın içeriği aşağıdaki gibi olabilir;

TVqQAAMAA
TVpQAAIAA
TVpAALQAc
TVpyAXkAX
TVrmAU4AA
TVrhARwAk
TVoFAQUAA
TVoAAAQAA
TVoIARMAA
TVouARsAA
TVrQAT8AA
TVrvAEQAe
...

Burada yer alan ifadeler mime formatında yer alan dosya tipini belirler. Magic number olarak da bilinen bu tanım, filtreleme işlemi için kullanılır. Bu dosyada herhangi bir değişiklik yapıldıktan sonra aşağıdaki komutun çalıştırılması gerekir.

# /var/qmail/bin/qmail-badmimetypes
# service qmail stop
# service qmail start

smtpgreeting

E-posta sunucusuna bağlandığınızda sizi karşılayacak mesajdır. Varsayılan olarak çıkan mesajda Qmail hakkında bilgiler vermektedir. Bu güvenlik olarak problem teşkil ettiği için, değiştirilmesi önerilir.

# echo "E-POSTA SUNUCUSUNA HOSGELDINIZ..." > /var/qmail/control/smtpgreeting

databytes

E-posta sunucusu üzerinden aktarılabilecek en fazla veri miktarı.

# echo 5000000 > /var/qmail/control/databytes

queuelifetime

E-post kuyrukta 24 saat (86400 sn) bekler.

# echo 86400 > /var/qmail/control/queuelifetime

ssattach

Bu dosyada tanımlanan uzantılar e-posta sunucusundan geçemez. .EXE, .COM, .BAT vb tehlikeli uzantılara sahip olan dosyalar bloklanır. ssattach dosyasının içeriği aşağıdaki gibi olabilir.

.exe
.com
.bat
.hta
.vbs
.lnk
.pif
.scr

Vekil (Relay) Tanımlarının Yapılması

Sunucuya kimin bağlanıp, hangi kontrollerden geçerek e-posta gönderebileceğini /etc/tcprules.d/tcp.smtp dosyasında belirtilir.

127.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
:allow,BADMIMETYPE="",BADLOADERTYPE="M",CHKUSER_RCPTLIMIT="15",CHKUSER_WRONGRCPTLIMIT="3",QMAILQUEUE="/var/qmail/bin/simscan"

Varsayılan bu değerlerde localhost üzerinden yapılan bağlantılar için yetkilendirme gerekmeden e-posta gönderilebilir. Bunun dışındaki diğer bağlantılar için tüm virus,spam ve eklenti taramaları, asılsız e-posta kontrolleri ve yetkilendirme yapılır. Burada IP bazında ve alan bazında vekil tanımları yapılabilir. Gerekli tanımlar yapıldıktan sonra:

service qmail stop
service qmail cdb
service qmail start

komutları işletilerek değişikliklerin etkili olması sağlanır.

Sunucunun Test Edilmesi


echo "deneme" > deneme.txt
env QMAILQUEUE=/var/qmail/bin/simscan SIMSCAN_DEBUG=2 /var/qmail/bin/qmail-inject user1@test.org.tr < deneme.txt

Kayıtların incelenmesi ;

# cat /var/log/qmail/smtp/current | tai64nlocal | more
# cat /var/log/qmail/send/current | tai64nlocal | more

Salı, Temmuz 25, 2006

SNORT Saldırı Tespit Sistemi

SNORT Kurulumu

Snort ile ilgili kurulum kaynak dosyalarından yapılabildiği gibi RPM paketlerinden de yapılabilir. Snort ile ilgili dosyalar www.snort.org bağlantısından indirilebilir.

yum install snort snort-mysql

Snort uygulaması kurulduktan sonra ayarlamaların yapılması gerekir. Snort ile ilgili ayarlamalar /etc/snort/snort.conf dosyasında yapılmaktadır. Yapılacak bazı temel ayarlar aşağıdaki gibidir;

var HOME_NET 10.1.7.0/24
var EXTERNAL_NET !$HOME_NET
var DNS_SERVERS [10.1.7.10,10.1.7.11]
var SMTP_SERVERS 10.1.7.12
var HTTP_SERVERS 10.1.7.13
...
var RULE_PATH /etc/snort/rules

Snort uygulamasının topladığı kayıtların veri tabanında saklanabilmesi için;

output database: log, mysql, user=snort password=test dbname=snort host=localhost


Kuralların (Rules) Güncellenmesi

Snort ile ilgili kurallar kaynak paketleri ile gelmez. Kuralları RULEs bağlantısından indirilebilir. Kurallar belli dönemlerde güncellenir. Bu güncellemeleri indirebilmek için farklı yöntemler vardır.

1. Profesyonel destek sözleşmesi yapılmalı. Bu yöntemde güncellenen kurallara anında erişebilebilir.

2. Web sayfasına üye olmalı. Bu yöntemde kurallar belli bir zaman (beş gün) sonra indirilebilir.
MySQL Sunucusu

Mysql sunucusu snort’un topladığı uyarıların saklanacağı yer olacaktır. Bu sunucuda gerekli tablolar oluşturulur ve bilgilerin buraya yazılarak erişimin daha kolay olması sağlanır. Öncelikle sunucuya bir root şifresi verilmeli;

# service mysqld start
# mysqladmin -u root -h sensor password 'deneme'
# mysqladmin -u root -p reload
# mysqladmin -u root -p refresh
# service mysqld restart

# mysql -u root -p
# mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
>Query OK, 0 rows affected (0.25 sec)
# mysql> create database snort;
>Query OK, 1 row affected (0.01 sec)
# mysql> grant INSERT,SELECT on root.* to snort@localhost;
>Query OK, 0 rows affected (0.02 sec)
# mysql> SET PASSWORD FOR snort@localhost=PASSWORD('password_from_snort.conf');
>Query OK, 0 rows affected (0.25 sec)
# mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;
>Query OK, 0 rows affected (0.02 sec)
# mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort;
>Query OK, 0 rows affected (0.02 sec)
# mysql> exit
>Bye

snort kullanıcısı ve snort veritabanı oluşturulduktan sonra, kayıtların saklanabilmesi için gerekli tabloların oluşturulması gerekir. Bunun için daha önceden hazırlanmış şemalar kullanılacaktır. Bu şemaya snort TAR arşivinden yada SRC kaynak paketinden elde edilebilir.

# mysql -u root -p < /tmp/snort-*/schemas/create_mysql snort
# mysql -u snort -p
mysql> use snort;
mysql> show tables;
+------------------+
| Tables_in_snort |
+------------------+
| data |
| detail |
| encoding |
| event |
| icmphdr |
| iphdr |
| opt |
| reference |
| reference_system |
| schema |
| sensor |
| sig_class |
| sig_reference |
| signature |
| tcphdr |
| udphdr |
+------------------+
16 rows in set (0.00 sec)

ADODB Eklentisinin Kurulması

ADOdb eklentisi PHP ve Phyton için bir veritabanı class’ıdır. Bu class aracılığı ile veritabanı üzerinde daha güvenli ve daha verimli yönetim sağlamaktadır. ADOdb bağlantısından indirilebilir.

BASE Uygulamasının Ayarlanması

Base uygulaması snort’un topladığı kayıtları veri tabanından okuyarak, istatistik olarak görüntülemek için kullanılır. Ayrıca bizim belirleyeceğimiz kriterlere uygun olarak sorgular da üretebiliriz. Base için gerekli RPM yada kaynak paketleri BASE bağlantısından indirilebilir. Base ile ilgili RPM kurulumu yapıldıktan sonra;

rpm -Uvh base-*.rpm
veya
tar -xzvf base-.*tar.gz

web tarayıcısı ile bağlantı kurulur ve ilk ayarlar yapılır.

http://sunucu_ip_adresi/base/

Aşağıdaki adımlar takip edilir:

1. Değişikliğin yapılacağı dosyaya web sunucusunun yazma izni olup olmadığı kontrol edilir ve gerekli uyarılar yapılır. İlgili ayarlar /dosya/yolu/base_conf.php dosyasında yapılır.

2. Kullanılacak dil ve adodb yolu belirlenir.
$DBlib_path = '/var/www/adodb';

3. Veri tabanı bağlantısı ile ilgili bilgiler girilir;
  • veri tabanı adı
  • veri tabanı bulunduğu sunucu
  • veri tabanı bağlantı portu
  • veri tabanı kullanıcısı
  • veri tabanı şifresi
NOT: Şifre base_conf.php dosyasında açık olarak tutulmaktadır.Bu nedenle erişim izinleri sınırlandırılmalıdır.

4. Arşiv veri tabanı kullanılıp kullanılmayacağı, eğer kullanılacaksa, arşiv veritabanı için yukarıdaki bilgiler girilmeli.

5. Erişim için yetkilendirme kullanılıp kullanılmayacağı belirlenir. Yönetici kullanıcı adı ve şifresi girilir.

Test


# snort -T -c /etc/snort/snort.conf
# snort-mysql -T -c /etc/snort/snort.conf

Snort yukarıdaki kontrollerden başarı ile geçerse, bir test kuralı oluşturarak kontrol yapılabilir:

# vi /etc/snort/rules/test.rules
alert tcp any any -> any any (msg:"TCP traffic";)

Test kuralı snort.conf dosyasına eklenmeli;

# vi /etc/snort/snort.conf
...
include $RULE_PATH/test.rules
...

Kategori : uygulama_

SNMP Servisi

Ayarlama

SNMP servisi ayarları kimin nasıl, nereye ve hangi haklarlar erişeceğini tanımlar. SNMP nin ayar dosyası /etc/snmp/snmp.conf‘dır. Yapılacak ayarlar aşağıdakigibidir;

Güvenlik Adı Tanımlama

Güvenlik adı tanımlaması, erişecek hostların hangi erişim hakkı ile bağlanacağını tanımlar. Aşağıdaki örnekte;

# sec.name source community
com2sec local localhost private # local isimli güvenlik adı localhost'a okuma veya yazma izni ile bağlanabilir.
com2sec mynet 10.10.10.0/24 public # mynet isimli güvenlik adı 10.10.10.0 ağından gelen istekler (istemciler) sadece okuma izni ile bağlanabilir.


Güvenlik Grubu Tanımlama

Güvenlik grubu tanımlanmış olan güvenlik isimlerinin, güvenlik grubuna eklenmesi gerekir;

# sec.model sec.name
group mygroup v1 mynet # yaratılan mygroup grubunun v1,v2c ve usm desteği ile mynet güvenlik ismine erişim tanımlanmış.
group mygroup v2c mynet
group mygroup usm mynet
group local v1 local
group local v2c local
group local usm local


Görünüm Tanımlama

Tanımlanan görünümler, MIB içerisinde yer alan alanların görüntülenmesi yada görüntülenmesinin kısıtlanması tanımlanır.

# name incl/excl subtree mask(optional)
view roview included .1
view systemview included .1.3.6.1.2.1.1
view system included system


Yetki Tanımlama

Yukarıdaki adımlarda tanımlanan gruplara hangi görünümlere erişme hakkı verileceği tanımlanır.

# group context sec.model sec.level prefix read write notify
access mygroup "" any noauth exact mib2 none none
access public "" any noauth exact system none none
access local "" any noauth exact all all all

Kategori : servis_