Kategori arşivi: Rehberler

Siber güvenlik rehberleri, güvenlik hakkında rehberler, sistem ve network rehberleri

Unbound ile Güvenli DNS Kurulumu

Unbound güvenlik ön planda tutularak yazılmış bir DNS sunucusudur. Bildiğiniz üzere Türk Telekom vakti zamanında DNS manipülasyonu yaparak insanları fişlemiş(tam olarak bilemiyoruz.)bununla birlikte insanlara medya, kurum ve kuruluşlarda konu ile ilgili bilgilendirme yapılmamıştır insanlarda Google DNS kullandığını zannedip ip adreslerini değiştirmemiş ve benim tabirimle fişlenmeye devam etmişlerdir

Google’nin blog sayfasında çıkan ve yetkililerin yaptığı açıklama pek hoş olmamıştı hatırlarsınız. Bunu ne şekilde değiştirebilirim diye düşünüyorsanız kendi DNS sunucunuzu kurmanız ve kullanmanızdan geçiyor diyebilirim UDP 53 kapatıldığında ise buda mümkün olmayacağından buna şükredin diyebilirim. Uzun lafın kısası şuanda burada anlatacaklarım kişisel bilgisayarınızda kullanabilmeniz içindir

Öncelikle baştan belirtmek istiyorum Kullanacağımız uygulama sisteminizde bir DNS sunucusu oluşturmaktadır.UDP 53 kullanan her hangi bir uygulamanız var ise baştan belirteyim onu silmeniz gerekecek.

Windows İçin

Windowsda Kurulum aşırı derecede kolaydır.Gerekli olan uygulamayı indiriyoruz. Sonrasında yönetici olarak açmanız gerekiyor.Kurulum bittikten sonra işimiz dahada kolaylaşıyor hemen DNS ayarlarımıza geliyoruz. Eğer kullandığınız bir DNS varsa 2 sinide siliyorsunuz sonrasında DNS ayarlarını aşağıdaki gibi yapıyorsunuz.

unboundkurulumugorsel1-e1404590603451

Kayıt edip çıkışımızı yapıyoruz.Ardından CTRL +R yapıyoruz çalıştır kısmına “cmd” yazıp başlatıyoruz.

  ipconfig /flushdns

Komutunu uyguluyoruz.Sonrasında Sistemimiz %98 Unbound u kullanmaya başlıyor.Bundan emin olmak için ise Aşağıdaki test sitelerini kullanabilirsiniz.

Eğer oradada test başarılı olursa güvenli dns kurulumunuz başarılı olmuş demektir.doya doya internetde gezebilirsiniz.

Linux Sistemler İçin(Ubuntu etc.)

sistemde bulunan hazır repodan kuruyoruz.

  sudo apt-get update && sudo apt-get install unbound

Kurulum tamamlandıktan sonra root yetkilerinin elimize geçmesi lazım bunun içinde

  sudo -i

root olarak giriş yaptıktan sonra unbound bulunduğu klasöre atlamamız labım bunun için

  cd /etc/unbound

şimdi gerekli olan cache dosyasını indirmeye geldi sıra aşağıdaki linkden indirebilirsiniz.

  wget ftp://ftp.internic.net/domain/named.cache

şimdi ise TLS anahtarını oluşturmamız lazım bunun için aşağıdaki komutu veriyoruz.

  unbound-control-setup

isminde unbound geçen herşeyin sahip izni vermemiz lazım diğer izinler gereksiz ve güvenliğimizi tehdit edecektir.

  chown unbound:root unbound_*

Şimdi ise adında unbound geçenlerin izinlerini 440 yapıyoruz.

  chmod 440 unbound_*

hemen ardından eski config dosyamızı yedekliyoruz

  mv /etc/unbound/unbound.conf/etc/unbound/unbound.conf.default

