Masa üstü Linux umu nasıl güvenli hale getiririm? |
Yanıt Yaz |
Yazar | |
megabros
Security Professional Kayıt Tarihi: 08-06-2009 Konum: Turkey Status: Aktif Değil Points: 752 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı megabros
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 23-08-2009 Saat 13:05 |
Gerek sunucu sistemi gerekse masa-üstü kişisel bilgisayarımız olarak linux , her geçen gün kullanıcı sayısını artırmaktadır. Buna paralel olarak linux çalışan sistemler, kötü niyetli kişilerin daha belirgin bir hedefi haline gelmektedir. Şu anda mutlu şekilde çalışmamıza izin veren linux`umuz, eğer gerekli önlemleri almazsak farkında bile olmadan başımızı ciddi belaya sokabilir. Bu belgede linux`a yeni başlayanlar ve orta derecede linux bilenler için birtakım güvenlik önlemlerinin nasıl alınacağını anlatmaya çalıştık. Bu önlemlerin bir kısmı tek aşamada ve basit bir şekilde yapılabileceği gibi bir kısmı da periyodik olarak ve özen gösterilerek yapılmalıdır. Belgemizin kronolojik bir sıra takip etmesi açısından konuya ilk olarak kurulum aşamasından başlamak istiyoruz. - Kurulum aşamasında - Kurulumdan hemen sonra - Ve kullanırken Temiz Kurulum: Eğer linux kuracağınız bilgisayarınızda daha önce kurulu olan herhangi bir linux sürümü varsa, sizin açınızdan tavsiye edilen edilen en güvenli kurulum , “disk” e “format” atarak yapacağınız bir kurulumdur. Bu şekilde “disk” inizi sıfırlamış olup temiz bir kuruluma başlayabilirsiniz. Güvenlik Seviyesi: Bazı Linux sürümleri (örn: Mandrake 8.1) kurulum aşamasında bilgisayarımızı hangi güvenlik seviyesinde kuracağımızı sorar. Eğer kuracağımız sistem kritik bir iş yapacaksa veya önemli bilgiler barındıracaksa yüksek güvenlikte kurmamızda fayda vardır. Bu şekilde kurulum seçtiğimizde bazı güvenlik araçları kurulum aşamasında seçili hale gelecek ve bazı güvenlik ayarlarını kurulum programı otomatik olarak yapacaktir. Fakat, en yüksek seviyede kurulan bir sistem, herhangi bir saldırıda yapılan fakat normalde de oluşabilen bazı işlemlerde uyarı mesajı vereceğinden sizi gereksiz yere üzebilir. Bu nedenle kişisel kullanım için orta seviyede bir güvenlik ayarı yeterli olacaktir. Disk Bölme: İlk defa bir işletim sistemi kuracak birisi, “disk” üstünde tek bir bölmenin yeterli olacağını düşünerek tüm sistemini bu bölmeye kurar. Linux”umuzun çalışması açısından fazla bir problem teşkil etmiyecek olan bu kurulum, hiç beklemediğimiz bir anda veri kaybımıza neden olabilir. Yoğun istekte bulunarak herhangi bir sunucu programımızın planladığımızdan daha fazla “log” almasına ve tek olan “disk” bölmesini doldurmasına neden olabilecek kötü niyetli bir arkadaşımız, böylelikle o esnada başka bir program tarafından “disk” e yazılması gereken ve bize çok gerekli olan herhangi bir bilginin disk dolu olduğu için kaybolmasına neden olabilir. Bu nedenledir ki “disk” bölme aşamasında a) b) Çeşitli programların “log” larının yazıldığı, “mail” sunucusu çalışıyorsa, gelen mesajların yazıldığı, ve yazıcı dosyalarının gönderildiği bir bölme (/var) c) Eğer sistemimizde bizden başka kullanıcıların da çalışmasını d) Eğer önemli belgelerimiz varsa ve sistemi tekrar kurmak gerektiğinde bu belgeleri başka bir yere taşımak istemiyorsak bunları koyacağımız başka bir bölme (/backup) şeklinde “disk” bölmeleri açmamız, hiç beklemediğimiz bir anda hayatımızı çok kolay bir hale getirebilir. Az Paket Seçimi: Kurulum aşamasında bizim işimizi halledecek ve yakın bir zamanda kullanmayı planladığımız paketleri seçmek güvenlik açısından önemlidir . Çünkü her geçen gün bir programın açığı bulunmakta ve yükleyeceğimiz her bir paket o anda sağlam olsa dahi potansiyel olarak güvenlik tehlikesi oluşturmaktadır. Yamaların Atılması: Daha önce bahsedildiği gibi kuracağınız sürümün bazi paketlerinin güvenlik açığı bulunabilir. Sürümünüzü öğrenen kötü niyetli arkadaşımız kullandığınız delik programın açığını kullanarak başınıza dertler açabilir . Bu nedenle kurulum yaptıktan sonra sürümünüze göre linux`unuza yamaları atmakta her zaman fayda vardır. Bunu yapmak için Mandrake ve RedHat`lerde “rpm” komutunu, bu işi otomatik olarak yapmak istiyorsanız Mandrake”de “MandrakeUpdate”, RedHat`te “autorpm” komutunu kullanabilirsiniz. Gereksiz Servislerin Kapatılması: Linux`umuzu kurup, yamalarını atıp tekrar sistemimizi başlattığımızda artık bilgisayarımızın açık kapılarını kapatma zamanı gelmiştir. Yabancı insanların bilgisayarımıza ulaşabileceği en temel yollardan birisi çalışan sunucu programlar üzerindendir. Bu nedenle sizin işinize yaramayan sunucu programların sisteminizde çalışmasına izin vermeyin. Kişisel bir masa-üstü 1- Sunucu programın ismini yazarak çaliştirma: Bu tip çalıştırma tamamen insiyatifinizde olan bir çalıştırma şeklidir. Genelde linux`unuza daha sonra kurduğunuz ve belirli zamanlarda ihtiyaç duyduğunüz sunucu programlarını çalıştırırken bu yolu izlersiniz. Eğer bu şekilde çalıştırdığınız sunucu programına ihtiyacınız yoksa “ps -ef | grep sunucu_program_ismi” komutu ile “process id” sini öğrenip, “kill process_id” komutu ile bu sunucu proğramı öldürebilirsiniz. Eğer hala size direniyorsa “kill -9 process_id” komutunu en son çare olarak düşünebilirsiniz. 2- Açılırken Otomatik Olarak Çalıştırılan Sunucu Programları: Başlangıçta çalışacak programlar “.rc” betikleri (script) ile
S05apmd (Buna sadece dizüstü bilgisayarlarda ihtiyaç duyarsınız) S10xntpd (Network time protocol) S11portmap (eğer NIS veya NFS gibi RPC servisleri çalıştırıyorsanız gerekli) S15sound (Ses kartının ayarlarını kaydeder) S15netfs (Bu nfs istemcisidir, bir nfs sunucusundan dosy-sistemlerini mount etmede kullanılır) S20rstatd (”r” ile başlayan servisleri çalıştırırken dikkatli olun, uzaktaki S20rusersd S20rwhod S20rwalld S20bootparamd (Diskleri olmayan istemciler içindir, genelde bu zayıflık içeren servise ihtiyaç duymazsınız) S25squid (Proxy sunucusu) S34yppasswdd (Eğer bir NIS sunucusu iseniz gerekli, bu servis pek çok S55routed (RIP, buna GERÇEKTEN ihtiyacınız yoksa çalıştırmayın) S60nfs (NFS sunucusu için kullanılıyor, ihtiyacınız yoksa çalıştırmayın) S72amd (AutoMount daemon, uzaktaki dosya sistemlerini mount etmede S87ypbind (Eğer bir NIS istemcisi iseniz gerekli) Eğer başlangıç programlarını yukarda açıklanan şekilde “netstat -an | grep -i listen” komutundan faydalanabilirsiniz. 3- Süper Sunucu (inetd/xinetd) Bilgisayarınızda birden fazla sunucunun aynı anda çalışarak istek gelmesini beklemesi, hiç kimse o anda servis almıyorsa dahi sistem kaynağımızı tüketen bir olaydır. Bu yüzden birçok sunucu yerine bir sunucu çalışır (inetd) ve gelen isteği bazı güvenlik kontrollerinden geçmesi için “tcpd” sunucusuna devreder. Bu şekilde birçok sunucu program merkezi bir yapılandırma dosyasından (/etc/inetd.conf) kontrol edilebildiği gibi aynı zamanda bilgisayarımız daha az kaynak tüketerek çalışmış olur. Tipik bir “/etc/inetd.conf” dosyasının içeriğine bakalım: ftp stream tcp nowait #nntp stream tcp nowait root /usr/sbin/tcpd in.nntpd Eğer “inetd” /etc/hosts.deny: /etc/hosts.allow: Linux ilk Güvenli Parola Linux`unuzda herhangi bir kullanıcı açarken şifresini sözlüklerde bulunmayan kelimeler yapın. Hatta şifrenin içindeki bazı karakterleri rakam (1,5,2 gibi) bazılarını da rakam ve harf dışıkdaki karakterlerden (@ , /, -) yapın ki, kötü niyetli arkadaş sizin “encrypted” şifrenizi eline geçirdiğinde herhangi bir şifre-kıran program ile kolayca kıramasın. Ayrıca seçtiğiniz şifreleri periyodik aralıklarla değiştirin. Root Hakları ile Çalışan Programların Tespiti ve Kontrolü: kullanabilirsiniz. Uzaktan Erişimin Yapılandırılması: Linux`unuza erişimi iki dosya yardımıyla yapılandırabilirsiniz. “/etc/securetty”, dosyasında root kullanıcısının sisteminize hangi “hak” kısmının + veya – oluşuna göre “kullanıcıya” # Bu dosyaya göre ilk kural, sadece “wheel” grubundaki Eğer herhangi bir kullanıcı herhangi bir yerden bağlanmaya çalışırken bu dosyadaki herhangi bir kurala uymazsa, otomatik olarak bağlantı hakkı verilir. Sistem Kaynaklarının Paylaştırılması ve Sınırlandırılması: LILO Parolası: İnsanlar bazen evi için tüm güvenlik önlemlerini alırlar. Değerli eşyalarını kilitli yerlerde saklarlar, tüm pencerelerini kapalı tutarlar, evde bekçi köpeği beslerler fakat evin ön kapısını bazen açık unutabilirler. Bilgisayar güvenliği dediğimizde de tüm önlemleri alırız fakat biz farkında olmadan bilgisayarımıza fiziksel olarak erişecek kişiyi bazen hiç düşünmeyiz. Bu nedenle bilgisayarımızın açılması için bazı parolalar koymamız şarttır. Bunlardan bir tanesi BIOS parolasıdır. Bilgisayar üzerinde çalışan işletim sisteminden bağımsız, anakart üzerindeki yongalarda tutulan BIOS parolası, “jumper” ayarları ve anakart pili ile oynanarak sistem üzerinden silinebilir. BIOS parolasını bir şekilde atlatan arkadaşımızı (eğer bilgisayarımıza fiziksel olarak erişip bunu yapabilmişse artık arkadaşımız değildir kendisi) durdurmak istiyorsak, işletim sistemimizin yüklenebilmesi için de parola koyabiliriz. Eğer sisteminiz LILO ile açılıyorsa, LILO`nun başlatacağı herhangi bir işletim sistemi için parola k****k mümkündür. Bunun için “/etc/lilo.conf” dosyasının başına password= your_password optional satırlarını ekleyiniz ve parola SORULMAYACAK satırı ekleyeniz. Bundan “Log” Linux “log” larını “/var/log” dizini altına depolar. Sisteminizde kontrolünüz dışında birşeylerin gittiğini anlamak için burdaki dosyalar periyodik olarak bakmanızda fayda vardır. Mümkünse loglar üzerinde çalışan bir analiz programı yardımıyla bu işi otomatik hale getirmeniz de mümkün. Bilgisayarınıza Uzaktan Güvenli Bağlantı: Uzaktan bağlantı dediğimizde çoğumuzun aklına “telnet” ve “ftp” gelir. Bu programlar internetle tanıştığımızdan beri yardımımıza koşmakta ve her işimizi görmektedir. Peki bu programların güvenli olduğunu hiç düşündük mü? Sunucu sistemle istemci arasındaki tüm veri aktarımını (kullanıcı ismi ve parola da dahil) şifrelenmemiş düz metin halinde yapan programlara ne kadar güvenebilirsiniz? Evet “telnet” ve “ftp” den bahsediyoruz. Ağ üzerinde iyi bir yere konuşlanmış kötü niyetli arkadaşımız, internetten kolayca bulacağı bir ağ dinleyen program ile şifrelerinizi toplayabilir. Bu nedenle bu iki programın yerine “ssh” kullanmanızı tavsiye ediyoruz. “Sshd” çalışan herhangi bir sunucu sisteme “ssh” ve “sftp” sayesinde güvenli şekilde bağlanabilir (parolanız şifrelenmiş şekilde iletilir), “telnet” ve “ftp” ile yaptığınız tüm işleri rahatlıkla yapabilirsiniz. Sunucu Programların ve Diğer Programların Eğer herhangi bir sunucu program çalıştıracaksanız, mümkünse bu programı root olarak çalıştırmayın. Root, sistem üzerinde en geniş yetkiye sahip olan (sistemi tamamen yoketmek de buna dahil) kullanıcı olduğundan, root haklarıyla çalışan bir sunucu program kötü amaçlı yönlendirilerek sisteminizde onarılmaz hatalara yol açabilir. Bu nedenle, bu tür programları mümkünse hakları en az kullanıcı ile çalıştırınız. Saygılar.. Düzenleyen megabros - 23-08-2009 Saat 14:00 |
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Açık Forumda Anketlerde Oy Kullanma |