3 Ocak 2010 Pazar

Snort

Snort , 1990’ların sonunda bilişim güvenliği sektöründe çalışan bir yazılım mühendisi olan Martin Roesch tarafından kendi evindeki ağına yönelik saldırıları tespit edebilmek amacı ile geliştirilen bir saldırı tespit sistemidir. Detaylı bilgi için ve kurulum paketlerine aşağıdaki linkden ulaşabilirsiniz.
http://www.snort.org

MySql Komutları

/etc/init.d/mysqld {start|stop|status|condrestart|restart}
Konfigrasyon Dosyası
cat /etc/my.cnf
rpm -qa|grep mysql :MYsql in kurulu olup olmadığını anlamta kullanılır.
mysql -u root -h localhost -p :SUnucuya bağlanmak için kullanılır.
quit : Mysql den çıkmak için kullanılır.
mysql> create database stok_db : database oluşturur.
mysql> drop database stok_db; : Veritabanını silmek için kullanılır.
mysql> show databases; Sistemdeki veritabanlarını görmek için.
mysql> use stok_db; Çalışılan veritabanını değiştirmek için.
mysql> show tables; Aktif veritabanının tablolarını görüntüler.
mysql>mysqldump --opt -Q -u dbkullanıcıadı -p databaseismi > /yedegin/kaydedilecegi/dizinyolu/dosyaninismi : Yedek almak için.
mysql -u example -p example_example < /home/accountklasörismi/public_html/derinport.sql :Restore show columns from tablo adi : Tablo Alanlarını görmek. ..::MySql Cluster yapmak::.. Clusterin performans’a olan katkısı haricinde database’inizin sürekliliğini sağlar. Yani ndb node’lardan biri çökerse diğeri kaldığı yerden devam eder.İstenildiği kadar node eklenebilir. Gerekenler 1 adet (192.168.1.21) ip’li yönetim nodu 2 adet (192.168.1.22-192.168.1.23) ip’li ndb node (depolama nodu) 1 adet (192.168.1.24) ip’li Api node mevcuttur.(sorguların gönderileceği mysql server) 1-Adım: Tüm makinalarda Mysql server kurulu olduğunu varsayıyorum. 192.168.1.21 ip’li makinada sırayla, mkdir /var/lib/mysql-cluster –> /var/lib/ in altında mysql-cluster
isimli bir dizin oluşturuyoruz.

cd /var/lib/mysql-cluster –> oluşturduğumuz klasörün içine giriyoruz.
nano config.ini –> diyerek config.ini adında bir conf dosyası
oluşturup içini aşağıdaki gibi dolduruyoruz.
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
#Yönetim Nodu
[NDB_MGMD]
HostName=192.168.0.21
#Depolama Node'ları
[NDBD]
HostName=192.168.0.22 #Node 1
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.0.23 #Node 2
DataDir= /var/lib/mysql-cluster
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
kaydedip kapatıyoruz. Ve ndb_mgmd komutunu,
daha sonra da, ps -ef | grep [n]db komutunu çalıştırıyoruz.
ps -ef | grep [n]db komutu ile yonetim nodunun çalışıp , çalışmadığını
kontrol ediyoruz.
2-Adım: Şimdi ise her iki depolama nodunu bulunduğu makinalarda
(192.168.1.22-192.168.1.23) :

Not:Bu arada her iki makinada da mysql stop durumda olacak.
nano /etc/mysql/my.cnf dosyalarını açıp aşağıdaki gibi dolduruyoruz.

[mysqld]
ndbcluster
ndb-connectstring='host=192.168.1.21' # Yonetim nodunun ip adresi

[mysql_cluster]
ndb-connectstring='host=192.168.1.21' # Yonetim nodunun ip adresi
Dosyaları kaydedip kapattıkdan sonra ,
mkdir /var/lib/mysql-cluster –> /var/lib/ in altında mysql-clusterisimli bir dizin oluşturuyoruz.

/usr/bin/ndbd - - initial –> komutunu veriyoruz.Ve mysql server’ı
/etc/init.d/mysql start –>komutu ile start ediyoruz.

ps -ef | grep [n]dbd –> komutu ile ndb nodların çalışıp çalışmadığını kontrol ediyoruz.

3-Adım: Yonetim noduna geçiyoruz.(192.168.1.21)

ndb_mgm komutunu çalıştırıp yonetim konsolunu
açmış oluyoruz.
Sonra show komutu ile yonetim ve depolama nodlarının çalıştığını
görebiliriz.

Şimdi test açısından depolama nodlarına gidip, her iki node da da
aynı isme sahip bir database oluşturun. Ve devamında da
serverlardan birinde bir tablo oluşturup, tabloya birkaç satır
veri girişi yapın. Gidip diğer server’a baktığınızda aynı tablonun
diğer server da da oluştuğunu göreceksiniz. Tam tersi içinde
geçerlidir.

DİKKAT: Tabloyu create ederken engine=ndbcluster; ifadesini
eklemeyi unutmayın.
create table test (id int) engine=ndbcluster;
Ama ben her tablo create ettiğimde engine olarak bu tablonun
ndbcluster olduğunu belitmek istemiyorum diyorsanız
my.cnf conf dosyasının içine ,
[mysqld]
default-table-type=NDBCLUSTER

Notlar :Select işlemleri için Api noda,insertler için ndb node lara bağlanabilirsin.
Bu konuya yakın Konular :Mysql Proxy,Sqlrelay

..::MySQL Replication::..
Mysql’de replication işleminin temel olarak master to master ve master to slave diye tabir edilen iki şekli vardır. Kısaca değinmek gerekirse;
Master to master da veritabanlarından herhangi birinde, insert, update, delete vs. gibi bir işlem gerçekleştiğinde, bu işlem diğer veritabanına da yansıtılır.
Master To Slave de master olarak belirlenen sunucuda gerçekleşen işlemlerin slave olarak belirlenen sunucuya yansıtılmasından ibarettir
Master TO Slave Konfigrasyonu
----Master Makinada----
/etc/mysql/my.cnf dosyasını açıp aşağıdaki satırları diyez # ile iptal et.
#skip-networking
#bind-address = 127.0.0.1
Yine my.cnf de aşağıdaki satırlar kontrol edilir.# ile iptal edilmemiş olmalılar.
log-bin=mysql-bin
server-id = 1
Yine yanı dosya ya aşağıdaki şekilde replica etmek istediğimiz veritabanının bilgisini giriyoruz.
binlog-do-db=stok_db

Mysql'i restart edelim
Şimdi sırada replication kullanıcı açmak gerekli.root olarak girip.
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'sifreniz';
mysql> FLUSH PRIVILEGES;

Şimdi ise Replica edilecek veritabanının durumuna bakalım
mysql> USE stok_db;
mysql> FLUSH TABLES WITH READ LOCK;

Şimdi sırada slave makinaya bu stok_db veritabanını kopyalayalım.

---Slave Makinada---
server-id = 2
master-host=master_mysqlin_ipsi
master-user=slave_user
master-password=sifreniz
master-connect-retry=60
replicate-do-db=stok_db
my.conf dosyasına yukarıdaki satırları giriyoruz.
Akabinde mysql i restart ediyoruz ve aşağıdaki komutları sırası ile çalıştırıyoruz.
mysql > SLAVE STOP;
mysql >CHANGE MASTER TO MASTER_HOST='master_mysqlin_ipsi', MASTER_USER='slave_user' ,MASTER_PASSWORD='sifreniz' ,MASTER_LOG_FILE='mysql-bin.000002' ,MASTER_LOG_POS=351;
mysql > SLAVE START;
mysql > quit;

Rain - José Feliciano