TCP ile sistem servislerine erişim denetlemesi

18 Eylül 2014 Perşembe

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.

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

/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
Share this article :

0 yorum:

Yorum Bas

Gönder Gitsin

 
Support : Copyright © 2014. Diary of Injector - All Rights Reserved