içerisine ekleyeceğimiz ayarlar aşağıdadır kendinize göre değiştirebilirsiniz.

  > cat > /etc/unbound/unbound.conf <<-EOF
  > server:
  > access-control: 127.0.0.0/8 allow
  > access-control: 192.168.42.0/24 allow
  > auto-trust-anchor-file: "/var/lib/unbound/root.key"
  > verbosity: 1
  > statistics-interval: 120
  > num-threads: 1
  > interface: 0.0.0.0
  > outgoing-range: 512
  > num-queries-per-thread: 1024
  > msg-cache-size: 16m
  > rrset-cache-size: 32m
  > msg-cache-slabs: 4
  > rrset-cache-slabs: 4
  > cache-max-ttl: 86400
  > infra-host-ttl: 60
  > infra-lame-ttl: 120
  > infra-cache-numhosts: 10000
  > infra-cache-lame-size: 10k
  > do-ip4: yes
  > do-ip6: no
  > do-udp: yes
  > do-tcp: yes
  > do-daemonize: yes
  > logfile: ""
  > use-syslog: no
  > identity: "DNS"
  > version: "1.4"
  > hide-identity: yes
  > hide-version: yes
  > harden-glue: yes
  > do-not-query-address: 127.0.0.1/8
  > do-not-query-localhost: yes
  > module-config: "iterator"
  > local-zone: "localhost." static
  > local-data: "localhost. 10800 IN NS localhost."
  > local-data: "localhost. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800"
  > local-data: "localhost. 10800 IN A 127.0.0.1"
  > local-zone: "127.in-addr.arpa." static
  > local-data: "127.in-addr.arpa. 10800 IN NS localhost."
  > local-data: "127.in-addr.arpa. 10800 IN SOA localhost. nobody.invalid. 2 3600 1200 604800 10800"
  > local-data: "1.0.0.127.in-addr.arpa. 10800 IN PTR localhost."
  > local-zone: "ubuntuprecise.net." static
  > local-data: "ubuntuprecise.net. 86400 IN NS ns1.ubuntuprecise.net."
  > local-data: "ubuntuprecise.net. 86400 IN SOA ubuntuprecise.net. proxy.ubuntuprecise.net. 3 3600 1200 604800 86400"
  > local-data: "ubuntuprecise.net. 86400 IN A 192.168.34.4"
  > local-data: "www.ubuntuprecise.net. 86400 IN A 192.168.34.4"
  > local-data: "ns1.ubuntuprecise.net. 86400 IN A 192.168.34.4"
  > local-data: "mail.ubuntuprecise.net. 86400 IN A 192.168.34.4"
  > local-data: "ubuntuprecise.net. 86400 IN MX 10 mail.ubuntuprecise.net."
  > local-data: "ubuntuprecise.net. 86400 IN TXT v=spf1 a mx ~all"
  > local-zone: "42.168.192.in-addr.arpa." static
  > local-data: "42.168.192.in-addr.arpa. 10800 IN NS ubuntuprecise.net."
  > local-data: "42.168.192.in-addr.arpa. 10800 IN SOA ubuntuprecise.net. proxy.ubuntuprecise.net. 4 3600 1200 604800 864000"
  > local-data: "1.42.168.192.in-addr.arpa. 10800 IN PTR ubuntuprecise.net."
  > forward-zone:
  > name: "."
  > forward-addr: 8.8.8.8
  > forward-addr: 8.8.4.4
  > forward-addr: 208.67.222.222
  > forward-addr: 208.67.220.220
  > remote-control:
  > control-enable: yes
  > control-interface: 127.0.0.1
  > control-interface: 192.168.42.1
  > control-port: 953
  > server-key-file: "/etc/unbound/unbound_server.key"
  > server-cert-file: "/etc/unbound/unbound_server.pem"
  > control-key-file: "/etc/unbound/unbound_control.key"
  > control-cert-file: "/etc/unbound/unbound_control.pem"
  > EOF

yapılan ayarlarda hata olup olmadığını görmek için

  unbound-checkconf /etc/unbound/unbound.conf

her hangi bir hata vermez ise unbound dns sunucumuzu başlatıyoruz sonrasında DNS ayarlarını 127.0.0.1 yapmanız yeterlidir.

Firefox Eklentileri ile güvenli web keyfi

Firefox Eklentileri ile güvenli web keyfine gerçekten de ulaşabilirsiniz. Günümüzde örneklerini sıkça gördüğümüz tarayıcı virüslerinden Firefox sayesinde kurtulabiliriz.

Bu işlemleri yaparken neden Chromium yani Chrome’yi seçmedim en başta Google’nin hali hazırda gizlilikleri ne kadar ihlal ettiğini ve bu konuda ki yaptırımlarının ne kadar az olduğunu görüyoruz.

Chrome’nin bilgi sızdırmadaki üstünlüğünüzde internet deki bir çok makaleden okuyabilirsiniz bu açıdan Firefox kullanmanız hem güvenliğiniz hem de gizliliğiniz için gerekli.

