|
|
|
| Internet son birkaç
yıldır daha tehlikeli olmaya başladı. Internet trafiği artmakta ve önemli
işler Internet'te yapılmakta. Bununla birlikte insanlardan kaynaklanan
zararlar da artmakta.
Eğer çalınmaya
değer bir şey varsa biri uğraşacak ve de onu çalacaktır. Bu günümüzde
Internet dünyasında çok daha doğrudur. Linux sistemleri bile bu kuralın
dışına çıkamazlar. Ama Linux'un bu Internet çalkantılarına karşı
kuvvetli olması ve birçok sofistike güvenlik birimlerine sahip olması
çok güzel birşey. Bu Linux'un Intermet'le yoğun uğraşanlar arasında
popüler olmasının en onemli sebebidir.
Bununla birlikte
Linux güvenlik araçlarını uygun bir şekilde kullanmazsanız,
problemlerle karşılaşabilirsiniz. Problemler kötü şekilde kurulmuş
güvenlik araçlarından kaynaklanır. Bu yazı hangi hususlara dikkat
edilmesi gerektiğini açıklamaya çalışacak.
Sisteminize zorla
girmek için kullanılacak birçok yol vardır. Genellikle bunlar var olan
programların hatalarını kullanırlar. Linux kulanıcıları bu hatalara
ışık tutar ve çabucak bir yama çıkartırlar. Bu yamalar diğer işletim
sistemlerindeki kardeş programların yamalarından çok daha hızlı çıkarlar.
Bu yazı
makinenizi ( ya da ağınızı ) bu çeşit problemlere karşı nasıl
koruyacağınızı açıklayacak. Aşağıda güvenli bir Linux'un nasıl
yapılacağı açıklanacak.
|
|
| Ağ Servisleri |
Linux bir sunucu olarak birçok servisi içinde bulundurabilir. Ör :
FTP,WWW ve e-mail. Bunlar kapılar ( port ) vasıtasıyla sağlanır. Örnek
vermek gerekirse
FTP 21. kapıyı kullanarak iletişim sağlar.
Eğer servislerin dağılımı hakkında bilgi almak isterseniz /etc/servicesdosyasına
göz atabilir.
Sistem kaynaklarından
kazanmak ve sistem yönetimini daha kolay kılmak için çoğu servis /etc/inetd.conf
tarafından yönetilir. Bu dosya servislerin nasıl çalışacağını
belirler.
|
|
| Nelere Sahibiz? |
| Çoğu Linux dağitimi önceden birçok
servisi açmasına rağmen bunlar güvenlik için kapalı olmalı.
Birleşmiş sistemlerde güvenlik çok sorun değildir. Bu
"yumuşak" ortamda kazara gerçekleşen zararların yeteri
kadar önlendiğini varsaymakla beraber bu servislere girişin sağlanması
bunları korumaktan önemlidir. Eğer Linux'unuz Internet'e açılırsa
olaya daha değişik bir açıdan bakmalısınız. Sisteminizde
hangi servislerin çalıştığını kontrol için netstat
-vat komutu kullanılır.
Sonuç :
tcp 0 0 *:6000
*:* LISTEN
tcp 0 0 *:www *:*
LISTEN
tcp 0 0 *:auth *:*
LISTEN
tcp 0 0 *:finger
*:* LISTEN
tcp 0 0 *:shell *:*
LISTEN
tcp 0 0 *:sunrpc
*:* LISTEN
LISTEN
yazan her satır bağlanılmayı bekleyen bir servistir. Bunlardan
bağzıları tek bağımsız ( stand-alone ) programlardır; fakat
çoğu /etc/inetd.conf
tarafından kontrol edilir. Eğer bir servisin tam olarak ne yaptığını
bilimiyorsanız /etc/services
dosyasından bakabilirsiniz.
Örneğin : grep '^finger'
/etc/inetd.conf
komutuyla şöyle bir çıktı alırsınız :
finger stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.fingerd
Programın
ne yaptığına bakmak için man sayfalarından in.fingerd'ye bakın. Eğer servise ihtiyacınız yoksa onu
/etc/inetd.conf
dan başına bir diyez (#) koyarak kapatın.
# finger
stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.fingerd
Daha sonra killall -HUP inetd komutunu
vererek inetd 'yi yeniden başlatın tabii ki finger 'i
sonsuza dek kapattık. Eğer istersek yeniden # 'i
kaldırarak ve de killall
-HUP inetd komutunu vererek
bir daha açarız. Sistemi yeniden başlatmaya gerek yok. Eğer bir
program inetd 'de yer almıyorsa, bağımsız (stand-alone)
bir programdır. Bu servisi programı makineden kaldırarak
( uninstall ) kaldırabilirsiniz.Tabii
bunu programın ne işe yaradığını ve ne yaptığınızı
biliyorsanız yapın.
|
|
| hosts.{allow|deny} |
| Çeşitli servislere ekstra güvenlik
eklemek için Linux daha önceden belirtilmiş makinelere izin
vererek ya da reddederek sistemi korur. Örnek olarak sadece sizin ağınıza
bağlı bilgisayarlara ( Internet'teki bilgisayarlara değil ) izin
vermek için /etc/hosts.allow
ve /etc/hosts.deny
dosyalarını düzenleyin. Daha fazla bilgi için man sayfalarına
bakın |
|
|
| SSH ( Secure Shell System ): |
| Makine bilgilerine
bakarak bağlantıları reddetmek saldırılardan korunmak için iyi bir yöntem.
Ama hepsi bu kadar değil.Sahte makine isimleriyle bağlantı yapmak olasıdır.
Internet üzerinden programlar arası haberleşmede bilgi
tehlikededir.Yeterli bilgiye sahip birisi bunlara bakabilir. Spoofing
denen yöntemle sahte bilgileri Sisteminize aşılayabilirler. Bu
problemler Internet protokollerinin karşılıklı haberleşmeleri sırasında
gerçekleşir.Bu güçlüklerin üstesinden gelmek için ssh
tasarlanmştir.
> SSH açık
kaynak kodu ( open source ) şartlarına uygun olarak, bağlantılarda
kimlik kontrolü ve şifreleme yapan sağlam yapılı ve iyi geliştirilmiş
bir sistemdir. Şifreleme, bilgi paketlerinin iletmi sırasında kodlar
kullanır. Kimlik doğrulama
( authentication ) bağlantı ya da paket
iletimi varsa kullanılan bir yöntemdir. Diğer işletim sistemlerinde SSH
istemcileri mevcuttur. Sunucu olarak Linux kullanılarak SSH düzeyinde
bilgi iletimi sağlanabilir.
SSH hakkında
daha fazla bilgi için http://www.ssh.fi
|
|
| Programları izleme. Ne
nerede kaydedilir? |
| Linux,
sistem yöneticisinin sistemde neler döndüğünü bilmesini sağlayan
kapsamlı alt sistemlere, programlara sahiptir. Aşağıda, dosyaları
kaydeden ( log ) bazı araçların açıklaması mevcuttur. Bunların
doğru kurulduğundan emin olun ve herhangi bir saldırıdan şüphelenirseniz
bunları kontrol edin. Buradaki en onemli sorun: çok fazla kayıt
bulunmasıdır. Bunun sonucu olarak filtreleme ve önemli bilgilerin
kaydedilmesi önem kazanır. |
| > 3.2.1 JAIL ( Just Another IP Logger ) : |
JAIL arka planda çalışan iki küçük
programcıktan oluşur ( icmplog ve tcplog ). Bu
programlar /var/log/syslog
içindeki bilmek istediğiniz bilgileri kaydederler. Geniş bilgi için
man sayfalarına bakabilirsiniz.
ftpd , rlogind
ve birçok etkileşimli programlar, kendilerine bağlanmak isteyen
kullanıcıların kayıtlarını /var/log/syslog
ve /var/log/messages
dosyalarında tutarlar.
|
|
| Diğer
Güvenlik Önlemleri : |
Bilgisayarlardaki firewall özel bir ağı uçsuz bucaksız olan
Internet'ten korumayı sağlayan bir araçtır. Firewall'un en basit
şekli ( modem yada ethernet kartı ile ) Internete ya da özel ağlara
bağlı bir Linux makinasıdır. Firewall görevini üstlenen
bilgisayar, Internet'e ve de ağa erişebilir.Bu korumalı ağ
Internet'e çıkamaz ve de Internet'te bu ağa giremez. Internet'e
veya Internet'ten akan bilgiler firewall tarafından fıltrelenir. Ağ
içinde servisleri açma ya da kapatmada daha az özen gösterilir.
Bu şekilde sadece bir makina üzerinde yoğunlaşılır. Firewall
kurmak oldukça karmaşık bir iştir. İlk başta makinenize bağlı
iki ethernet kartı gerekir. Sonra iki ethernet kartı arası bilgi
köprülerinin filterelenmesini kurmak için ipchains
isimli program kurulmalıdır
|
|
| Özet |
Sisteminizi güvenli kılmadaki karşılacağınız
en önemli engel: sisteme girişin azalmasıdır. Sistem güvenligini
arttırmanın arkasındaki mantık bilgisayarin kullanımını kısıtlamaktır.
Bu yazı ile aklınıza gelebilecek yeni fikirlerden önce
madalyonun arka yüzünü; yani sisteminize güvenli kılarken
sisteminizi daha az kullanma olasılığınızı belirtmek isterim.
|
|