DNS bilgilerini kopyalamak

Herhangi bir domain'in dns bilgilerini  ve o domainin subdomain'lerini "AXFR" protokolü ile dns sunucudan çekebiliriz.DNS Sunucu  üzerinde iki tür zone transferi vardır;

  • Full Zone Transfer (AXFR)

  • Incremental Zone Transfer (IXFR)

AXFR , DNS zone' ları arasındaki transferde tüm zone bilgilerinin alınarak güncellemenin gerçekleşmesinde kullanılan ve incremental zone transfer (IXFR) protokolüne göre eski bir protokoldür.(**)

AXFR protokolü hakkında detaylı  bilgi için , "How the AXFR protocol works" - D.J.Bernstein

Şimdi örnek bir domainin bütün bilgilerini ve sahip olduğu subdomainleri dns sunucusundan çekelim;

İlk olarak bilgilerini almak istediğimiz domain'in yetkili "nameserver" bilgilerini alalım: ('dig' komutu man sayfası)

# dig zargan.com NS
; <<>> DiG 9.8.1 <<>> zargan.com NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3226
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION: ;zargan.com.            IN    NS

;; ANSWER SECTION: zargan.com.        3600    IN    NS    ns2.hayatbilgi.net. zargan.com.        3600    IN    NS    ns1.hayatbilgi.net.

;; Query time: 542 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Thu Jan 12 23:17:03 2012 ;; MSG SIZE  rcvd: 78

zargan.com domain adresinin dns sunucuları "ns1.hayatbilgi.net,ns2.hayatbilgi.net" .Şimdi dns sunucularının herhangi birisinden domain bilgilerini çekelim:
# dig @ns1.hayatbilgi.net zargan.com axfr
; <<>> DiG 9.8.1 <<>> @ns1.hayatbilgi.net zargan.com axfr
; (1 server found)
;; global options: +cmd
zargan.com.        3600    IN    SOA    ns1.hayatbilgi.net. hostmaster.hayatbilgi.net. 2009042370 900 600 86400 3600
zargan.com.        3600    IN    A    93.94.250.210
zargan.com.        3600    IN    NS    ns2.hayatbilgi.net.
zargan.com.        3600    IN    NS    ns1.hayatbilgi.net.
zargan.com.        3600    IN    MX    5 alt2.aspmx.l.google.com.
zargan.com.        3600    IN    MX    1 aspmx.l.google.com.
zargan.com.        3600    IN    MX    10 aspmx2.googlemail.com.
zargan.com.        3600    IN    MX    15 mail.zargan.com.
zargan.com.        3600    IN    MX    5 alt1.aspmx.l.google.com.
zargan.com.        3600    IN    MX    10 aspmx3.googlemail.com.
zargan.com.        3600    IN    TXT    "v=spf1 include:aspmx.googlemail.com ~all"
ns2.hayatbilgi.net.    3600    IN    A    93.94.249.3
ns1.hayatbilgi.net.    3600    IN    A    93.94.249.2
admin.zargan.com.    3600    IN    A    93.94.250.12
editor.zargan.com.    3600    IN    A    93.94.250.12
mail.zargan.com.    3600    IN    A    93.94.250.210
test.zargan.com.    3600    IN    A    93.94.250.12
www.zargan.com.        3600    IN    A    93.94.250.210
yeni.zargan.com.    3600    IN    A    93.94.250.12
www.yeni.zargan.com.    3600    IN    CNAME    yeni.zargan.com.
zenith.zargan.com.    3600    IN    A    93.94.250.12
zargan.com.        3600    IN    SOA    ns1.hayatbilgi.net. hostmaster.hayatbilgi.net. 2009042370 900 600 86400 3600
;; Query time: 519 msec
;; SERVER: 93.94.249.2#53(93.94.249.2)
;; WHEN: Thu Jan 12 23:20:51 2012
;; XFR size: 22 records (messages 22, bytes 1361)
Yukardaki çıktıda görüldüğü gibi bu protokol ile domain dns bilgilerini replike edebilirsiniz.

DHCP Snooping - Enterasys

DHCP ( Dynamic Host Configuration Protocol) : basit olarak sistemdeki bilgisayarlara IP adreslerini ve buna ek olarak değişik parametreleri atamak için kullanılan servistir.DHCP’nin temel özelliği sistemi kuran kişilerin tek tek tüm makineleri gezip aynı veya benzer parametreleri defalarca eliyle girmesini engellemek,böylece zaman kazanmak ve sistem yöneticisinin işini kolaylaştırmaktır.(*)