tarayıcılarından istediğiniz birini kullanabilirsiniz önereceğim eklentiler bu dağıtımlarda çalışmaktadır. Waterfox de kullanabilirsiniz. Yapacağınız işlemler sizleri %100 güvenli bir web deneyimi sunmaz sadece popüler olan saldırı çeşitleri ve tehditlerden korumaya yöneliktir. %100 bir güvenlik istiyorsanız daha çok yol kat etmeniz gerekmektedir.

https-everywheregorsel-1
  • HTTPS Everywhere – (her yerde güvenli http) adıyla sıkça karşınıza çıkan ve bir çok büyük web sitesine bağlantınızı güvenli hale getiren bir firefox eklentisidir. Web siteleri genel olarak http üzerinden yayın yapalar bazı web siteleri de https üzerinden sunabilecekleri içeriklerini http üzerinden sunarlar buda büyük bir güvenlik açığı demektir ve gizliliğinizi büyük ölçüde zedeleyen bir unsurdur. Eklentinin göre işte tam bu noktada başlıyor http bağlantıları daha size ulaşmadan https yönlendirmesi yaparak gizliliğinizi korumayı kendisine görev edinmiş durumda tabii ki bunu yapabilmesi için gireceğiniz sitenin https kullanıyor olması gerekmekte.
  • uBlock Origin Reklam engelleme konusunda kendini kanıtlamış ve bir o kadarda stabil olarak tüm web sitelerinde güvenle kullanabileceğiniz bir reklam filtreleme aracıdır.

Benim size Tavsiyem Süzgeç ekleme menüsünden tüm süzgeçleri eklemeniz sonrasında reklamsız bir internetin tadını çıkartmanız.

  • NoScript Security Suite web sitelerindeki aktif içeriği türlü türlü şekillerde düzenliyebilmeniz ve gerektiği zaman engelleyebilmeniz için geliştirilmiş bir firefox eklentisidir. Bu eklentiyi kurar kurmaz Beyaz listesi dışındaki tüm sitelerde bulunan aktif içeriği yasaklayarak %30 oranında bir gizlilik artışı sağlar. Böylece hakkınızda bilgi toplanmasını engeller.
  • uMatrix Web sitelerinde bulunan tüm requestlere yani isteklere cevap vermeyerek hem gizliliğinizi korumaya yardımcıdır hem de noscript ile mükemmel bir ikilidir. Anlatmak gerekirse bir web sitesine girdiniz girdiğiniz sitede türlü türlü yerlerden alınma video linkleri resimler vs bulunmakta işte bu eklenti girdiğiniz site dışındaki isteklere cevap verilmesini engelliyor yani kullanıcının denetimine bırakıyor. Aynı zamanda XSS açıklarından da korumakta
  • Cookie AutoDelete Girdiğiniz web sitelerin bilgisayarınıza kırıntı bıraktığını elbette biliyorsunuz. İşte bu uygulama otomatik olarak kullanılmayan çerezleri silmekte ve gizliliğinizi bir üst seviyeye taşımakla yükümlü ayrıca bir beyaz listesi de bulunuyor buraya güvendiğiniz siteleri ekleyerek de çerezlerin her daim durmasını sağlayabilirsiniz.

Kippo SSH Honeypot ile Linux Server Güvenliği

Birinin sizin sunucunuza erişmeye çalıştığını nasıl anlarsınız? genel olarak loglara bakarsınız ancak bu uygulama onu bile yapmamanızı sağlayacak python ile yazılmış bu yazılım saldırganı sitenizden uzak tutmaya yetecek gibi gözüküyor.

Özelliklerine gelecek olursak

  • Sahte dosya sistemi oluşturarak ekleme ve silme işlemlerini asıl sistemi etkilemesini engelleyebilirsiniz /aynı debian 5 kurulumu gibi sahte dosya sistemi kurarsınız
  • Sahte dosya içerikleri eklemenize imkan sağlar /etc/passwd gibi yada /etc gibi dosyaları koruyabilirsiniz.
  • Oturumlarda yapılan tüm işlemler gerçek zamanlı olarak kayıt altına alınırlar
  • Sadece wget ile indirilebilecek biçimde dosyalar kayıt eder
  • Gerçek SSH ye bağlandığını sanan saldırgan sitenizi kurcalamaya başlayacak ancak başarılı olamayacaktır.

Kippo yazarından

“By running kippo, you’re virtually mooning the attackers. Just like in real life, doing something like that, you better know really well how to defend yourself!”

kippogorsel1

fazla uzatmadan olayımıza geçelim öncelikle ben bu testleri ubuntu da yapıyorum.

sudo apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted

