İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

Web Sitem Güvendemi?

03-07-2012 18:49
#1
BlueLeufy - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2012
Nereden:
Antalya
Mesajlar:
68
Teşekkür (Etti):
0
Teşekkür (Aldı):
20
Konular:
20
Ticaret:
(0) %
Web Sitem Güvendemi?

Şimdi sizlere Binbir uğRaşla yAptığınIz web siteNizi korumak için birkaç yoldan bahsedeceğim. Hiç birimiz onca emekle yaptığımız sitenindaha sonra lamerler tarafından hacklenmesini(!) istemeyiz. Peki neleredikkat etmeyiz, bildiğim kadarıyla anlatmaya çalışacağım.

1)Mail Güvenliği

Her şeyden önce mail adreslerinizin günvenliğini sağlamalısınız. ÇünküHostunuz, domaininizi aldığınız yer bilgilerinizi önce mail adresineyollarlar.
Mail şifreniz mutlaka harf ve rakam kombinasyonlarından oluşsun. Ör:125asd47a gibi. Asla kişisel bilgilerinizden herhangi birini şifrenizolarak kullanmayınız. Gizli sorunuz ve cevabınız sadece sizinbileceğiniz bir şey olsun. Burayada özel bilgileriniz girmeyiniz.Ayrıca mailinize gelen bazı mailler fake mail olabilir. Eğer mailinizegelen yada başka bir yerden indirdiğiniz bir dosya size işlemyapabilmek için mail adresinizin kullanıcı adı ve şifresini girmesiniisterse o sayfalara k.a. ve şifrenizi girmeyin. O sayfayı direk kapatıpmailinizi tekrar açarak login olabilirsiniz. Adres çubuğunda yazanisimlere dikkat edin. Eğer mailinizi aldığınız yerle bir alakası yoksabu bir fake maildir.

2)Hosting Güvenliğiniz

Hostinginizi aldığınız yerdede aynen mailiniz gibi şifrenin karışıkolsun ve mailinizle aynı şifreyi kullanmayın. Sadece güvenilirkuruluşlardan ve işine özen gösteren yerlerden hosting almaya çalışın.Çünkü bazı serverlarda hala bir çok açık bulunmakta. Bunun sebebi isekullandıkları yazılımlarda güncelleme yapmamaları. Sitenizi elegeçirmek isteyen kişiler bu açıkları kullanarak hostinginizielegeçirebilirler.

3)Domain Güvenliğiniz

Domain adınızı aldığınız yerdede şifreniz farklı ve karışık olsun. (Herşeyin başı şifre). Domain whois bilgilerinde domaini aldığınız yereverdiğiniz mail adresinizi kullanmayın. Çünkü domaininizi ele geçirmekisteyen saldırgan öncelikle sitenize whois çekip mailinizi vehostinginizi öğrenmek ister. Daha sonra önce mailinizi ele geçirmeyeçalışır.

4)Web Programlamasında Güvenlik

İlk üç adımı uygulamanıza rağmen hala sisteminizde programlamadankaynaklanan açıklar olabilir. Bunlarıda bir kaç başlık altındatoplayalım.

a)Hazır portal ve forumlarda güvenlik

Web sitenizde hazır portal veya forum kullanıyorsanız sürekli olarakkullandığınız portalın/forumun sitesini ziyaret edin ve güncellemelerielinizden geldiğince yapmaya çalışın. Çünkü genelde bir çok versiyondasitenizin ele geçirilmesini sağlayacak açıklar mevcuttur. Bunlarınyamalarını ve açıkları yazılımın kendi sitesinden öğrenebilirsiniz.Ayrıca b-2 deki database güvenliğinede bakınız.

b)Kendi Yazdığınız Sistemlerde Güvenlik

b-1) Kodlama Hataları

Sisteminizi yazdınız ve sorunsuz çalışıyor. Herşey yolunda amayaptığınız veya eklemeyi unuttuğunuz bir kaç kod yüzünden sitenizdebazı açıklar mevcuttur. Ve malesef saldırganlar bu açıkları kullanaraksisteminize girebilirler ve zarar verebilirler. Peki bunlar nelerdir?

b-1-1) Login Panelleri