DHCP Snooping : Ağda sahte  DHCP sunucusu kuran ve çalıştıran bir kişi, aynı ağda DHCP isteğinde bulunan istemci cihazlara varsayılan ağ geçidi adresi kendisine ait olan bir DHCP cevabı dönebilir. İstemci bu cevabı aldığı andan itibaren ağ geçidi adresi olarak bu sahte adresi kullanmaya başlar ve yerel ağın dışında bir adresi hedefleyen paketleri ilk olarak atak yapan kişinin makinesine yönlenir. Atakçı bu paketleri gitmeleri gereken doğru adreslere kendi üzerinden gönderirken tüm paketleri izleme olanağına sahip olur. Bu, istemci güvenliğini ve gizliliğini açıkça tehdit eden bir durumdur.  Man-in the-middle ataklarının bir türü olan DHCP Snooping atakları tam olarak bu şekilde gerçekleşir.(**)

Enterasys kenar switchler ve router'lar üzerinde "DHCP Snooping" ataklarını engellemek için aşağıdaki gibi adım adım konfigurasyon yapabiliriz.

1- İlk olarak kenar switch ve router üzerindeki uplink ve gerçek DHCP sunucusunun portlarını "trust" olarak işaretlememiz lazım.Örnek olarak 48 portlu bir switch(Enterasys C2/B2) üzerinde 48.port uplink,47.port gerçek DHCP sunucumuzun bağlı olduğunu farzedelim.

# set dhcpsnooping trust port fe.1.47-48 enable
Yukardaki komutta 47 ve 48.portları trust olarak işaretledik.(Gigabit portlar için fe.1.47-48 yerine ge.1.47-48 yazmalısınız.)

2-Trust portları işaretledikten sonra dhcpsnooping'i global olarak devreye alalım.

# set dhcpsnooping enable
3- Eğer global olarak devreye almayıp,sadece belli ya da belirli vlan'lara açmak istiyorsanız aşağıdaki yapabilirsiniz.
# set dhcpsnooping vlan 1 enable
Yukardaki komutta sadece "vlan 1" için aktif ettik.
# set dhcpsnooping vlan 1-10 enable
Bu komutta da vlan 1 ile 10 arası devreye aldık.

4- Şimdi de untrust portlar için(default olarak tüm portlar zaten untrust'tır.Trust portları dhcpsnooping'i devreye almadan önce işaretlemiştik.) limit koyalım.

# set dhcpsnooping limit fe.1.1-46 none
Bu komutla untrust tüm portlara rate limiti "none" yaparak DHCP paketlerinin rahatça geçebilmesini sağladık.Fakat istersek bu limiti "none" değil de "0-50" arasındaki bir değerle sınırlandırabilirdik.

set dhcpsnooping limit fe.1.1-46 rate 50

Yukardaki gibi limiti " 50" yapabiliriz.Limiti "none" yapmanın avantajı eğer bir portun ucuna hub eklenmiş ve birden fazla host bulunuyorsa bunlar rahatça IP alabilecektir.Fakat "rate" limiti kısıtlı tutarsak hub kullanan host'lardan bazıları IP alamayabilirler.

5- Son olarak dhcpsnooping 'i devreye aldıktan sonra router veya switch üzerinde veritabanında IP ve MAC bilgileri yazılır.Bu bilgileri kontrol edelim:

show dhcpsnooping binding

Total number of bindings:  4

MAC Address       IP Address     VLAN   Interface    Type    Lease (min) -----------------  ---------------  ----  -----------  -------  ----------- 00:01:6C:::     10.1.70.165     1      fe.1.12  DYNAMIC           41 00:11:85:::     10.1.70.220     1      fe.1.12  DYNAMIC           45 00:11:85:::     10.1.70.166     1      fe.1.12  DYNAMIC           51 00:1C:25:::     10.1.70.131     1      fe.1.23  DYNAMIC           48

Yukardaki çıktıda portlar üzerindeki IP ve MAC adresi bilgileri,hangi portlarda olduğunu,vlan'larını,DHCP lease sürelerini görebilirsiniz.

** http://www.agciyiz.net/index.php/guvenlik/dhcp-snooping-ataklari/

Gentoo Linux LiveDVD 12.0

2 Ocak 2012 tarihinde Gentoo Linux LiveDVD 12.0 sürümü duyuruldu.Bu sürümdeki bazı paketler:

  • Linux Kernel 3.1.5

  • Xorg 1.10.4

  • KDE 4.7.4

  • Gnome 3.2.1 XFCE 4.8

  • Fluxbox 1.3.2

  • Firefox 9.0

  • LibreOffice 3.4.99.2

  • Gimp 2.6.11

  • Blender 2.60

  • Amarok 2.5

  • VLC 1.1.13,

  • Chromium 16.0

Ayrıntılı bilgi için buradan .

Yeni Yıl: 2012