bu kurulum internet ve sistem hızına göre değişecek 22 ye yakın bileşen kurulduktan sonra ssh portumuzu değiştirmeye geldi sıra portu rastgele sayılardan oluşan 4 haneli sayılardan yapmamız gerekiyor benim burada vereceğim örneği kullanmayınız

nano /etc/ssh/sshd_config

22 olan port numarasını ben 4698 yaptım ve ardından ssh yi yeniden başlatıyoruz.

sudo service ssh restart

hemen önce bir subversion kuralım

sudo apt-get install subversion

Kullanıcı oluşturmamız gerekiyor buradan sonraki işleri root olarak yapmamalısınız

useradd -d /home/kippo -s /bin/bash -m kippo -g sudo

kullanıcı oluşturulduktan sonra

su kippo

komutu ile kullanıcıya bağlanıyoruz.Home klasörüne cd komutu ile girişimizi yaptıktan sonra dosyayı indiriyoruz

svn checkout https://github.com/desaster/kippo ./kippo

sonra config dosyamızı düzenlememiz lazım bunun için mv komtuna ihtiyacımız var

mv kippo.cfg.dist kippo.cfg
nano kippo.cfg

dosyamızı düzenlemek için hazır hale getirdik…

ssh_port = 2222

olan yeri

ssh_port = 22

Olarak değiştiriyoruz…

ve son olarakta dosyamızı çalıştırmaya geliyor sıra…

./start.sh

komutunu verdikten sonra arkamıza yaslanıyoruz ve gelen saldırıları izliyoruz kişinin yapacak fazla bir seçeneği yok gibi gözüküyor sistemi kullanarak tam olarak neyin ne olduğunu görmeye çalışacağım…

SSHGuard Kullanarak SSH Brute Force Saldırılarını Engellemek

SSHGuard C dili ile yazılmış hızlı ve hafif bir uygulamadır günlük aktiviteleri takip ederek büyük çaptaki saldırılara karşı sisteminizi korumaya yardımcı olur.Eğer bir kişi sürekli olarak SSH üzerinden sunucuya ulaşmaya çalışır ise uygulama sizin yerinize iptables düzenlemesi yaparak saldırı alınan ip adresini engeller.Daha sonra ise saldırı durduğu zaman engellenen ip adresini serbest bırakır.

sshguardimages11

SSHGuard Kurulumu

centos 5 üzerine ben kurulumu yaptığımdan dolayı aşağıdaki adımları yaparken göz önünde bulundurunuz

rpm -ivh http://flexbox.sourceforge.net/centos/5/i386/sshguard-1.5-2.el5.i386.rpm

Diğer sistemler de kullanmak isteyenler Tıklayın

SSHGuard için iptables/Netfilter yapılandırması

SSHGuard için ipfilterde yapılandırma dosyası yoktur.yapılacak tek şey engelleme kurallarını engellemek için SSHGuarda izin vermek ve gereken ayarlamaları yapmaktır.

ipv4 için

iptables -N sshguard

ipv6 için

ip6tables -N sshguard

Girişleri güncelledikten sonra –dport özelliğini kullanarak portları da koruyabilirsiniz yada portlara erişimi tamamen kapatmak isteyebilirsiniz.

Saldırganlara karşı tüm trafiğin engellenmesi

ipv4 için

iptables -A INPUT -j sshguard

ipv6 için

ip6tables -A INPUT -j sshguard

Saldırganlara karşı SSH, FTP, POP, IMAP belirli hizmetlerin engellenmesi

ipv4 için

iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard

ipv6 için

ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard

Sonrasında kuralları kayıt edip çıkın

service iptables save
  • Mümkün olduğunda tüm SSH trafiğini sunucuya kabul etmeyin
  • Varsayılan güvenlik duvarı ayarlarını mutlaka kendinize göre düzenlemeyi unutmayın

Bir kaç iptables Örneği

SSHGuardın kötü dediği herşeyi yasaklatmak

iptables -A INPUT -j sshguard

Trafiğe açmak isterseniz

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Herşeyi Yasaklamak için
iptables -P INPUT DROP

iptables/netfilter kullanmadan SSHGuard yapılandırma

eğer detaylı bir şekilde iptables kullanmak istemezseniz aşağıdaki komutları kullanarak sshguard izinleri dışında kimsenin işlem yapamamasını sağlayabilirsiniz.

iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -N sshguard
iptables -A INPUT -j sshguard

Son olarak da kayıt ediyoruz ve işlemimiz tamamlanıyor.

service iptables save