Saldırgan öncelikle login panellerinde bir kaç kod deneyerekdatabase’inizin yonu bulabilir ve sızıntılarla datebase’den sizin veyaüyelerinizin bilgilerini ele geçirebilir. Genelde ‘or 1=1 tarzındakodlamaları bu panellerde deneyerek SQL injection yapmaya çalışırlar. Oyüzden bu tür kodları kabul etmeyen ayıklan bir sistem yazmalısınız. Butarz kodlamaları girince sisteminizin iç hata vermemesi lazım. Ayrıcalogin panellerinde deneme yanılma yöntemleriyle kullanıcı adı veşifrenizi ele geçeribilirler. Bunu önlemek için mümkünse güvenlik koduuygulaması yapmanız iyi olacaktır. Ayrıca birkaç yanlış denemeden sonraip adresini banlarsanız buda işe yarar.

b-1-2) Haber/Yorum Ekleme

Login panellerinde olduğu gibi haber ve yorum ekleme scriptlerindesızıntıları önlemeniz gerekir. Asla bu bölümler kod kabuletmemelidir.Yoksa kullanıcı yorum yada haber olarak bir kod ekleyereksitenizin o sayfasını başka bir sayfaya yönlendirebilir. Burdadayapmanız gereken bu tür kodları kabul etmeyen bir sistem yazmaktır.

b-2) Database Güvenliği

Database’iniz mutlaka şifre korumalı olsun. Eğer access veritabanıkullanıyorsanız. Veritabanınızı hostinginizde bulunan db klasörü içinekoyun. Bu klasörden database’inizi indiremezler. Hazır kullandığınızscriptlerdeki dblerin adlarını ve yollarını mutlaka değiştirn. Busaldırganın db yolunuzu öğrenmesini ve sızmasını engeller.

Evet bu yukarda yazılanları yaptıkdan sonra tahminimce siteniz %90güvende olur. Ama asla %100 olmaz. Çünkü hack için mutlaka bir yolvardır. Tabi bunu yapabilecek kişilerde sayılıdır. Asla bütünüyeliklerinizde aynı şifreyi kullanmayın. Ayrıca eğer sitenizde sizdenbaşka yönetici / editör varsa onlarıda mail güvenliği konusunda uyarın.Ben bu yazılanlarının bir kısmını uygulamıyorum. Kendinize düşmanedinmemeye çalışın ve saldırganlara sitenizi ele geçirmek için birsebeb vermemeye gayret gösterin. Mutlaka bu yazılanlarada eklenmesigereken şeyler vardır. Sizde bildiklerinizi bu postun altına eklersenizgüzel bir kaynak olur.
Genel Server Güvenliği

%100 server güvenliğini sağlamanın tek yolu o serverın fişindengeçmektedir. En güvenli server fişi çekik serverdır.Bunun dışındaki tümmethotlar sadece server güvenliğini arttırmak içindir. Aşağıda servergüvenliği ile ilgili verilmiş bilgiler genel bilgiler olup kullanıcıyagöre değişebilmektedir.
vi, pico vb editorler kullanılarak aşağıdaki satırlar /etc/sysctl.conf içine eklenmelidir

# disable packet forwarding net.ipv4.ip_forward = 0 # enable source route verification
net.ipv4.conf.all.rp_filter = 1 # ignore broadcast pings
net.ipv4.icmp_echo_ignore_broadcasts = 1 # enable syn cookies
net.ipv4.tcp_syncookies = 1 # size of syn backlog
net.ipv4.tcp_max_syn_backlog = 512 # disable automatic defragmentation #
set max files fs.file-max = 32768 # Enable IP spoofing protection, turn on
Source Address Verification net.ipv4.conf.all.rp_filter = 1
# Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1
# Enable ignoring ping request net.ipv4.icmp_echo_ignore_all = 1

Bu ne yapar?

Bu kodlar linux işletim sisteminin kendisi tarafından kullanılmaktadır. Bu kodlar sisteme ping, icmp, isteklerini
redetmesini ve SYN korumasını devreye alınmasını, network forwarding in engellenmesini sağlar. Ancak bu değişiklik
yapıldıktan sonra server reboot edilmelidir.
/etc/rc.local, içine aşağıdaki kod eklenmelidir
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > done
echo 1 > /proc/sys/net/ipv4/tcp_syncookies for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
do echo 0 > done echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Bu kısım bir önceki kısımla aynıdır ve bu isteklerin rededilmesi işlemini tekrar, başka bir guvenlik katmanıdır.
/etc/host.conf, içine aşağıdaki kodlar eklenmelidir , tabi içinde yoksa
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on

/etc/hosts.deny içine aşağıdaki kod eklenmelidir

ALL: PARANOID

Burada bir önceki işlemde yapılan spoofing korumasını arttırılması sağlanır.
Firewall linux server için en önemli ihtiyaçtır. Firewall olmaksızın linux server tamamı ile tehlike altındadır
denilebilir , firewall ile server güvenlik altındadır ve korunabilirdiyebiliriz ancak unutlmamalıdır ki hiç bir firewall %100 güvenliksağlamaz.
Kernel bilgilerini aramalı ve bulmalısnız. Hatta kişisel kernelderlemeside yapabilirsiniz, (eğer linuxde çok iyi bir kullanıcıdeğilseniz kesinlikle bu işlem önerilmez) veya RPMkullanabilrsiniz.Kernel derlemesi local olmayan makinalarda kesinlikleönerilmeyen bir işlemdir. Sebebi ise , eğer bir şeyler ters gidersesizin power düğmesine basıp kapatacak şansınız olmayacak ve tekkullanıcı modunda serverı başlatamayaaksınız.Data Center ı beklemelibir destek isteğinde bulunmalı ve onların yanıt vermesini beklemekzorunda kalacaksınız.Buda hem büyük zaman kaybı, hem oldukça yavaş hemde çok maliyetli bir işlemdir. Diğer uygulamalar yapılan konfigurasyondeğişiklikleri sistem aşırı yükünü vb sorunları engelleyecektir.

Örnek
proftpd:
/etc/proftpd.conf, içine aşağıdaki kod eklenebilir
TimeoutIdle 600 TimeoutNoTransfer 600 TimeoutLogin 300 MaxInstances 30 MaxClientsPerHost 2
mysql için:

/etc/my.cnf
[mysqld] port = 3306 skip-locking
set-variable = max_connections=100
set-variable = max_user_connections=20
set-variable = key_buffer=16M
set-variable = join_buffer=4M
set-variable = record_buffer=4M
set-variable = sort_buffer=6M
set-variable = table_cache=1024
set-variable = myisam_sort_buffer_size=32M
set-variable = interactive_timeout=100
set-variable = wait_timeout=100
set-variable = connect_timeout=10
set-variable = thread_cache_size=128

ve son olarak, /etc/rc.local, içine aşağıdaki kod eklenebilir.

TMOUT=180 export TMOUT

Bu kısım serverda 3 dk hareketsiz duran herkesle bağlantısınıkesecektir.Bu rakamı değiştirerek zamanı da değiştirilebilir, örnek 300yapıldığında bu 5 dk olacaktır Güvenliğin bir seviye daha artırılmasıiçin aşağıdaki gibi bir uygulama yapılabilir ssh erişimi kısıtlaması

in /etc/hosts.deny
sshd: ALL
in /etc/hosts.allow
Code:
sshd: host.ip.number.1,host.ip.number.2,etc

alıntıdır...

03-07-2012 18:52
#2
Aftemelouchos - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
06/2012
Nereden:
Balıkesir -- Erdek
Yaş:
26
Mesajlar:
2.695
Teşekkür (Etti):
11
Teşekkür (Aldı):
238
Konular:
1658
Ticaret:
(0) %
Aynı konu verildi

http://www.turkhackteam.net/web-serv...guvendemi.html
03-07-2012 21:36
#3
BlueLeufy - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2012
Nereden:
Antalya
Mesajlar:
68
Teşekkür (Etti):
0
Teşekkür (Aldı):
20
Konular:
20
Ticaret:
(0) %
özür dilerim
03-07-2012 21:37
#4
Aftemelouchos - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
06/2012
Nereden:
Balıkesir -- Erdek
Yaş:
26
Mesajlar:
2.695
Teşekkür (Etti):
11
Teşekkür (Aldı):
238
Konular:
1658
Ticaret:
(0) %
rica ederim kardeşim özür dilemeye ne gerek var

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı