UNIX ORTAMINDA GÜVENLİK ÖNLEMLERİ
ÖNSÖZ
Burada açıklanan konu başlıkları, sistemlerin biraz daha güvenli kullanılmasını, yetkisiz kişilerin bilerek ya da bilmeyerek sistemin işleyişine zarar vermesini engelleyen temel önlemlerdir.
Ancak, işletim sistemlerindeki hata ve boşluklardan yararlanarak yetkisiz olduğu halde yetkili kullanıcı adı ile sisteme girmek ve sistemi kendi çıkarları doğrultusunda istediği gibi değiştirmek bilgisayar kullanıcıları için çok kolaydır. Bu konuda birçok yayın INTERNET ortamında bulunmaktadır. İşletim sistemlerindeki hataları arayıp bulan pekçok da kullanıcı vardır. Bu kullanıcılara "hacker" adı verilmektedir. Bütün emelleri toplum kullanımına sunulmuş bir ürünü kendi çıkarları doğrultusunda kullanmaktır. Telefona para ödemeden kullanmak, bir bilgisayara abone ücreti ödemeden bağlanıp INTERNET olanaklarını kullanmak gibi.
Bugüne değin pekçok öyküye konu olan bu tür kullanıcıların hepsini engellemek mümkün değildir. Ama caydırıcı olmak için neler yapılması gerektiği burada kısaca anlatılmıştır.
İLK SİSTEM KURULUŞUNDAN SONRA
Genelde UNIX işletim sistemleri kurulurken en yetkili kullanıcı olan root için şifre (password) yoktur. Sistem kuruluşu bitinceye kadar bu kullanıcı için şifre verilmez. Pekçok yerde sistem kuruluşu bittiği halde root için şifre verilmeden sistem kullanıcılara teslim edilir. Bu dikkatsizlik yetkisiz bir kullanıcının "login" ekranından "root" kullanıcı adı ile girmesine olanak verir. root bir UNIX sisteminde "super" kullanıcı olduğu için herşeyi yapabilir. Böylece yetkisiz bir kişi de bilmeden en önemli bilgileri bile silebilir. Kısacası sistem kuruluşu tamamlandıktan sonra hemen root için bir şifre tanımlanmalıdır.
ŞİFRE DEĞİŞTİRME
Kullanıcı şifreleri 10-15 günlük aralıklarla değiştirilebilmeli, sistem kullanıcıyı şifre değiştirmeye zorlamalıdır. Şifre değiştirme işleminde kullanıcıların dikkat etmesi gereken konu, şifrenin anlamlı sözcüklerden oluşmamasının sağlanmasıdır. Anlamlı sözcüklerden oluşan şifreler çok kolay kırılabilir.
YETKİLİ KULLANICILAR
UNIX sistemlerinde root kadar olmasa da, yaptıkları bazı işlemler nedeniyle yetki düzeyleri yüksek kullanıcılar vardır. Genelde sistemi yükleyen kişiler bu kullanıcıların şifrelerini ilk yüklendiği biçimde bırakır, değiştirmezler. Bu tür kullanıcıların ilk yükleme anında ya şifreleri yoktur, ya da kullanıcı adı ile şifreleri aynıdır. Bu kullanıcılar ya tümüyle sistemden çıkarılmalı, ya da yetkisiz kişiler kullanmasın diye şifre verilmelidir.
Bazı kullanıcıların ilk yükleme anındaki şifreleri, yetki düzeyleri ve sistemde yapabilecekleri aşağıda anlatılmıştır :
Kullanıcı Adı Şifresi ============= ================== root root veya boş sys sys / system / bin bin sys / bin mountfsys mountfsys adm adm uucp uucp nuucp anon reboot umountfsys umountfsys admin adminbin ve sys kullanıcısı
Bu kullanıcı aslında sıradan bir kullanıcı gibidir. Ancak pekçok programın ve kütüğün sahibi olduğu için çok güçlüdür. Örneğin passwd kütüğünün sahibi "bin" kullanıcısı ise, sisteme "bin" olarak girip passwd kütüğüne "root" yetkisinde yeni bir kullanıcı ekleyebilirsiniz.
reboot kullanıcısı
Bu kullanıcının şifresi yoksa, yetkisiz biri ağda, sunucu görevi yapan bilgisayarı beklenmedik bir anda durdurup yeniden başlatabilir. Belki de çok önemli bir işi yarıda kesip tüm veri tabanını bozmuş olabilir.
mountfsys ve umountfsys kullanıcıları
reboot kullanıcısı gibi. Özellikle umountfsys beklenmedik anda kütük sistemini UNIX dışına çıkarıp tüm sistemin işlemesini bozabilir.
adm ve admin kullanıcıları
Buradaki kullanıcı için çoğu kez bir program çalışır ve bu program yardımı ile sistemle ilgili düzenleme ve ayar işlemleri yapılır. Sisteme yeni kullanıcı eklenebilir. Eğer şifre değiştirilmez ise yetkisiz biri çok rahat kendisine yeni bir kullanıcı tanımlayabilir.
KULLANIM HAKLARI
UNIX ortamında bir kütüğü kullanmak için üç temel hak vardır; Okuma, Yazma, Çalıştırma. Veri kütükleri için Çalıştırma hakkı olamaz. Bu hak yalnız program ve "shell" komutlarına verilir. Bir kişinin bir kütük üzerinde okuma hakkı varsa, kişi o kütükteki tüm bilgileri okur ve başka bir yere kopyalayabilir.
Bir kişinin bir kütük üzerinde yazma hakkı varsa, o kütükteki bilgileri silebilir veya değiştirebilir.
KULLANICI, GRUP VE DİĞERLERİ İÇİN KÜTÜK KULLANIM HAKLARI
UNIX ortamında kullanıcılar yetkilerine göre gruplara bölünmüştür. Aynı grupta olan kullanıcılar birbirlerinin kütüklerine erişebilirler, birbirlerinin yurtlarında dolaşabilirler. Kütük sahibi ile aynı grupta olmayan kullanıcılara diğer kullanıcılar denir.
Her kütüğün kullanım hakkı, o kütüğün sahibi, kütük sahibi ile aynı grupta olanlar ve diğerleri diye bölümlere ayrılır. Bu gruplamaların her birinde farklı okuma, yazma ve çalıştırma hakları vardır. Örneğin kütük sahibinin kütük üzerinde hem okuma hem de yazma hakkı varken, aynı gruptaki diğer kullanıcıların yalnız okuma hakkı bulunabilir. Diğer kullanıcılar için kütüğe erişim hakkı verilmeyebilir.
UNIX ortamında bu bilgi "ls -l" komutu ile
- rwx rwx rwx | | +--- diğerleri | +------- aynı gruptakiler +----------- kütük sahibibiçiminde gösterilir.
Bir kütük yaratılırken kütük üzerindeki kullanıcı erişim hakları .profile kütüğünde yer alan umask komutu ile belirlenir. Ancak kütük sahibi bu hakları chmod komutu ile değiştirebilir. "root", "super" kullanıcı olduğu için sistemdeki bütün kütüklere erişebilir.
KULLANICI VE GRUP NUMARASI ATAMA HAKKI
Bu erişim hakkı bir programı, program sahibinin veya grubun yetkileri ile çalıştırabilme işlemidir. Yani programın sahibi "root" ise bir kullanıcı bu programı çalıştırdığında program "root" yetkisinde işlem yapar. Örneğin şifre değiştirme, mount, umount ve login bu tür programlardır. Kullanıcı Numarası Atama hem kütük sahibi hem de aynı grupta olan kullanıcılar için verilebilir. Kullanıcı ve grup numarası atama yetkisi kullanıcı için verilmiş ise program çalışırken o kütüğün sahibine ait kullanıcı numarası etkin kullanıcı numarası olarak atanır. Gruba bu hak verilmiş ise programı çalıştıran kişi, grup numarasını etkin grup numarası olarak kullanır. Diğer kullanıcılar için bu kavram text on swap olarak tanımlanır. Yani diğer kullanıcı, bu programı çalıştırabilir ama okuyamaz ve kütüğe yazamaz. Bu özellik güvenlik önlemi gerektiren yollarda ve kütüklerde çok sık kullanılır.
YOL (DIRECTORY) HAKLARI
Bir yol adımında kullanıcının çalıştırma hakkı yoksa o yolda ilerleyemez, hiçbir biçimi ile yolun altındaki kütükleri göremez. Kullanıcı yolun sahibi bile olsa bu cümle doğrudur. Ancak root tüm yolları gezebilir. Kullanıcının bir yol adımında okuma hakkı yok, erişim (çalıştırma) hakkı varsa o adımın altındaki kütükleri göremez ama çalıştırabilir. Yol adımı üzerinde text on swap hakkı varsa kütükleri çalıştırabilir ama göremez. Çalıştırma (x) ve text on swap (t) hakları arasındaki en önemli fark kullanıcı (x) hakkı olan bir yola "cd" komutu ile gidebilir ve buradaki kütüklerin adlarını "ls" komutu ile öğrenebilir, ama (t) hakkı varsa "cd" komutu ile o yola girse bile "ls" komutu ile içindeki kütükleri göremez.
Örneğin /etc yolunda diğer kullanıcılar için (t) hakkı verilmiş ise. Bu yolun sahibi olmayan kullanıcılar /etc yolu altındaki kütüklerin adlarını bile göremezler ama buradaki programları çalıştırabilirler.
BAZI ÖNEMLİ KÜTÜKLER
Buradaki kütüklerin içeriğinin yetkisiz kullanıcılar tarafından değiştirilmemesi gerekir. Bu kütükler sistemde çok iyi korunmalıdır. Mümkünse bu kütüklerin erişim hakları diğer kullanıcıların erişemiyeceği biçimde tanımlanmalıdır.
- /etc/passwd - Kullanıcı tanımlarının ve şifrelerinin bulunduğu kütük.
Bu kütüğün genel yapısı :
kullanıcı adı:şifre:kullanıcı no:grup no:açıklama:kullanıcı yurdu:çalışacak program biçimindedir. Eğer shadow kütüğü varsa buradaki şifre alanında "x" simgesi bulunur.
- /etc/shadow - Şifreler için gölge kütük. Bu kütükteki bilgileri yalnız "root"
okuyabilir.
- /etc/group - Bu kütük geçerli kullanıcı gruplarını tanımlar. Kalıbı :
grupadı:şifre:grupno:bu gruptaki kullanıcılar
Bu kütüğün genel kalıbı :
mutlak yol bilgisayar adı(paylaşım seçenekleri)
Bilgisayar adı için genişletilebilir karakterler kullanılabilir. Paylaşım seçenekleri hakkında açıklayıcı bilgi her UNIX sisteminde bulunmaktadır. Ya "man nfsd" ya da "man exports" komutu ile bu bilgilere erişilebilir.
/etc/hosts.deny - Başka bilgisayarların erişimini engellemek bu kütüğe yazılan bilgisayar adı ile olur.
Bu kütüklerdeki tanımların genel kalıbı :
<deamon prg>:<bilgisayar adı>[:<shell komutu>]
biçimindedir.
deamon programlar bir ya da daha çok program adı ve program adı için kullanılan genişletilebilir karakterlerdir (wild characters). Bu programlar boşluk veya virgül ile birbirlerinden ayrılır.
bilgisayar adı bir ya da daha çok bilgisayar adı, yöre adı veya genişletilebilir karakterlerdir. Bilgisayar adları boşluk veya virgül ile birbirinden ayrılır.
Bilgisayar adı tanımlama :
- nokta (.) ile başlayan bilgisayar adlarında erişim yapan bilgisayar adının sonu aynı olanlar ilgili kütükte yer alıyor kabul edilir. Örneğin .yore.com.tr bu yöredeki tüm bilgisayarlar anlamına gelir.
- nokta (.) ile biten bilgisayar adlarında başı aynı olan bilgisayar adresleri ilgili kütükte yer alıyor kabul edilir. Örneğin 195.174.26. bu adresle başlayan tüm bilgisayarlar anlamına gelir.
- n.n.n.n/m.m.m.m biçiminde yazılan bilgisayar adları ağ ve maske tanımı olarak kabul edilir ve bu ağ içindeki bilgisayarlardan maskelenebilenler ilgili kütükte yer alıyor demektir. Örneğin 195.174.26.0/255.255.255.0 bu ağdaki maskelenebilen tüm bilgisayarları tanımlar.
- ALL sözcüğü tüm bilgisayarlar anlamına gelir.
- LOCAL noktalı olmayan bilgisayar adları demektir.
- UNKNOWN bilinmeyen bilgisayar adları demektir.
- KNOWN bilinen bilgisayar adları demektir.
- PARANOID adı, adresine uymayan bilgisayarlar demektir.
- EXCEPT komutu, bilgisayar ve deamon program listelerindeki istisnalar
için kullanılır. Yani bir türe uygun tanım dışında kalanlar bu komut ile
belirtilir. Örneğin :
.yore.com.tr EXCEPT bodrum.yore.com.tr
Aşağıdaki kütüklere yazılan bilgi, sistem yöneticisi tarafından sürekli izlenmeli varsa önemli kayıtlar incelenerek kimin sistem güvenliğini aşmaya çalıştığı belirlenmeli, gerekirse önlem alınmalıdır.
- /usr/adm/sulog - "su" komutunun kullanımına ait bilgileri saklar.
- /usr/adm/loginlog - login bilgilerini saklar.
- /usr/adm/errlog - Hata mesajlarının yazıldığı kütüktür.
INTERNET ORTAMINDA KULLANILAN BAZI PROGRAMLAR
INTERNET ortamında kullanılan bazı programlarda alınması gereken güvenlik önlemlerine ait kısa açıklama bu bölümde anlatılmıştır.
- ftp : bilgisayarlar arasında kütük taşıma programı. Bu program misafir
kullanıcı (anonymous veya ftp) olarak sisteme erişildiğinde yetki ayarları
açısından önemlidir. Buradaki yetki ayarları şöyle özetlenebilir :
- ~ftp yurduna ftp kullanıcısı sahip olmalı ve baskasının Yazma yetkisi olmamalı.
- ~ftp/bin yolunun sahibi "root" olmalı ve başkasının yazma yetkisi
olmamalı. Burada "ls" programı bulunmalı ve erişim yetkisi
"--x --x --x" olarak tanımlanmalı. - ~ftp/etc yolunun sahibi "root" olmalı ve başkasının yazma yetkisi olmamalı.
- ~ftp/etc yolu altında "passwd" ve "group" kütükleri "ls" komutunun
kullanıcı adlarını alabilmesi için bulunmalı ve "passwd" kütüğü gerçek
kütük olmamalı, şifre alanı boş olmalıdır. Bu kütüklere erişim yetkisi
"r-- r-- r--" olarak tanımlanmalıdır. - ~ftp/pub yolunda
"rwx r-x r-x" yetkileri bulunmalı, bu yolun sahibi ftp kullanıcısı olmalıdır. - ~ftp/incoming yolunda
"rwx -wx -wx" yetkileri bulunmalı, herkes buraya yazabilmeli ama buradan okuma yapamamalı.
- rlogin : ağa bağlı diğer bir bilgisayarın login ekranından terminal olarak
sisteme girme işlemidir (telnet gibi).
- rsh : ağa bağlı diğer bir bilgisayarda komut çalıştırma işlemidir. Özellikle
benzer tanımlanmış bilgisayarların birinde tanımlı bir kullanıcı, diğerinde de
varsa login yapmadan bir sistemden diğerine geçiş yapılabilir. Bu nedenle
rsh kullanılan ortamlarda sistemin dış kullanıcılardan ve yetkisiz
kullanıcılardan korunması gereklidir.
- finger: Bu program sistemde tanımlı kullanıcılara ait bilgi verir. INTERNET ortamında bu programın dış kullanıcılara kapalı olmasında yarar vardır. Hangi kullanıcının en son ne zaman sisteme girdiği bu komutla öğrenilebilmektedir. Yetkisiz biri uzun zamandır kullanılmayan bir kullanıcıyı bu komutla kolayca bulup onun yerine sistemi kullanmayı deneyebilir. Çünkü bu kullanıcının şifresi çok uzun zamandır değişmemiştir ve şifre deneme çalışmaları kimsenin dikkatini çekmez.
Ana Sayfaya Teknik Bilgiler Sayfasina

