Demirci Halk Egitimi Merkezi Forumları
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Demirci Halk Egitimi Merkezi Forumları

Her yerde, herkes icin EGİTİM
 
AnasayfaPortalliAramaLatest imagesKayıt OlGiriş yap

 

 A DAN Z YE WEB SİTE GÜVENLİĞİ

Aşağa gitmek 
YazarMesaj
ersan_ozsurucu
Genel Sorumlu
Genel Sorumlu
ersan_ozsurucu


Mesaj Sayısı : 1093
Yaş : 61
Kayıt tarihi : 26/11/06

A DAN Z YE WEB SİTE GÜVENLİĞİ Empty
MesajKonu: A DAN Z YE WEB SİTE GÜVENLİĞİ   A DAN Z YE WEB SİTE GÜVENLİĞİ Icon_minitimeCuma 06 Tem. 2007, 16:15

Web Sitem Güvendemi?

Şimdi sizlere Binbir uğRaşla yAptığınIz
web siteNizi korumak için bir kaç yoldan bahsedeceğim. Hiç birimiz onca
emekle yaptığımız sitenin daha sonra lamerler tarafından
hacklenmesini(!) istemeyiz. Peki nelere dikkat 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 adresine
yollarlar.
Mail şifreniz mutlaka harf ve rakam kombinasyonlarından
oluşsun. Ör: 125asd47a gibi. Asla kişisel bilgilerinizden herhangi
birini şifreniz olarak kullanmayınız. Gizli sorunuz ve cevabınız sadece
sizin bileceğiniz bir şey olsun. Burayada özel bilgileriniz girmeyiniz.
Ayrıca mailinize gelen bazı mailler fake mail olabilir. Eğer mailinize
gelen yada başka bir yerden indirdiğiniz bir dosya size işlem
yapabilmek için mail adresinizin kullanıcı adı ve şifresini girmesini
isterse o sayfalara k.a. ve şifrenizi girmeyin. O sayfayı direk kapatıp
mailinizi tekrar açarak login olabilirsiniz. Adres çubuğunda yazan
isimlere dikkat edin. Eğer mailinizi aldığınız yerle bir alakası yoksa
bu bir fake maildir.

2)Hosting Güvenliğiniz

Hostinginizi
aldığınız yerdede aynen mailiniz gibi şifrenin karışık olsun ve
mailinizle aynı şifreyi kullanmayın. Sadece güvenilir kuruluşlardan ve
işine özen gösteren yerlerden hosting almaya çalışın. Çünkü bazı
serverlarda hala bir çok açık bulunmakta. Bunun sebebi ise
kullandıkları yazılımlarda güncelleme yapmamaları. Sitenizi ele
geçirmek isteyen kişiler bu açıkları kullanarak hostinginizi
elegeç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 yere
verdiğiniz mail adresinizi kullanmayın. Çünkü domaininizi ele geçirmek
isteyen saldırgan öncelikle sitenize whois çekip mailinizi ve
hostinginizi öğ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 programlamadan kaynaklanan
açıklar olabilir. Bunlarıda bir kaç başlık altında toplayalım.

a)Hazır portal ve forumlarda güvenlik

Web
sitenizde hazır portal veya forum kullanıyorsanız sürekli olarak
kullandığınız portalın/forumun sitesini ziyaret edin ve güncellemeleri
elinizden geldiğince yapmaya çalışın. Çünkü genelde bir çok versiyonda
sitenizin ele geçirilmesini sağlayacak açıklar mevcuttur. Bunların
yamaları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 ama yaptığınız veya
eklemeyi unuttuğunuz bir kaç kod yüzünden sitenizde bazı açıklar
mevcuttur. Ve malesef saldırganlar bu açıkları kullanarak sisteminize
girebilirler ve zarar verebilirler. Peki bunlar nelerdir?

b-1-1) Login Panelleri

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

b-1-2) Haber/Yorum Ekleme

Login
panellerinde olduğu gibi haber ve yorum ekleme scriptlerinde
sızıntıları önlemeniz gerekir. Asla bu bölümler kod kabul
etmemelidir.Yoksa kullanıcı yorum yada haber olarak bir kod ekleyerek
sitenizin o sayfasını başka bir sayfaya yönlendirebilir. Burdada
yapmanı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çine koyun. Bu
klasörden database’inizi indiremezler. Hazır kullandığınız
scriptlerdeki dblerin adlarını ve yollarını mutlaka değiştirn. Bu
saldırganın db yolunuzu öğrenmesini ve sızmasını engeller.


Evet
bu yukarda yazılanları yaptıkdan sonra tahminimce siteniz %90 güvende
olur. Ama asla %100 olmaz. Çünkü hack için mutlaka bir yol vardır. Tabi
bunu yapabilecek kişilerde sayılıdır. Asla bütün üyeliklerinizde aynı
şifreyi kullanmayın. Ayrıca eğer sitenizde sizden baş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üşman edinmemeye
çalışın ve saldırganlara sitenizi ele geçirmek için bir sebeb vermemeye
gayret gösterin. Mutlaka bu yazılanlarada eklenmesi gereken şeyler
vardır. Sizde bildiklerinizi bu postun altına eklerseniz güzel bir
kaynak olur.

Genel Server Güvenliği


%100 server güvenliğini sağlamanın tek yolu o serverın fişinden geçmektedir. En güvenli server fişi çekik serverdır.
Bunun dışındaki tüm methotlar sadece server güvenliğini arttırmak içindir. Aşağıda server güvenliği ile ilgili verilmiş
bilgiler genel bilgiler olup kullanıcıya gö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 korunabilir diyebiliriz ancak unutlmamalıdır ki hiç bir
firewall %100 güvenlik sağlamaz.
Kernel bilgilerini aramalı ve bulmalısnız. Hatta kişisel kernel derlemeside yapabilirsiniz, (eğer linuxde çok iyi
bir kullanıcı değilseniz kesinlikle bu işlem önerilmez) veya RPM kullanabilrsiniz
Kernel derlemesi local olmayan makinalarda kesinlikle önerilmeyen bir işlemdir. Sebebi ise , eğer bir şeyler ters
giderse sizin power düğmesine basıp kapatacak şansınız olmayacak ve tek kullanıcı modunda serverı başlatamayaaksınız.
Data Center ı beklemeli bir destek isteğinde bulunmalı ve onların yanıt vermesini beklemek zorunda kalacaksınız.
Buda hem büyük zaman kaybı, hem oldukça yavaş hem de çok maliyetli bir işlemdir.
Diğer uygulamalar yapılan konfigurasyon değ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 300 yapı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
Sayfa başına dön Aşağa gitmek
http://ersan45.spaces.live.com
 
A DAN Z YE WEB SİTE GÜVENLİĞİ
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Demirci Halk Egitimi Merkezi Forumları :: BİLGİSAYAR :: Güvenlik-
Buraya geçin: