Günümüz güvenlik dünyasının en önemli maddelerindne biri de veritabanlarına yapılan sorgulamaların merkezi olarak loglanması ve saklanmasıdır.
Bunun için temelde iki yöntem tercih edilmektedir. İlk yöntem veritabanı üzerinde -özelliğine göre- çeşitli fonksiyonları aktif hale getirerek tüm işlemlerin veritabanı tarafından loglanması, diğer yöntem de ağ üzerinden veritabanına giden trafiğin bir kopyasını sniffer aracılığıyla yakalayarak paketler arasından ilgili sorgu/cevapları yakalama.
Tshark(Wireshark komut satırı aracı) mysql veritabanına ait tüm özellikleri desteklediği için ağ üzerinden mysql sunuculara giden trafiği dinleyerek trafikten yapılan sorgulamaları, cevapları ekrana/dosyaya basabilir.
# tshark -i eth0 -f ‘tcp port 3306′ -T fields -e mysql.query |uniq
select @@version_comment limit 1
show databases
SELECT DATABASE()
show databases
show tables
…
Mysql ile kullanılabilecek diğer parametler için http://www.wireshark.org/docs/dfref/m/mysql.html adresine gözatılabilir.
trafiği üstümüzden geçen bir client ın sorgularını izlemekle yetinmeyip değiştirmek istersek :
select * from user ı
select * from tabloadi şeklinde anlık olarak değiştirmek için izlenecek yol, öneri vb materyal mevcut mudur ?
ilk sql bağlantısı kurulduğu andan itibaren trafiği olduğu gibi kaydedip üstünde düzenlemeleri yaptıktan sonra kaydettiğim trafiği tekrar çalıştırmak işe yarayabilir mi ? (bunu denicem aslında şimdi)