DNS sunucunuzun versiyonunu gizleyin
Güvenlik politikası olarak belirsizliği seviyorsanız sunucularınızın üstünde çalışan uygulamaların kimliklerini dışa vermemelerini istiyorsunuzdur.Daha önceki bir yazıda kısaca Apache Web Sunucusunun kimliğini gizlemeden bahsetmiştim, bu yazıda da DNS sunucumuzun versiyonunu maskelemeden bahsedeceğim.
Sunucumuzu maskelemeden önce dışarıya karşı ne gibi bilgiler veriyor bakalım :
$ dig @ns1.mydomain.com -c CH -t txt version.bind
; <<>> DiG 9.7.2-P2 <<>> @ns1.mydomain.com -c CH -t txt version.bind
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64071
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.2.4"
;; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.
;; Query time: 84 msec
;; SERVER: 00.00.00.00#53(00.00.00.00)
;; WHEN: Thu Jan 27 20:58:38 2011
;; MSG SIZE rcvd: 62
Yukarda görüldüğü gibi Bind DNS sunucusu öntanımlı olarak dışarıya kendi ve versiyonu ile ilgili bilgileri vermektedir.Bind DNS sunucumuzun versiyonu "9.2.4" müş.Kimliğimizi dışarıya vermemek ya da yanıltmak için "named.conf" dosyamızın içindeki "options" kısmına "version" satırını ekleyerek kimliğimizi dışarıya karşı maskeleyelim."version" satırı için istediğimiz bir isim ekleyebiliriz.
# vi /var/named/chroot/etc/named.conf
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; recursion no ; allow-transfer { none; }; dnssec-enable yes; version "DNS Server" ;
Sunucumuzu yeniden başlatalım :
# /sbin/service named restart
Yukarda görüldüğü gibi "options" kısmına " version "DNS Server" ; " satırını ekledik.DNS sunucumuzun versiyonunu tekrar sorgulattığımızda artık bize "DNS Server" adını göstermesi lazım.
$ dig @ns1.mydomain.com -c CH -t txt version.bind ; <<>> DiG 9.7.2-P2 <<>> @ns1.mydomain.com -c CH -t txt version.bind ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29215 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;version.bind. CH TXT ;; ANSWER SECTION: version.bind. 0 CH TXT "DNS Server" ;; AUTHORITY SECTION: version.bind. 0 CH NS version.bind. ;; Query time: 110 msec ;; SERVER: 00.00.00.00#53(00.00.00.00) ;; WHEN: Thu Jan 27 21:11:16 2011 ;; MSG SIZE rcvd: 60
Artık DNS sunucumuz versiyon bilgisi vermiyor.Onun yerine yazmış olduğumuz "DNS Server" yazısını ekrana yazıyor.Sadece bunu yaparak DNS sunucumuzu güvende mi tutuyoruz?Elbetteki hayır! Şu an sadece sunucumuzun versiyonunu maskelemiş olduk.Yoksa maskeleyemedik mi ???
Aslında tam olarak da maskeleyemedik."Finger print DNS " yazılımı ile kolayca sunucumuzun kimliğini ifşa edebilirler.Kimse etmeden ilk biz deneyelim."fpdns" yazılımı neredeyse her dağıtımın deposunda mevcut.Hemen bu yazılımı kuralım:
# yum install fpdns
"fpdns" yazılımını kurduktan sonra sunucumuzu sorgulatalım.
$ fpdns ns1.mydomain.com
fingerprint (ns1.mydomain.com, 00.00.00.00): BIND 9.2.3rc1 -- 9.4.0a0
Yukarda görüldüğü gibi demek ki çok da iyi saklayamamışız :)


CentOS resmi depoları kısıtlı ve aradığımız bazı paket ve ya uygulamaları bu depolarda bulamayabiliriz.Fakat EPEL ve RPMforge depoları ile neredeyse ihtiyacımız olan birçok paket ve uygulamaları kapsar nitelikte.Sizde EPEL ve RPMforge depolarından herhangi birini ya da ikisini de ekleyerek deponuzu genişletebilirsin.
QMail-Toaster
Linux'un vazgeçilemez NetFilter'i “iptables” a kural eklemeyi kolaylaştırmak ya da hemen bir firewall oluşturmak için online oluşturucular mevcut.Bazıları detaylı kurallar oluştururken,bazı oluşturucular sade ve basit bir firewall için gerekenleri üretiyor.Denemek isteyenler için bazıları :
DNS sunucunuz üzerinde "recursion"(recursive query) istekleri aktif ise dışardan sorgulamalara açık demektir.Bu da dns sunucunuzun dışarıdan boş yere meşgul olması demektir.DNS sunucunuzun bu istekleri açık olup olmadığını sorgulatın."
Geçtiğimiz yaz 26 Temmuz – 6 Ağustos 2010 tarihleri arasında ilki düzenlenen “Kırıkhan Meslek YüksekOkulu Linux Eğitimi”nin ardından yeni bir eğitim talebi daha istenmişti ve tarih tesadüfen beş ay sonra yine Aralık ayının 26′sına denk geldi.Yazın ki eğitim iki hafta sürmüştü fakat bu zaman aralığı okulda final dönemi öncesi olduğu için 4 güne sığmak zorunda kaldı. Kırıkhan Meslek YüksekOkulu’ndaki öğrencilerin eğitime yoğun ilgisi sevindiriciydi fakat laboratuardaki bilgisayarların sınırlı olması ,bilgisayar sayısı kadar öğrenci almayı gerektirdi.Linux eğitimlerinin düzenlemesini destekleyen ve teşvik eden Kırıkhan MYO Müdürü Yrd.Doç.Oğuz Kılıçoğlu hocamızdan,okuldaki diğer hocalara,güvenlikten memurlara kadar eğitime büyük bir ilgi ve merak vardı.
26 Aralık’ta başlayan eğitim 29 Aralık’ta öğrencilerin korktuğu fakat buna gerek olmayan seviyeli bir sınav ile sona erdi.Sınav genel olarak başarılı ve eğitim amacına ulaşmıştı.Eğitim devam ederken boş bulduğum vakitlerde Antakya yemeklerinden yemeyi de ihmal etmedim.4 gün içerisinde birbirinde güzel birçok lezzet tattım.Bu yüzden Hatay’lılar memleketlerinin değerini çok iyi bilsinler.İstanbul’da bu lezzetleri bulamıyoruz :)