Günümüzde Linux güvenliği deyince insanların aklına gelen;
dostum Linux çok güvenli, “Virüs yemiyormuş” kelimesi ile özetlenebilir. Evet
doğru Linux güvenli bir sistem. Peki bir sistemin güvenli olması yeterli mi ?
Tabi ki değil… Bir hacker atasözünün dediği gibi “En güvenli sistem, fişi çekik
sistemdir” Sistemleri , bilgisayarları yönetenler bizler olduğumuz için, sadece
sistemlerin güvenli olması “GÜVENLİ” kelimesinin karşılığını vermiyor.
Tecrübelerime dayanarak çokça büyük sistemlerde önemli noktaların şifrelerinin ‘123456’ olduğunu bilirim. En büyük sistemlerin databaselerini public etsem bu neymiş be abi diyebilecek bir manzarayla karşı karşıya kalabilirsiniz.
Yani kısacası diyeceğim şu. Bir sistemin güvenliği %80 insan elindedir. Geriye kalan %20 ise servis sağlayıcılar, hizmet aldığınız firmalar vs diye dağılır.
Tecrübelerime dayanarak çokça büyük sistemlerde önemli noktaların şifrelerinin ‘123456’ olduğunu bilirim. En büyük sistemlerin databaselerini public etsem bu neymiş be abi diyebilecek bir manzarayla karşı karşıya kalabilirsiniz.
Yani kısacası diyeceğim şu. Bir sistemin güvenliği %80 insan elindedir. Geriye kalan %20 ise servis sağlayıcılar, hizmet aldığınız firmalar vs diye dağılır.
Eski yazımda sizlere spamlardan kurtulmak için birkaç yöntem anlatmıştım. Bugün ki yazım ise gene güvenlik içerikli bir yazı olacak. TCP protokolü ile sistem servislerine erişim denetlemesi yapacağız.
Öncelikle TCP nedir ? TCP (Transmission Control Protocol) bir veri gönderimi sağlayan mekanizmadır.
rlogin, telnet, finger, talk, ssh, rsh, http, https, ftp, smtp gibi popüler protokollerin veri iletimi TCP tarafından
sağlanır. Kullanılmayan bir servisi tamamen devre dışı bırakmak kolaydır. Ama
gereksinimiz olan sağlayıcıları ne yapacaksınız ? TCP, yukarıda saydığım
servisler için özel bir bağlantı yetkilendirilmesi veya reddetilmesi
gerektiğini /etc/hosts.allow ve /etc/hosts.deny dosyaları belirler.
TCP, sistemlere göre xinetd daemon ve inetd daemon dinleme
prosesi kullanabilir. TCP ile veri akışı sağlanan bir servis, sunucu prosesi
tarafından talep edildiğinde hosts.allow ve hosts.deny dosyaları taranır.
Bağlanan makinenin IP adresiyle eşleşen bir kayıt kontrolü gerçekleşir.Bu
denetleme bağlantı girişimleri meydana geldiğinde gerçekleşir. Biraz daha
basite indirgersek:
-Adres hosts.allow da listelenmişse bağlantıya izin verilir.
Host.deny dosyası denetlenmez.
-Adres, hosts.deny dosyasında ise bağlantı otomatik
reddedilir.
-Adres her ki dosyada da yoksa bağlantıya izin verilir.
Sistemlerde değerlendirme sırasının önemli olduğunu
unutmayınız. Bir sistemde hosts.allow dosyasına erişim izni verilmişse hosts.deny dosyasıyla bu sisteme erişimi
engelleyemezsiniz.
Sisteme bağlanacak her adresi listelemek mümkün değildir.
Yukardaki dosyalar ise alt ağların ve adres gruplarının tamamını belirtmenizi
sağlar. Bu adresleri belirtmek için ALL anahtar sözcüğünü kullanabilirsiniz.
Şimdi biraz dosyalar içerisinden örnek vereceğim.
/etc/hosts.allow dosyası; (# açıklama satırlarını yazmayarak)
in.telnetd: 192.61.61., turksec.tr
vsftpd: ALL
vsftpd: ALL
/etc/hosts.deny dosyası ise;
ALL: ALL
Şeklinde gösterilebilir.
Örneklerimiz oldukça kısıtlayıcı bir kalıpta yazıldı. Allow
dosyamız sadece telnet ve ftp servislerine izin veriyor. Telnet'e ise bağlanabilecek ip şartı koyduk. Mesela bir servera girdiniz SSH bağlantısı yapacaksınız. SSH'a erişim var giriyorsunuz ve saniyesinde düşüyorsunuz. İşte bunun nedeni bu. Evet kodumuzu açıklamaya devam edersek iki servise izin verdik, eriye kalan bütün
servisleri ise kısıtladık. Evet arkadaşlar farklı sistemlere göre xinetd veya
inetd gibi konulara girerek konuyu uzatabilirim. Ama daha fazla karışık hale
getirerek konuyu uzatmayacağım. Linux sistemlerde erişime izin vereceğiniz
sağlayıcıları gerekli dosyaları düzenleyerek en az tehlike durumuna
getirebilirsiniz.
Ayrıca allow dosyasında gerekli karakterler ile kullanım
alanınızı açabilirsiniz. Örnek vermek gerekirse,
-Bir (.) karakteriyle başlayan, .f0rtys3v3n.tr açıklaması a.be.kay.na.na.nab.din.bi.ze.f0rtys3v3n.tr
ile eşleşebilir.
-Ya da (.) karakteri ile biten 192.161. açıklaması 192.168.x.x
bütün bağlantıları içerebilir.
-@ karakteri ağ grubunun sisteminin bir üyesiyse kayda
alınır. Değilse istemci tarafından desteklenmez.
-Son olarak n.n.n.n/m.m.m.m gibi bir ifade var. Buda ağ
maskesi çifti olarak yorumlanır. 192.168.61.61/255.255.254.0 ağ maskesi
192.168.61.61 ile 192.168.62.255 arasında ki her adresle eşleşir.
Evet yazımızı burada sonlandırıyorum. Bu yazıları yazmamın
bir amacı var. Oda Özgürlük. Açık kaynak kodlu sistemler 100’erce mühendis ve insanlar tarafından
geliştiriliyor. Ve de başka birim ve kişilerin, bilgisayar ve sistemleri
izlemesini engelliyor. Evet bu yazıları yazmamda ki amaç bilişim özgürlüğü.
Türkiye’deki bütün kurum ve kuruluşlarda Linux sistemleri kullandırma
(hayalimdir). Bakarsınız bir gün gerçek olur. Ne dersiniz ?
Linux yazıları - 2 / Turksec ~ t4
EmojilerEmojiler