cat /dev/null; echo "MUTLU YILLAR"! cat <<c/ /dev/null | cat > /dev/null c / () {} / c / main() { cat(); printf("MUTLU YILLAR!\n"); } / 17 format(' MUTLU YILLAR!') write (6,17) stop end c This program runs in four languages with the same effect. c The languages are C, Fortran, C Shell and Bourne Shell. c Written by Vadim Antonov, avg@hq.demos.su c/

"Hoşgeldin 2012! Yeni yılınız kutlu olsun!!"

Test için BASH Ortamı

Test için kısıtlı bir BASH ortamı ihtiyacınız ve chrooting 'e kolay giriş yapmak için chroot ortamında bash kabuğu oluşturalım.Bunun için ilk olarak gerekli olan dizinleri oluşturun;

# mkdir /chroot
# mkdir /chroot/bash
# mkdir /chroot/bash/lib64
# mkdir /chroot/bash/bin
Gerekli olan dizinleri oluşturduktan sonra bash kabuğunun ihtiyacı olan kütüphaneleri dizine (lib64) kopyalamamız lazım.Bash'in ihtiyacı olan kütüphaneleri bulalım.ldd(list dynamic dependencies) komutu ile bu kütüphaneleri listeleyelim:
# ldd /bin/bash
linux-vdso.so.1 =>  (0x00007fffe2511000)
 libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f137fe71000)
 libdl.so.2 => /lib64/libdl.so.2 (0x00007f137fc6d000)
 libc.so.6 => /lib64/libc.so.6 (0x00007f137f902000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f13800c4000)
Yukardaki çıktıda görüldüğü gibi gerekli olan kütüphaneler:
  • libncurses.so.5

  • libdl.so.2

  • libc.so.6

  • ld-linux-x86-64.so.2

Yukardaki kütüphaneleri oluşturduğunuz dizine(lib64 - sisteminize göre bu dizin "lib" olabilir.) taşıyın:

# cp /lib64/libncurses.so.5 /chroot/bash/lib64
# cp /lib64/libdl.so.2 /chroot/bash/lib64
# cp /lib64/libc.so.6 /chroot/bash/lib64
# cp /lib64/ld-linux-x86-64.so.2 /chroot/bash/lib64
Bu işlemi yaptıktan sonra "bash" komutunu oluşturduğumuz "bin" dizinine kopyalayalım.
# cp /bin/bash /chroot/bash/bin
Şimdi ihtiyacımız olan komutları chroot bash kabuğunuza kopyalayın.Mesela "ls" komutundan başlayalım.
# ldd /bin/ls
linux-vdso.so.1 =>  (0x00007fff161ff000)
 librt.so.1 => /lib64/librt.so.1 (0x00007fa1effe5000)
 libacl.so.1 => /lib64/libacl.so.1 (0x00007fa1efddc000)
 libc.so.6 => /lib64/libc.so.6 (0x00007fa1efa71000)
 libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa1ef854000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fa1f01ee000)
 libattr.so.1 => /lib64/libattr.so.1 (0x00007fa1ef64f000)
"ls" komutu için gerekli olan kütüphaneler yukardaki gibi.Hemen bunları chroot bash kabuğu ortamındaki "lib64" dizinine kopyalayın.
# cp /lib64/librt.so.1 /chroot/bash/lib64
# cp /lib64/libacl.so.1 /chroot/bash/lib64
# cp /lib64/libpthread.so.0 /chroot/bash/lib64
# cp /lib64/libattr.so.1 /chroot/bash/lib64
libc.so.6 ve ld-linux-x86-64.so.2 kütüphanelerini daha önce kopyaladığımız için bunlara gerek yok.Bu kütüphaneleri kopyaladıktan sonra "ls" komutunu oluşturduğumuz "bin" dizinine kopyalabiliriz.
# cp /bin/ls /chroot/bash/bin
Dizinimizdeki(lib64) kütüphaneler ile test edeceğimiz bash kabuğu için yeterli komutları çalıştırabiliriz.İhitiyacım olan  cp,cat,touch,mkdir,rm,mv komutlarını kopyalayalım.
# cp /bin/cp /chroot/bash/bin
# cp /bin/mv /chroot/bash/bin
# cp /bin/cat /chroot/bash/bin
# cp /bin/rm /chroot/bash/bin
# cp /bin/mkdir /chroot/bash/bin
# cp /bin/touch /chroot/bash/bin
Kabuğumuz için ihtiyacımız olan komutlarını koyduktan sonra artık kısıtlı bash kabuğumuza giriş yapabiliriz.
# chroot /chroot/bash /bin/bash
Hiçbir hata almadıysanız kabuk ortamına girdiniz,şimdi koyduğunuz komutları test edebilirsiniz.