SlideShare une entreprise Scribd logo
1  sur  21
UNIX DENETİMİ
blog.btrisk.com @btrisk /btrisktv /btrisk
1
Unix Temelleri
• Shell
• Dosya Sistemi (File system organization)
• Process
• AĞ Servisleri (Network services)
• Kullanıcı Yönetimi (User management)
• Görev Zamanlayıcı (Job scheduling)
• Loglama (Logging)
Shell
Shell (Kabuk),bir işletim sistemi yönetim arayüzüdür.Sıradan kullanıcılar ve Sistem
Yöneticileri için geliştirilmiştir.Üzerinde çalıştırılabilen komutlar ve yazılan Script’ler
sayesinde Unix ve benzeri sistemlerin yönetimi sağlanmaktadır.mkdir,touch,fdisk,rm,chmod
shell üzerinde çalışan bazı komutlardır.
Dosya Sistemi
Unix sistemlerde dosya sistemi farklılık gösterse de,temel olarak Windows ve Linux işletim
sistemlerindeki dosya sistemlerine benzer.Unix denetimi yapılırken,denetçinin dosya erişim
hakları ve diğer unsurlara dikkat etmesi gereklidir.Unix sistem üzerinde bulunan dosya
yapılarını biraz daha yakından inceleyelim;
/ (root) : Kök dizin anlamına gelmektedir.Diğer tüm dizinler bu dizin altında yer
almaktadırlar.
/bin : İşletim sistemini kontrol etmek için kullanılan komutlar bu dizin altında
tanımlıdır.cat,mkdir,ls,rm temel komutlar burada bulunurlar.Sistem boot edildiğin ilk olarak
bu dizin aktif hale gelecektir.
/boot : Boot işlemi sırasında gerekli olan bileşenleri içeren dizindir.
/dev : Sisteminizde bulunan donanımlar bu dizin altında tutulurlar.
blog.btrisk.com @btrisk /btrisktv /btrisk
2
/etc : Sisteminiz için gerekli olan tüm yapılandırma dosyaları bu dizin ve içerisindeki alt
dizinlerde tutulmaktadır.Yapılandırma dosyasına örnek olarak /etc/resolv.conf dosyasını
verebiliriz.Bu dosya içerisinde sisteminizin DNS ayarları tutulmaktadır.
/home : Bu dizin altında sistemdeki her bir kullanıcı için tanımlanan alt klasörler
bulunmaktadır.Örneğin;”test ” isimli bir kullanıcı tanımlanırsa,/home/test adında kendine ait
bir klasörü olacaktır.Fakat bu kullanıcının yetkileri /home klasörü ile sınırlı olacaktır.
/lib : Kernel ile ilgili bazı modülleri ve paylaşılan kütüphane dosyalarını içeren dizindir.
Bahsedilen kütüphane dosyalarıysa, sistemi başlatmak ve /bin ile /sbin içerisindeki komutları
çalıştırmak için gereklidir.
/mnt : Dosya sistemi ve donanım aygıtlarını sisteme mount etmek için kullanılan dizindir.
/proc : Sistem durumunu kontrol etmek için kullanılan bazı sanal dosyalar içeren dizindir.
/root : Root kullanıcısı sisteme tanımlandığında diğer kullanıcılar gibi kendi klasörü /home
dizini altından tutulmaz.Direk olarak kendine ait olan /root dizini altında tutulur.
/sbin : Root kullanıcısının sistemi yönetmesini sağlayan komutları içeren dizindir.
/var : Log dosyaları, e-mail ve printer kuyrukları gibi değişken sistem bilgileri içeren dizindir.
/tmp : Geçici dosyalar için kullanılan bir dizindir.Bu dizin programlar tarafından geçici
depolama alanı olarak kullanılır.İşletim sistemi yeniden başlatıldığında bu dizin içerisindeki
bilgiler silinecektir.
/usr : Paylaşılabilir dosyaların bulunduğu dizindir. Bu dizin içersinde çalışabilir dosyaların
bulunduğu dizinlerin yanısıra , dokümanlar ve programların kullandığı dosyalar
bulunmaktadır.
Dosya-Dizin Yapıları ve Yetkiler
Yukarıdaki resmi referans alarak Unix üzerindeki dosya izinlerini ve diğer parametreleri
inceleyelim;
Sol tarafta kalan 10 bitlik blok dosya türünü ve bu dosya türünün izinlerini içermektedir.
blog.btrisk.com @btrisk /btrisktv /btrisk
3
Bu 10 bitlik bloğun ilk biti dosya türünü içermektedir.Diğer alanlar sırasıyla dosya
linklerini,dosya sahibini,dosya sahibinin bulunduğu grubu,dosyanın boyutunu,son
değiştirilme tarihini ve ismini gösterir.Unix sistemlerde kullanılan dosya türlerini şöyle
açılayabiliriz.
 “d” directory anlamına gelen parametredir.Bir klasör olduğunu belirtir.
 “l” link anlamına gelen parametredir.Burada bir link (kısayol) olduğunu belirtir.
 “-“ sıradan dosyaları belirtmektedir.Örnek resimdeki gibi bir .txt dosyası bu
parametre ile belirtilir.
 “b” block anlamına gelen parametredir.Sistemdeki disklerinizi belirtir.
 “c” character file anlamına gelen parametredir.Yazıcı gibi çevresel aygıtları belirtilir.
Dosya türünü belirten bitden sonra gelen 9 bitlik blok dosya üzerindeki izinleri
göstermektedir.Bu izinler 3 bitlik bloklar halinde ayrılırlar.İlk 3 bit dosya sahibinin bu dosya
üzerindeki yetkilerini.ikinci 3 bit dosya sahibi ile aynı grup içerisindeki kullanıcıların
yetkilerini.Son 3 bit ise diğer kullanıcıların dosya üzerindeki yetkilerini göstermektedir.
Dosya üzerindeki yetkiler;“r (read)” okuma yetkisi ,“w (write)” yazma yetkisi,“x (execute)”
çalıştırma yetkisidir.Örneğin , unix2 klasörünün yetkilerini incelersek;
Dosyanın sahibi olan kullanıcı “r”,”w”,”x” yani okuma,yazma ve çalıştırma yetkilerinin
tamamına sahiptir.
Dosyanın sahibi ile aynı grupta olan kullanıcılar “r”,”x” yani okuma ve çalıştırma yetkilerine
sahiptir.
Diğer kullanıcılar tarafını kontrol edersek “r”,”x” yani Grup kullanıcıları gibi okuma ve
çalıştırma yetkilerine sahiptir.
Dosyalar üzerinde yetkileri belirlemek için “chmod” komutu kullanılmaktadır.Komutun
kullanımı şu şekildedir:
 Komut kullanımı sırasında kullanıcılar u (User),g (Group),o (Owner) olarak
tanımlanmaktadır.
 “chmod u+x,g+x,o+x dosya_ismi” bu komut ile tüm kullanıcı türllerine dosyayı
çalıştırma yetkisi verilmiştir.Eğer burada olduğu gibi tüm kullanıcılara aynı yetkiyi
verecekseniz “chmod +x dosya_ismi “ komutu da kullanılabilir.
 Eğer yetki kısıtlamasına yapılamak isteniyorsa komut “chmod u-x,g-x,o-x
dosya_ismi” şeklinde değiştirlebilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
4
Dosya ve Klasör Yönetimi
Bu bölümde shell üzerinde tanımlanmış dosya ve klasörlerin yönetimi ile ilgili komutları
kısaca değineceğiz.
 “pwd” komutu çalıştığınız mevcut dizini gösterir
 “ls” komutu ile bulunduğunuz dizindeki tüm dosya ve klasörleri
görüntüleyebilirsiniz.”-l” parametresi ile daha detaylı listeleme yapılabilir.”-F”
parametresi ile dosya tipini görüntüleyebilirsiniz.”ls –l” komutu kullanıldığında gizli
dosyalar görüntülenmeyecektir.
 ”ls –al” komutu ile gizli dosyları da görüntüleyebilirsiniz.(“.” ile başlayan dosyalar ve
klasörler gizli olanları ifade etmektedir. )
 “cd” komutu ile bulunduğunuz dizini değiştirebilirsiniz.Örneğin;”cd ..” komutu bir sizi
bir üst dizine götürecektir.”cd /sbin/” komutu ile /sbin dizinine gidebilirsiniz.
 “mkdir” komutu ile klasör-dizin oluşturulur.”mkdir klasör_ismi”
 “touch” komutu ile dosya oluşturulur.”touch dosya_ismi”
 “cp” komutu ile kopyalamai,”mv” komutu ile taşıma işlemleri yapılabilir.
 “rm” komutu ile dosya silinebilir.Klasörleri silmek için ise “rmdir” komutunun
kullanılması gereklidir.Klasörün silinmesi için içerisinin boş olması gerekir .Hem
klasörü hem içerisindeki tüm veriyi silmek istiyorsanız “rm -r” komutunu kullanmanız
gerekmektedir.
Process
Unix sistemlerde arka planda çalışan her bir göreve verilen isimdir.Unix Sistemlerde process
yönetimine Windows Sistemlere göre daha çok ihtiyaç vardır.Unix sistem üzerinde çalışan
processleri “ps ” komutu ile görebilirsiniz.PID 1 olan “init” processi tüm sistemden sorumlu
olan processtir.Bazı Unix sistemlerde (FreeBSD) sistemde çalışan tüm processleri görmek için
bazı parametreler eklemek gerekebilir.Örneğin; “ps xu” komutu çalıştırıldığında sistemde
çalışan processlerle ilgili aşağıdaki gibi detaylı bir çıktı alınabilir.
Bir process sonlandırabilmek için “kill” komutu kullanılır.Bir process iki şekilde
sonlandırılabilir;
 “kill syslogd” yazılarak process ismi ile sonlandırılabilir.
 “kill 590” yazılarak process ID(PID) ile sonlandırılabilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
5
Ağ Servisleri
Unix denetimleri sırasında, denetçi ,Ağ servislerinin konfigürasyonunu iyi anlamış
olmalıdır.Ağ servislerinin yanlış yapılandırılması Unix sistemler üzerindeki en büyük
tehditlerden biri olarak kabul edilebilir.
Temel olarak IP konfigürasyonunuzu “ifconfig ” komutu ile görebilirsiniz.Aynı zamanda
“/etc/rc.conf” dosyası altında da görüntüleyebilirsiniz. DNS kayıtlarınızı ise “/etc/resolv.conf”
dosyası içerisinde görüntüleyebilirsiniz.Bahsettiğimiz iki dosyayı da herhangi bir text editör
ile açıp içerisindeki bilgileri kendi network bilgilerimize uygun biçimde yapılandırabiliriz.
“ifconfig em0 192.168.2.10 netmask 255.255.255.0” komutu ile sisteminize IP adresini
statik olarak verebilirsiniz.
blog.btrisk.com @btrisk /btrisktv /btrisk
6
Burada birkaç temel network servisinden bahsetmek gerekir,bunlar “getty” ve “inetd”
servisleridir.
 “getty” yapılandırma dosyaları içerisinde tanımlanan her bir terminal bağlantısı
için“init” processi ile birlikte başlatılan servistir.Fiziksel ve sanal terminallerin
kontrolünden sorumludur.”getty” bir bağlantı algıladığında,kullanıcı giriş bilgilerini
kontrol eder ve kimlik doğrulamanın tamamlanması için “login” programını çalıştırır.
blog.btrisk.com @btrisk /btrisktv /btrisk
7
 “inetd” (internet daemon) sistem boot edilirken aktif olan bir servistir.”inetd”
network servisi tarafından belirlenen portları dinler.TCP veya UDP protokolü
üzerinden portlara bir paket geldiğinde “inetd” servisi çalışarak bu paketin
kontrolünü sağlar.”inetd” servisinin hangi programları ve portları dinlemesini
istiyorsanız “/etc/inetd.conf” dosyası üzerine bu bilgilerin eklenmesi gereklidir.
Kullanıcı Yönetimi
Bir çok işletim sistemi gibi,Unix işletim sistemleri üzerinde de kullanıcı hesaplarının ve
kimliklerinin kendi yönetim yolu vardır.Erişim kontrollerinin denetim altında tutulması
gereken önemli konulardandır.Bu nedenle Unix üzerinde kullanıcı yönetimini anlamak işinizi
kolaylaştıracaktır.Unix sistem üzererinde kullanıcı yönetimi için kullanılan temel komutlar
şunlardır:
 “adduser” sisteme bir kullanıcı eklemek için kullanılır.
 “rmuser” , “deluser” sistemde bulunan kullanıcıyı silmek için kullanılır.
 “passwd” komutu kullanıcının şifre atamak için kullanılır.
 “pw groupadd grup_adı” komutu ile sistem üzerinde istediğiniz grupları
oluşturabilirsiniz.Bu grupları “/etc/group” dizininde görüntüleyebilirsiniz.
 “pw groupdel grup_adı” komutu ile ihtiyacınız olmayan grupları sistemden
kaldırabilirsiniz.
Burada Unix üzerinde 2 önemli dosya bulunmaktadır.Bunlar ”/etc/master.passwd” (BSD için
geçerli olan klasördür.Diğer Unix sistemlerde değişiklik gösterecektir.) ve “/etc/group”.
 “/etc/master.passwd” dosyası ;kullanıcı ismi,hashlenmiş şifresi,bulunduğu grubun
bilgisini(GID),kullnıcı ID bilgisini (UID),kullanıcının /home dizini gibi bilgileri
içermektedir.
 “/etc/group” dosyası ise sistemdeki grupları ve bu gruplara üye olan kullanıcıları
gösteren dosyasıdır.
blog.btrisk.com @btrisk /btrisktv /btrisk
8
Görev Zamanlayıcı (Cron)
Zamanlanmış görevler çoğunlukla rutin olarak yapılması gereken sistem yönetimi ve IT
operasyon görevlerinin belirli periyotlarla otomatik olarak gerçekleştiren
işlemlerdir.Görevlerin sağlıklı tanımlanması ve izlenmesi Unix üzerinde otomatik olarak
çalıştırılan işlemlerin takibi açısından önemlidir.Otomatik bir görev tanımlamak için
“/etc/crontab” dosyası içerisine görevleri tanımlamak gerekir.
“0 3 * * * root /usr/bin/netstat “ dosyaya eklenecek bu satırla netstat komutunun her 3
saate çalıştırılması sağlanmaktadır.Satırdaki alanları tek tek açıklayacak olursak sırasıyla;
 Dakika (0 - 59)
 Saat (0 - 23)
 Ayın hangi günü (1 - 31)
 Ay (1 - 12)
 Haftanın Günleri (0 - 7) (Pazar=0 veya 7)
 Görevi çalıştıracak kullanıcı
 Çalıştırılacak komut veya scriptin yolu ve adı
Loglama
Sistemleri monitör etme,güvenlik takibi ve uyarıları için loglama önem teşkil
etmektedir.Sistem üzerindeki hareketlerin takibini log dosyaları üzerinden yapabilirsiniz.
Bu dosyalar “/var/log” dizini altında tutulmaktadırlar.Örneğin;sisteme giriş yapan kullanıcı
bilgilerini ve giriş loglarını “/var/log/auth.log” dosyası içerisinde görüntüleyebiliriz.Syslog
mesajları içerisinde detaylı zaman bilgisi,hostname bilgisi ve mesaj alanları olduğu için kritik
bir durumda kayıtlar kontrol edilerek önemli bilgiler edinilebilir.Birden fazla sisteminiz varsa
bunların loglarını merkezi bir sistemde toplamak izleme açısından daha kolay olabilir.Bu
işlem için “syslog-ng” veya “rsyslog” servisleri kullanılabilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
9
Manual Sayfaları
Unix;“man” (manual) komutu,shell üzerinde çalıştırılan komutların,konfigürasyon dosyaları
vb. kullanımı ile ilgili yardım kılavuzlarına ulaşmanızı sağlar.Örneğin; “man pkg” komutu ile
pkg komutunun parametreleri ve kullanımı ile ilgili yardım dosyasına ulaşabilirsiniz.
Diğer Bilinmesi Yararlı Olabilecek Bilgiler
tar: Bu komut sistem üzerindeki dosyalarınızın yedeklerini almak ve geri döndürmek için
kullanılır.Yedeklerinizi bir backup ünitesine veya bir optik diske alabilirsiniz.
dd: “dd” komutu teknik olarak bir yedekleme için kullanılmaz.Fakat denetleme işlemleri için
diskin tam bir kopyasını (image) almak için kullanılabilir.
/etc/fstab/: Unix sistemlerde sisteme eklenen cihazlar sistem açılışında otomatik olarak
mount edilmeyecektir.Bu nedenle örneğin sisteme yedekleme için eklediğimiz ikincil bir diski
manual olarak /etc/fstab dosyası altına eklememiz gerekmektedir.
blog.btrisk.com @btrisk /btrisktv /btrisk
10
Unix üzerinde girdil ve çıktı işlemleri için aşağıdaki komutlar kullanılabilir;
 “>” ,”>>”,”<”,”<<” komutları girdi ve çıktıların yönlendirilmesi için kullanılırlar.”>”
komutu dosya içerisine bir girdi yollandığında diğerlerini ezecektir.Fakat “>>” komutu
ile ikinci bir girdi olarak eklenebilir.
 “Pipe” işareti bu işaretten önce girilen komutun desteklenmesini sağlar.Örneğin;”ls –l
| more” komutu girildiğinde sıralanan parametreler sayfa sayfa gösterilecektir.
 “grep” komutu ile bir çıktı içerisindeki spesifik bir bilgiyi elde
edebiliriz.Örneğin;birden fazla prosesin çalıştığı bir sistemde ftp servisini görmek
istiyorsak “ps –xu | grep ftp” komutu ile bunu sağlayabiliriz.
blog.btrisk.com @btrisk /btrisktv /btrisk
11
Unix Sistem Güvenliği Kontrolleri
Network Servisleri
Network servisleri üzerinde güvenliği sağlamanın en önemli yolu sistem üzerinde mümkün
olduğunca az servis çalıştırmak ve kullanıcılar tarafından erişilen servislerin yetkilerinin iyi
optimize edilmesidir.
Daha öncede bahsettiğimiz gibi sistem üzerindeki çalışan network serfvislerinin bir çoğunu
“inetd” kontrol etmektedir.Fakat burada çalışan tüm servisler gerekli olmayabilir.Ayrıca Unix
sistemler üzerinde “/etc/inetd.conf” ve “/etc/services” dosyaları altında servis tanımlayarak
“inetd” içerisinde başlatılmalarını sağlayabiliriz.
Sistem üzerinde çalışan dışarıya bilgi sızdırabilecek olan finger ve rusers gibi servisler
mutlaka kapatılmalıdır.
Finger: 79.port üzerinde çalışan sistem üzerinde çalışan kullanıcılar hakkında bilgi veren bir
servistir.Lokal veya uzak makinede çalışan kullanıcılar hakkında bilgi toplanabilir.
Rusers: Finger ile benzer görevde çalışmaktadır.Lokal sistemler üzerinden login olan
kullanıcıları göstermektedir.
Eğer kurum için gerekli değilse şifresiz kanallardan iletişimden kaçınmak gereklidir.Telnet
,FTP gibi güvensiz protokoller yerine güvenli protokoller kullanılmalıdır (SSH,SFTP).
Uzaktan komut çalıştırılmasını sağlayan rlogin,rexec,rsh gibi servislerin mutlaka kapatılması
gerekir.
Rlogin: TCP 513 portunda çalışan bir komuttur.Network üzerindeki sistemlere uzaktan
bağlanmayı sağlamaktadır.Fakat Telnette olduğu gibi iletilen bilgileri şifrelemediği için
tehlikeli bir servistir.
Rsh: TCP 514 portunu kullanan bir komuttur.Network üzerindeki bir sistemde farklı bir
kullanıcı ile komut çalıştırarak yönetim yapmayı sağlar.Fakat rlogin gibi iletilen bilgiler
şifrelenmediği için tehlikeli bir servistir.Hatta bazı durumlarda giriş esnasında parololar dahi
şifrelenmeden iletilmektedir.
Rexec: Rsh ile aynı özelliiklere sahip olan servistir.TCP 512 portu üzerinde çalışmaktadır.Bu
servis üzerinde de parola gibi kritik bilgiler şifrelenmeden gönderilmektedir.
blog.btrisk.com @btrisk /btrisktv /btrisk
12
NFS: Network File System sistem üzerindeki dosya ve klasörlerin aynı network içerisindeki
diğer kullanıcılar ile paylaşılmasını sağlayan servistir.NFS üzerinden paylaşılan dosyaların
erişim yetkileri kullanıcılara göre belirlenmeli ve yetksiz erişimlere dikkat edilmelidir.
NIS: Network Information System kullanıcı ve host adları gibi sistem konfigürasyonu
bilgilerinin dağıtımını yapan sunucu-istemci rehberi hizmeti protokolüdür.Yeni sistemlerde
yerini LDAP gibi protokoller almıştır.
Uzak Erişim kontrolleri
Uzak Erişim Unix sistemlere farklı bir Unix sistem üzerinden “r” servisleri ile bağlanmayı
sağlar.Mümkün olduğunca bu servislerin kullanımından kaçınmak gereklidir.Uzak erişimleri
kontrol etmek için Unix sistem üzerinde iki kritik dosya bulunmaktadır.Bunlar
“/etc/hosts.equiv” ve kullanıcı home dizininde bulunan “.rhosts”dosyasıdır.Bu iki dosya
sistem kaynaklarını uzaktan erişebilecek güvenilir kullanıcıları ve hostları belirtmektedir.Bu
nedenle bu dosyalara erişim sağlayan biri sistemin tümüne erişim sağlayabilir.Daha önce
bahsettiğimiz rsh,rlogin gibi servisler bu açıklıkara örnek gösterilebilir.Ayrıca dosya içerisinde
“+ +” karakterlerine dikkat etmek gereklidir.Bu karakterler herhangi bir host üzerinden
herhangi bir kullanıcı adı ile sisteminize girişi mümkün kılmaktadır.
Kritik Dosya ve Komut Erişimleri
Sistem üzerindeki kritik dosyaların ve program komutlarının erişiminlerinin yetkisiz
değişikliklere karşı kontrol altına alınması gerekmektedir.
Kritik konfigürasyon dosyaları üzerindeki okuma yetkisi dahi olsa sadece belirlenen gerekli
kullanıcılar için verilmelidir.Özellikle “/etc/” dizini altında bulunan konfigürasyon dosyaları
kritik dosyalardır ve erişim izinleri konusunda dikkat etmek gerekir.Ayrıca
“/bin,/sbin,/dev,/user,/var” dizinleri altındaki dosyalara verilen yazma izinlerine dikkat
etmek gereklidir.
Unix sistem üzerinde kullanılan SUID (switch user id) dosya özelliği sayesinde sıradan bir
kullanıcının kendisine ait olmayan programları kendisine atanmış haklardan fazla bir yetki ile
çalıştırabilmesine imkan sağlamaktadır.Bu nedenle herkesin erişebildiği SUID dosyaları
büyük bir risk oluşturmaktadırlar.Bu tür dosyalara örnek olarak “/usr/sbin/passwd” örnek
olarak verilebilir.Sistem üzerindeki bir kullanıcı kendi şifresini “passwd ” komutu ile
“root”yetkisine ihtiyacı olmadan değiştirebilmektedir.
blog.btrisk.com @btrisk /btrisktv /btrisk
13
Burada yaptığımız değişiklik “root” kullanıcısının erişebildiği “/etc/master.passwd” dosyası
üzerindede uygulanmaktadır.Bu “/etc/master.passwd” altındaki değişimi yapabilmemizi
SUID özelliği sağlamaktadır.Bu özelliğin gruplar üzerinde etkinleştirmesine ise SGID olarak
gösterilmektedir.
SUID yetkisi için dosya izinlerindeki SUID bitinin ektinleştirilmiş olması gereklidir.”passwd”
komutunun izinleride “x” yerine bulunan “s” biti SUID bitini ifade etmektedir.Eğer bazı dosya
üzerinde bu izinler sizin için gereksiz görünüyorsa “chmod u-s” komutunu kullanarak SUID
yetkisi etkisiz hale getirebilirsiniz.
Kritik dosyalara erişim kısıtlaması veya izinleri için ACL (Access Control List)
tanımlanabilmektedir.Bu özellik sayesinde istediğimiz kullanıcıya özel erişim izinleri
atayabiliriz.ACL tanımlamak için aşağıdaki komut kullanılmalıdır;
“setfacl –m u:kullanıcı_adı:rwx dosya_adı”
Komutta görülen “u” parametesi yetki atamak istediğimiz kullanıcıyı ifade
etmektedir.Kullanıcı adı girildikten sonra “:” koyulur ve yetki bitleri yazılır.Son olarak ise ACL
tanımlamak istediğimiz dosya adı yazılır.Bu işlemi tanımlı gruplar için yapmak isterseniz “u”
parametresi yerine “g” , kullanıcı adı yerine GID kullanmanız gereklidir.ACL tanımlanan bir
dosyayının ayırt edilmesi için dosya yetki bitlerinin sonunda “+” işareti bulunur.
Süreç Takibi
Süreç takibi,sistem yöneticilerinin olayların takibini sağlaması açısından önemli bir güvenlik
metodudur.
Bu metod sayesinde sistem kaynaklarının kullanıcılar üzerindeki dağılımı ve minimal düzeyde
kullanıcıların komutlarını takip etme şansı yaratılabilir.Bu metodun kullanımında pozitif ve
negatif durumlar ortaya çıkabilir.Örneğin;Sistem sürekli takip altında olacağından saldırı
tespiti kolaylaşacaktır.Bu durum bize pozitif bir etki yaratacaktır.Fakat sürekli log kaydı
üreten bir sistem için fazlaca disk alanına ihtiyaç olması negatif bir durum olarak
nitelendirilebilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
14
Metodun aktif edilmesi için aşağıdaki komutlar takip edilmelidir;
 touch /var/account/acct ; komutu ile acct adından bir dosya oluşturulur
 chmod +rw /var/account/acct ; komutu ile oluşturulan dosyaya okuma ve yazma
yetkisi verilir.
 accton /var /account/acct ;komutu ile servis aktif hale getirilir.
 Son olarak “/etc/rc.conf” dosyasını bir text editör yarıdmıyla açaraka
“accounting_enabled=”YES”” satırını ekleyip kaydediyoruz.
Komutlar girilip,takip başladıktan sonra CPU ve komut istatistikleri takip altına alınmaya
başlayacaktır.Fakat tüm loglar okunabilir durumda değildir.Bu durumda logları okuyabilmek
için “sa” komutu kullanılarak loglar okunabilir.Spesifik bir kaç komuta örnek vermek
gerekirse;
 ac komutu kullanılarak sistem login olan kullanıcıların bağlı kalma sürelerini
görebiliriz.Bu komuta “-d” parametresi eklenirse kayıtları günlük,”-p” parametresi
eklenirse kayıtları herbir kullanıcı için ayrı ayrı gösterecektir.
blog.btrisk.com @btrisk /btrisktv /btrisk
15
 sa komutu sisteme login olan kullanıcıların hangi komutları çalıştırdıklarını ve bu
komutların sistem üzerinde ne kadar kaynak kullandığı hakkında bilgi verecektir.
 lastcomm sistem üzerinde önceden çalıştırılmış olan komutları görüntülememizi
sağlan komuttur.Bu komut ile kullanıcı adı veya görüntülenmek istenen komut
kullanılarak arama yapılabilmektedir.
Sistem Kullanıcılıarı
Her bir Unix sistem üzerinde ön tanımlı olarak gelen kullanıcı isimleri mevcuttur.Daha
öncede bahsettiğimiz gibi her kullanıcı için kendisine ait bir UID (User ID)
tanımlanmaktadır.Bu UID dosya erişim izinlerini kontrol altında tutmak için
kullanılmaktadır.”root” kullanıcısına ait ID 0’dır ve tüm yetkilere sahiptir.Unix sistemin
kendisi tarafından tanımlanan kullanıcıların ID’leri 100 rakamından küçüktürler.Bu
kulanıcıllar “/etc/master.passwd” dizini altında görüntülenebilirler.
Buradaki önemli nokta sistem tarafından tanımlanan kullanıcıların tespit edilip pasif hale
getirilmeleridir.Bunun için “/etc/master.passwd” dosyası altında o kullanıcıya ait olan şifre
alanına “*” karateri girilmelidir.
blog.btrisk.com @btrisk /btrisktv /btrisk
16
Kimlik Doğrulama
Unix sistemler üzerinde sistemin belirlediği kimlik doğrulama kriterleri her zaman istediğimiz
seviyede güvenlik sağlamayabilir.Her Unix sistemi için bu kriterler değişkenlik
gösterir.Örneğin HP-UX üzerinden şifre politikası minimum 8 karakter olarak uygulanırken
FreeBSD üzerinde varsayılan olarak bir sınırlama yoktur.Bu durum sistem üzerinde ciddi
güvenlik açıkları yaratabilir.
Sistem üzerinde bu tür güvenlik açıklarına engel olmak için uygun kimlik doğrulama
politikaları tanımlamak gereklidir.FreeBSD sistemler için bu tür ayarlar “/etc/login.conf”
dosyası içerisinde yapılmaktadır.Default olarak tanımlanan politikalar aşağıdaki gibidir;
Burada görüldüğü gibi tanımlanan herhangi bir varsayılan kullanıcı için tüm alanlar
“unlimited” olarak tanımlanmıştır.Bu dosya içerisine bir çok farklı tanımlama yapılabilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
17
root kullanıcısının politikasında bulunan “tc:” alanı default kısımda tanımlanan politikaların
root kullanıcısı içinde geçerli olacağını gösterir.Kimlik doğrulama ve kullanıcılarla ilgili
yapılabilecek birkaç politikaysa aşağıdaki gibi sıralanabilir;
 minimumpasswordlen:Şifrenizin minimum kaç karakter olacağını belirten
alandır.Belirlediğiniz uzunluğu sayı olarak tanımlamanız gereklidir.
 mixpasswordcase:Şifrenizi küçük büyük harf duyarlı olmasını sağlayan alandır.”True”
olarak tanımlanmalıdır.
 idletime:Kullanıcının login olduktan sonra bekleme süresini belirten alandır.Kullanıcı
30 dakika boyunca işlem yapmadığında sistemden düşmesini istiyorsak bu alana “30”
yazılmalıdır.
 passwordtime:Kullanıcıların şifrelerini ne kadar sürede yenilemeleri gerektiğini
belirten alandır.Kullanıcıların şifrelerini ayda bir kere değiştirmesini sağlamak için bu
alana “30d” yazılmalıdır.
Kapasite ve Sistem Performans Takibi
Her Unix sistem üzerinde Sistem performans takibini sağlamak için komutlar
bulunmaktadır.Belirli periyotlarla bu komutlar kullanılarak sistem kontrol edilmeli gereksiz
ve zararlı olabilecek bileşenler incelenmedir.Genel amaçlı kullanılan komutlara örnek olarak;
 Top: Sistem üzerindeki tüm işlemlerini özetini veren komuttur.İşlemci,Memory ve
çalışan Processler hakkında bilgi edinilebilir.
blog.btrisk.com @btrisk /btrisktv /btrisk
18
 du: Disk Usage komutu sistem üzerindeki disk kullanımını gösteren komuttur.”-h “
parametresini komuta eklersek daha anlaşılır bir çıktı elde edebiliriz.
 df: Df komutu sistem üzerindeki diskin ne kadar boş alanı kaldığını gösteren
komuttur. “-h “ parametresini komuta eklersek daha anlaşılır bir çıktı elde edebiliriz.
 ps: Daha öncede bahsettiğimiz gibi Ps komutu ile sistem üzerinde çalışan Process
durumları kontrol edilebilir.
 iostat: Bu komut ile NFS ve diskler üzerindeki Giriş-Çıkış ve İşlemci istatistiklerine
ulaşabilirsiniz.
Güvenlik Kontrolleri ile İlgili İpuçları
Sistem üzerinden dinlenen portların kontrolü için netstat ve sockstat komutları kullanılabilir.
“netstat –a” komutu ile sistemde çalışan aktif portları görüntüleyebilirsiniz.Komuta eklenen
“-a” parametresi sayesinde tüm aktif bağlantıları ve bilgisayarın
dinlediği TCP ve UDP portlarını görüntüleyebilirsiniz.
“sockstat” komutu ile aktif portların hangi programlar tarafından kullanıldığını
görüntüleyebilirsiniz.”sockstat -4” IPv4 protokolü üzerinde çalışan “sockstat -6” ise IPv6
protokolü kullanan programları gösterecektir.
Sisteminizi DoS ataklarından korumak için ICMP Redirect paketlerini engelleyebilirsiniz.Bu
yöntem için “/etc/rc.conf” dosyası altına şu satırlar eklenmelidir;
icmp_drop_redirect=”YES”
icmp_log_redirect=”YES”
Kullanıcı parolarınızın farklı bir hash metoduyla saklamak isterseniz daha önce bahsettiğimiz
“/etc/login.conf” dosyası içerisindeki “passwd_format” satırında değişiklik yapmanız
gerekecektir.Varsayılan olarak “passwd_format:sha512” gelen hash yöntemini
“passwd_format:blf” olarak değiştirirseniz Blowfish metodunu etkin hale getirirsiniz.Farklı
hash metodları ile sistem üzerindeki kullanıcı şifrelerinize daha iyi bir koruma
sağlayabilirsiniz.Bu işlemi tamamladıktan sonra mevcut veritabanını değişiklikleri uygulamak
için “cap_mkdb /etc/login.conf” komutunu çalıştırınız.
blog.btrisk.com @btrisk /btrisktv /btrisk
19
Sisteminiz üzerinde NFS sistemini kullanmıyorsanız Portmap pasif hale getirilmelidir.Bu
işlem için “/etc/rc.conf” dosyası altına portmap_enable=”NO” satırını eklemeniz gerekir.
“/etc/rc.conf” dosyası altına log_in_vais=”YES” satırını eklerseniz kapalı portlara gelen
saldırıların loglarını da takip edebilirsiniz.
Sisteminize terminal üzerinden herhangi bir erişim yapılmasını istemiyorsanız kontrol
etmeniz gereken yer “/etc/ttys” dosyasıdır.Burada tanımlanan ttvy0 ve ttvy8 aralığındaki
tüm terminallerin secure başlığı insecure olarak değiştirilmelidir.
Sisteminize uzaktan bağlanmak istiyorsanız SSH servisini kullanabilirsiniz.Fakat SSH servisini
varsayılan ayarları ile aktif etmemeniz gerekir.Öncelikle sisteme erişilirken root yetkili bir
kullanıcı erişmemelidir.Bunun yerine sisteme erişebilecek bir grup oluşturulabilir.Varsayılan
port yerine (22) farklı bir port kullanmanız daha faydalı olabilir.Ayrıca sistem üzerinde SSHv2
kullanmanız gereklidir.Bu konfigürasyonlar için “/etc/ssh/sshd_config” dosyası altına örnek
olarak şu satırlar eklenebilir;
PermitRootLogin=no
AllowGroups admin admin
RhostsAuthentication no
PasswordAuthentication yes
PermitEmptyPasswords no
Port 222
Protocol 2
Sisteminizde yüklü olan Unix paketlerinin açıklarını takip etmek için portaudit programı
kullanılabilir.Portaudit programını kurulumu için şu komutlar izlenmeli;
cd /usr/ports/ports-mgmt/port-audit
make clean install
Komutlar çalıştırıldıktan sonra portaduit günlük çalışması için
/usr/local/etc/periodic/security/ dizini altına bir cronjob oluşturulur.Bu şekilde program
günlük olarak çalışır ve bir veritabanı oluşturulur.
Portaudit programı ile denetim için “portaudit –Fda” komutu kullanılabilir. –F parametresi
güncel veritabanını indirmek için,-d parametresi veritabanı oluşturma tarihini görüntülemek
için,-a parametresi kurulu tüm paketleri kontrol için kullanılmaktadır.Tek bir paketi kontrol
etmek isterseniz “portaudit paket_ismi” komutunu kullanabilirsiniz.
blog.btrisk.com @btrisk /btrisktv /btrisk
20
BTRİSK Hakkında
2009 yılında kurulmuş ve sadece bilgi güvenliği hizmetlerine
odaklanmış olan BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri
bilgi güvenliği problemine yönetim kurulu seviyesinden sistem odası
uygulamasına kadar uzanan alanda çözüm üretmektedir.
BTRisk bilgi güvenliği problemini görünür hale getirerek
algılanmasını, anlaşılmasını ve dolayısıyla ele alınmasını mümkün
hale getirmektedir.
BTRisk bilgi güvenliği problemine karşı geliştirdiği yaklaşımları gerçek
hayat koşullarında test etmiş ve uygulanabilir hale getirmiştir.
Bilgi güvenliği ve BT yönetişim hizmet alanlarımız aşağıdaki gibidir:
 Pentest Hizmetleri
 Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 Bilgi Güvenliği Operasyon Hizmetleri
 Bilgi Güvenliği Eğitimleri
Özgün ürünlerimiz aşağıdaki gibidir:
 BTRWATCH Bilgi Güvenliği Risk Analizi ve Denetim Uygulaması
 BTRMON 5651 Uyumlu Wi-Fi ve Kablolu Ağ Hotspot Çözümü
 BTROTP Tek Kullanımlık Parola Çözümü
Pentest & BT
Denetimi
ISO27001
Danışmanlık
Hizmetleri
BG Operasyon
Hizmetleri

Contenu connexe

Tendances

Yaygın Linux Komutları ve Windows Karşılıkları
Yaygın Linux Komutları ve Windows KarşılıklarıYaygın Linux Komutları ve Windows Karşılıkları
Yaygın Linux Komutları ve Windows KarşılıklarıMert Hakki Bingol
 
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim DökümanıLinux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanıİbrahim UÇAR
 
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuLinux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuAhmet Gürel
 
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.İbrahim UÇAR
 
Bilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği MetasploitBilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği Metasploitmsoner
 
Linux101 - Standart Gi̇rdi-Çıktı
Linux101 - Standart Gi̇rdi-ÇıktıLinux101 - Standart Gi̇rdi-Çıktı
Linux101 - Standart Gi̇rdi-ÇıktıSDU CYBERLAB
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADMehmet Ince
 
Ag konf scriptleri_mseml
Ag konf scriptleri_msemlAg konf scriptleri_mseml
Ag konf scriptleri_msemlmimarsinantl
 
Siber Güvenlik 3.hafta
Siber Güvenlik 3.haftaSiber Güvenlik 3.hafta
Siber Güvenlik 3.haftaOnur Er
 

Tendances (20)

Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Li̇nux-101
Li̇nux-101Li̇nux-101
Li̇nux-101
 
Windows Hacking 2
Windows Hacking 2Windows Hacking 2
Windows Hacking 2
 
Linux 101
Linux 101Linux 101
Linux 101
 
Yaygın Linux Komutları ve Windows Karşılıkları
Yaygın Linux Komutları ve Windows KarşılıklarıYaygın Linux Komutları ve Windows Karşılıkları
Yaygın Linux Komutları ve Windows Karşılıkları
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim DökümanıLinux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
 
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu KurulumuLinux'a Giris ve VirtualBox a Ubuntu Kurulumu
Linux'a Giris ve VirtualBox a Ubuntu Kurulumu
 
Puppet ile Linux Sistem Yönetimi Otomasyonu
Puppet ile Linux Sistem Yönetimi OtomasyonuPuppet ile Linux Sistem Yönetimi Otomasyonu
Puppet ile Linux Sistem Yönetimi Otomasyonu
 
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
 
Bilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği MetasploitBilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği Metasploit
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Linux101 - Standart Gi̇rdi-Çıktı
Linux101 - Standart Gi̇rdi-ÇıktıLinux101 - Standart Gi̇rdi-Çıktı
Linux101 - Standart Gi̇rdi-Çıktı
 
Kali linux
Kali linuxKali linux
Kali linux
 
Linux komutlari
Linux komutlariLinux komutlari
Linux komutlari
 
Ubuntu sunum...
Ubuntu   sunum...Ubuntu   sunum...
Ubuntu sunum...
 
Kali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRADKali ile Linux'e Giriş | IntelRAD
Kali ile Linux'e Giriş | IntelRAD
 
Ag konf scriptleri_mseml
Ag konf scriptleri_msemlAg konf scriptleri_mseml
Ag konf scriptleri_mseml
 
Siber Güvenlik 3.hafta
Siber Güvenlik 3.haftaSiber Güvenlik 3.hafta
Siber Güvenlik 3.hafta
 
Linux101
Linux101Linux101
Linux101
 

En vedette

Güvenli Yazılım Geliştirmede Dosya Yükleme
Güvenli Yazılım Geliştirmede Dosya YüklemeGüvenli Yazılım Geliştirmede Dosya Yükleme
Güvenli Yazılım Geliştirmede Dosya YüklemeBGA Cyber Security
 
Siber Olaylara Müdahale Sunumu
Siber Olaylara Müdahale SunumuSiber Olaylara Müdahale Sunumu
Siber Olaylara Müdahale SunumuBGA Cyber Security
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaBGA Cyber Security
 
Siber Savunma Ürünlerinde Profesyonel Arka Kapılar
Siber Savunma Ürünlerinde Profesyonel Arka KapılarSiber Savunma Ürünlerinde Profesyonel Arka Kapılar
Siber Savunma Ürünlerinde Profesyonel Arka KapılarBGA Cyber Security
 
APT Saldırıları Karşısında Güvenlik Sistemlerin Yetersiziliği
APT Saldırıları Karşısında Güvenlik Sistemlerin YetersiziliğiAPT Saldırıları Karşısında Güvenlik Sistemlerin Yetersiziliği
APT Saldırıları Karşısında Güvenlik Sistemlerin YetersiziliğiBGA Cyber Security
 
Temel Cisco Komutlari Ve Ornekler
Temel Cisco Komutlari Ve OrneklerTemel Cisco Komutlari Ve Ornekler
Temel Cisco Komutlari Ve OrneklerAbdurrahman ALKAN
 
Android İşletim Sistemi
Android İşletim SistemiAndroid İşletim Sistemi
Android İşletim Sistemi_aerdeger
 
Her yönüyle linux sistem ve network güvenliği
Her yönüyle linux sistem ve network güvenliğiHer yönüyle linux sistem ve network güvenliği
Her yönüyle linux sistem ve network güvenliğiAhmet Han
 
Donanım ve yazılım bilişim dersi
Donanım ve yazılım bilişim dersiDonanım ve yazılım bilişim dersi
Donanım ve yazılım bilişim dersiMali Yılmaz
 

En vedette (20)

Kali Linux Hakkında Herşey
Kali Linux Hakkında HerşeyKali Linux Hakkında Herşey
Kali Linux Hakkında Herşey
 
Sizma testi bilgi toplama
Sizma testi bilgi toplamaSizma testi bilgi toplama
Sizma testi bilgi toplama
 
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirmeWeb uygulama açıklıklarından faydalanarak sistem ele geçirme
Web uygulama açıklıklarından faydalanarak sistem ele geçirme
 
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi EğitimiBTRisk Yazılım Güvenliği Yönetimi Eğitimi
BTRisk Yazılım Güvenliği Yönetimi Eğitimi
 
BTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi EğitimiBTRisk Android Mobil Uygulama Denetimi Eğitimi
BTRisk Android Mobil Uygulama Denetimi Eğitimi
 
BTRisk Android Uygulamalara Malware Yerleştirme Sunumu
BTRisk Android Uygulamalara Malware Yerleştirme SunumuBTRisk Android Uygulamalara Malware Yerleştirme Sunumu
BTRisk Android Uygulamalara Malware Yerleştirme Sunumu
 
Android Uygulamaların Tersine Mühendislik Yöntemi ile İncelenmesi
Android Uygulamaların Tersine Mühendislik Yöntemi ile İncelenmesiAndroid Uygulamaların Tersine Mühendislik Yöntemi ile İncelenmesi
Android Uygulamaların Tersine Mühendislik Yöntemi ile İncelenmesi
 
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim SunumuBTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
BTRİSK Web Uygulama Güvenliği Denetimi Eğitim Sunumu
 
Güvenli Yazılım Geliştirmede Dosya Yükleme
Güvenli Yazılım Geliştirmede Dosya YüklemeGüvenli Yazılım Geliştirmede Dosya Yükleme
Güvenli Yazılım Geliştirmede Dosya Yükleme
 
Siber Olaylara Müdahale Sunumu
Siber Olaylara Müdahale SunumuSiber Olaylara Müdahale Sunumu
Siber Olaylara Müdahale Sunumu
 
BTRisk iOS Mobil Uygulama Denetimi Eğitimi
BTRisk iOS Mobil Uygulama Denetimi EğitimiBTRisk iOS Mobil Uygulama Denetimi Eğitimi
BTRisk iOS Mobil Uygulama Denetimi Eğitimi
 
Güvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya KurtarmaGüvenli Veri Silme ve Dosya Kurtarma
Güvenli Veri Silme ve Dosya Kurtarma
 
Siber Savunma Ürünlerinde Profesyonel Arka Kapılar
Siber Savunma Ürünlerinde Profesyonel Arka KapılarSiber Savunma Ürünlerinde Profesyonel Arka Kapılar
Siber Savunma Ürünlerinde Profesyonel Arka Kapılar
 
APT Saldırıları Karşısında Güvenlik Sistemlerin Yetersiziliği
APT Saldırıları Karşısında Güvenlik Sistemlerin YetersiziliğiAPT Saldırıları Karşısında Güvenlik Sistemlerin Yetersiziliği
APT Saldırıları Karşısında Güvenlik Sistemlerin Yetersiziliği
 
Temel Cisco Komutlari Ve Ornekler
Temel Cisco Komutlari Ve OrneklerTemel Cisco Komutlari Ve Ornekler
Temel Cisco Komutlari Ve Ornekler
 
Android İşletim Sistemi
Android İşletim SistemiAndroid İşletim Sistemi
Android İşletim Sistemi
 
Network Dersleri3
Network Dersleri3Network Dersleri3
Network Dersleri3
 
Temel bilgisayar
Temel bilgisayarTemel bilgisayar
Temel bilgisayar
 
Her yönüyle linux sistem ve network güvenliği
Her yönüyle linux sistem ve network güvenliğiHer yönüyle linux sistem ve network güvenliği
Her yönüyle linux sistem ve network güvenliği
 
Donanım ve yazılım bilişim dersi
Donanım ve yazılım bilişim dersiDonanım ve yazılım bilişim dersi
Donanım ve yazılım bilişim dersi
 

Similaire à Unix Denetim Dokümanı

BTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin TemelleriBTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin Temellerideniz armutlu
 
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)furkan mataraci
 
Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Murat KARA
 
Unixlinux (1)
Unixlinux (1)Unixlinux (1)
Unixlinux (1)sagsaglim
 
Biricikoglu Islsisguv Sunum
Biricikoglu Islsisguv SunumBiricikoglu Islsisguv Sunum
Biricikoglu Islsisguv Sunumeroglu
 
NTFS ve ÖZELLİKLERİ
NTFS ve ÖZELLİKLERİNTFS ve ÖZELLİKLERİ
NTFS ve ÖZELLİKLERİSamet Özgen
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemlerisnakeyes31
 
Linux İşletim Sistemi
Linux İşletim SistemiLinux İşletim Sistemi
Linux İşletim SistemiMurat KARA
 
Temel kullanici gruplari
Temel kullanici gruplariTemel kullanici gruplari
Temel kullanici gruplarimimarsinantl
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumAnar Godjaev
 
Mehmetözcan 20102846
Mehmetözcan 20102846Mehmetözcan 20102846
Mehmetözcan 20102846Mehmet Özcan
 
Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Murat KARA
 
Dağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaDağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaŞahabettin Akca
 

Similaire à Unix Denetim Dokümanı (20)

Linux Sistem Yönetimi
Linux Sistem YönetimiLinux Sistem Yönetimi
Linux Sistem Yönetimi
 
BTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin TemelleriBTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin Temelleri
 
Holynix v1
Holynix v1Holynix v1
Holynix v1
 
pc bilgisayar
pc bilgisayarpc bilgisayar
pc bilgisayar
 
Nurdan Sarıkaya
Nurdan SarıkayaNurdan Sarıkaya
Nurdan Sarıkaya
 
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
 
Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018
 
Nurdan Sarıkaya
Nurdan Sarıkaya Nurdan Sarıkaya
Nurdan Sarıkaya
 
Unixlinux (1)
Unixlinux (1)Unixlinux (1)
Unixlinux (1)
 
Biricikoglu Islsisguv Sunum
Biricikoglu Islsisguv SunumBiricikoglu Islsisguv Sunum
Biricikoglu Islsisguv Sunum
 
NTFS ve ÖZELLİKLERİ
NTFS ve ÖZELLİKLERİNTFS ve ÖZELLİKLERİ
NTFS ve ÖZELLİKLERİ
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemleri
 
Linux İşletim Sistemi
Linux İşletim SistemiLinux İşletim Sistemi
Linux İşletim Sistemi
 
Temel kullanici gruplari
Temel kullanici gruplariTemel kullanici gruplari
Temel kullanici gruplari
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server Kurulum
 
Linux komulari
Linux komulariLinux komulari
Linux komulari
 
Mehmetözcan 20102846
Mehmetözcan 20102846Mehmetözcan 20102846
Mehmetözcan 20102846
 
Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3
 
işletim sistemleri
işletim sistemleriişletim sistemleri
işletim sistemleri
 
Dağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaDağıtık Sistemler / Programlama
Dağıtık Sistemler / Programlama
 

Plus de BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri

Plus de BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri (17)

Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 3
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
BTRisk - Siber Olay Tespit ve Mudahale Egitimi
BTRisk - Siber Olay Tespit ve Mudahale EgitimiBTRisk - Siber Olay Tespit ve Mudahale Egitimi
BTRisk - Siber Olay Tespit ve Mudahale Egitimi
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-3
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-2
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 1
 
Yazıcı Güvenliği
Yazıcı GüvenliğiYazıcı Güvenliği
Yazıcı Güvenliği
 
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMUBTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
BTRISK ISO27001 UYGULAMA EGITIMI SUNUMU
 
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi SunumuBTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
BTRisk ISO 27001:2013 Bilgilendirme ve İç Denetim Eğitimi Sunumu
 
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi SunumuBilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
 
BTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
BTRİSK Web Uygulama Güvenliği Denetimi EğitimiBTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
BTRİSK Web Uygulama Güvenliği Denetimi Eğitimi
 
BTRWATCH ISO27001 Yazılımı
BTRWATCH ISO27001 YazılımıBTRWATCH ISO27001 Yazılımı
BTRWATCH ISO27001 Yazılımı
 
Jmeter ile uygulama katmanında yük testi gerçekleştirme
Jmeter ile uygulama katmanında yük testi gerçekleştirmeJmeter ile uygulama katmanında yük testi gerçekleştirme
Jmeter ile uygulama katmanında yük testi gerçekleştirme
 
ISO 27001:2013 versiyonu ile gelen değişiklikler
ISO 27001:2013 versiyonu ile gelen değişikliklerISO 27001:2013 versiyonu ile gelen değişiklikler
ISO 27001:2013 versiyonu ile gelen değişiklikler
 

Unix Denetim Dokümanı

  • 2. blog.btrisk.com @btrisk /btrisktv /btrisk 1 Unix Temelleri • Shell • Dosya Sistemi (File system organization) • Process • AĞ Servisleri (Network services) • Kullanıcı Yönetimi (User management) • Görev Zamanlayıcı (Job scheduling) • Loglama (Logging) Shell Shell (Kabuk),bir işletim sistemi yönetim arayüzüdür.Sıradan kullanıcılar ve Sistem Yöneticileri için geliştirilmiştir.Üzerinde çalıştırılabilen komutlar ve yazılan Script’ler sayesinde Unix ve benzeri sistemlerin yönetimi sağlanmaktadır.mkdir,touch,fdisk,rm,chmod shell üzerinde çalışan bazı komutlardır. Dosya Sistemi Unix sistemlerde dosya sistemi farklılık gösterse de,temel olarak Windows ve Linux işletim sistemlerindeki dosya sistemlerine benzer.Unix denetimi yapılırken,denetçinin dosya erişim hakları ve diğer unsurlara dikkat etmesi gereklidir.Unix sistem üzerinde bulunan dosya yapılarını biraz daha yakından inceleyelim; / (root) : Kök dizin anlamına gelmektedir.Diğer tüm dizinler bu dizin altında yer almaktadırlar. /bin : İşletim sistemini kontrol etmek için kullanılan komutlar bu dizin altında tanımlıdır.cat,mkdir,ls,rm temel komutlar burada bulunurlar.Sistem boot edildiğin ilk olarak bu dizin aktif hale gelecektir. /boot : Boot işlemi sırasında gerekli olan bileşenleri içeren dizindir. /dev : Sisteminizde bulunan donanımlar bu dizin altında tutulurlar.
  • 3. blog.btrisk.com @btrisk /btrisktv /btrisk 2 /etc : Sisteminiz için gerekli olan tüm yapılandırma dosyaları bu dizin ve içerisindeki alt dizinlerde tutulmaktadır.Yapılandırma dosyasına örnek olarak /etc/resolv.conf dosyasını verebiliriz.Bu dosya içerisinde sisteminizin DNS ayarları tutulmaktadır. /home : Bu dizin altında sistemdeki her bir kullanıcı için tanımlanan alt klasörler bulunmaktadır.Örneğin;”test ” isimli bir kullanıcı tanımlanırsa,/home/test adında kendine ait bir klasörü olacaktır.Fakat bu kullanıcının yetkileri /home klasörü ile sınırlı olacaktır. /lib : Kernel ile ilgili bazı modülleri ve paylaşılan kütüphane dosyalarını içeren dizindir. Bahsedilen kütüphane dosyalarıysa, sistemi başlatmak ve /bin ile /sbin içerisindeki komutları çalıştırmak için gereklidir. /mnt : Dosya sistemi ve donanım aygıtlarını sisteme mount etmek için kullanılan dizindir. /proc : Sistem durumunu kontrol etmek için kullanılan bazı sanal dosyalar içeren dizindir. /root : Root kullanıcısı sisteme tanımlandığında diğer kullanıcılar gibi kendi klasörü /home dizini altından tutulmaz.Direk olarak kendine ait olan /root dizini altında tutulur. /sbin : Root kullanıcısının sistemi yönetmesini sağlayan komutları içeren dizindir. /var : Log dosyaları, e-mail ve printer kuyrukları gibi değişken sistem bilgileri içeren dizindir. /tmp : Geçici dosyalar için kullanılan bir dizindir.Bu dizin programlar tarafından geçici depolama alanı olarak kullanılır.İşletim sistemi yeniden başlatıldığında bu dizin içerisindeki bilgiler silinecektir. /usr : Paylaşılabilir dosyaların bulunduğu dizindir. Bu dizin içersinde çalışabilir dosyaların bulunduğu dizinlerin yanısıra , dokümanlar ve programların kullandığı dosyalar bulunmaktadır. Dosya-Dizin Yapıları ve Yetkiler Yukarıdaki resmi referans alarak Unix üzerindeki dosya izinlerini ve diğer parametreleri inceleyelim; Sol tarafta kalan 10 bitlik blok dosya türünü ve bu dosya türünün izinlerini içermektedir.
  • 4. blog.btrisk.com @btrisk /btrisktv /btrisk 3 Bu 10 bitlik bloğun ilk biti dosya türünü içermektedir.Diğer alanlar sırasıyla dosya linklerini,dosya sahibini,dosya sahibinin bulunduğu grubu,dosyanın boyutunu,son değiştirilme tarihini ve ismini gösterir.Unix sistemlerde kullanılan dosya türlerini şöyle açılayabiliriz.  “d” directory anlamına gelen parametredir.Bir klasör olduğunu belirtir.  “l” link anlamına gelen parametredir.Burada bir link (kısayol) olduğunu belirtir.  “-“ sıradan dosyaları belirtmektedir.Örnek resimdeki gibi bir .txt dosyası bu parametre ile belirtilir.  “b” block anlamına gelen parametredir.Sistemdeki disklerinizi belirtir.  “c” character file anlamına gelen parametredir.Yazıcı gibi çevresel aygıtları belirtilir. Dosya türünü belirten bitden sonra gelen 9 bitlik blok dosya üzerindeki izinleri göstermektedir.Bu izinler 3 bitlik bloklar halinde ayrılırlar.İlk 3 bit dosya sahibinin bu dosya üzerindeki yetkilerini.ikinci 3 bit dosya sahibi ile aynı grup içerisindeki kullanıcıların yetkilerini.Son 3 bit ise diğer kullanıcıların dosya üzerindeki yetkilerini göstermektedir. Dosya üzerindeki yetkiler;“r (read)” okuma yetkisi ,“w (write)” yazma yetkisi,“x (execute)” çalıştırma yetkisidir.Örneğin , unix2 klasörünün yetkilerini incelersek; Dosyanın sahibi olan kullanıcı “r”,”w”,”x” yani okuma,yazma ve çalıştırma yetkilerinin tamamına sahiptir. Dosyanın sahibi ile aynı grupta olan kullanıcılar “r”,”x” yani okuma ve çalıştırma yetkilerine sahiptir. Diğer kullanıcılar tarafını kontrol edersek “r”,”x” yani Grup kullanıcıları gibi okuma ve çalıştırma yetkilerine sahiptir. Dosyalar üzerinde yetkileri belirlemek için “chmod” komutu kullanılmaktadır.Komutun kullanımı şu şekildedir:  Komut kullanımı sırasında kullanıcılar u (User),g (Group),o (Owner) olarak tanımlanmaktadır.  “chmod u+x,g+x,o+x dosya_ismi” bu komut ile tüm kullanıcı türllerine dosyayı çalıştırma yetkisi verilmiştir.Eğer burada olduğu gibi tüm kullanıcılara aynı yetkiyi verecekseniz “chmod +x dosya_ismi “ komutu da kullanılabilir.  Eğer yetki kısıtlamasına yapılamak isteniyorsa komut “chmod u-x,g-x,o-x dosya_ismi” şeklinde değiştirlebilir.
  • 5. blog.btrisk.com @btrisk /btrisktv /btrisk 4 Dosya ve Klasör Yönetimi Bu bölümde shell üzerinde tanımlanmış dosya ve klasörlerin yönetimi ile ilgili komutları kısaca değineceğiz.  “pwd” komutu çalıştığınız mevcut dizini gösterir  “ls” komutu ile bulunduğunuz dizindeki tüm dosya ve klasörleri görüntüleyebilirsiniz.”-l” parametresi ile daha detaylı listeleme yapılabilir.”-F” parametresi ile dosya tipini görüntüleyebilirsiniz.”ls –l” komutu kullanıldığında gizli dosyalar görüntülenmeyecektir.  ”ls –al” komutu ile gizli dosyları da görüntüleyebilirsiniz.(“.” ile başlayan dosyalar ve klasörler gizli olanları ifade etmektedir. )  “cd” komutu ile bulunduğunuz dizini değiştirebilirsiniz.Örneğin;”cd ..” komutu bir sizi bir üst dizine götürecektir.”cd /sbin/” komutu ile /sbin dizinine gidebilirsiniz.  “mkdir” komutu ile klasör-dizin oluşturulur.”mkdir klasör_ismi”  “touch” komutu ile dosya oluşturulur.”touch dosya_ismi”  “cp” komutu ile kopyalamai,”mv” komutu ile taşıma işlemleri yapılabilir.  “rm” komutu ile dosya silinebilir.Klasörleri silmek için ise “rmdir” komutunun kullanılması gereklidir.Klasörün silinmesi için içerisinin boş olması gerekir .Hem klasörü hem içerisindeki tüm veriyi silmek istiyorsanız “rm -r” komutunu kullanmanız gerekmektedir. Process Unix sistemlerde arka planda çalışan her bir göreve verilen isimdir.Unix Sistemlerde process yönetimine Windows Sistemlere göre daha çok ihtiyaç vardır.Unix sistem üzerinde çalışan processleri “ps ” komutu ile görebilirsiniz.PID 1 olan “init” processi tüm sistemden sorumlu olan processtir.Bazı Unix sistemlerde (FreeBSD) sistemde çalışan tüm processleri görmek için bazı parametreler eklemek gerekebilir.Örneğin; “ps xu” komutu çalıştırıldığında sistemde çalışan processlerle ilgili aşağıdaki gibi detaylı bir çıktı alınabilir. Bir process sonlandırabilmek için “kill” komutu kullanılır.Bir process iki şekilde sonlandırılabilir;  “kill syslogd” yazılarak process ismi ile sonlandırılabilir.  “kill 590” yazılarak process ID(PID) ile sonlandırılabilir.
  • 6. blog.btrisk.com @btrisk /btrisktv /btrisk 5 Ağ Servisleri Unix denetimleri sırasında, denetçi ,Ağ servislerinin konfigürasyonunu iyi anlamış olmalıdır.Ağ servislerinin yanlış yapılandırılması Unix sistemler üzerindeki en büyük tehditlerden biri olarak kabul edilebilir. Temel olarak IP konfigürasyonunuzu “ifconfig ” komutu ile görebilirsiniz.Aynı zamanda “/etc/rc.conf” dosyası altında da görüntüleyebilirsiniz. DNS kayıtlarınızı ise “/etc/resolv.conf” dosyası içerisinde görüntüleyebilirsiniz.Bahsettiğimiz iki dosyayı da herhangi bir text editör ile açıp içerisindeki bilgileri kendi network bilgilerimize uygun biçimde yapılandırabiliriz. “ifconfig em0 192.168.2.10 netmask 255.255.255.0” komutu ile sisteminize IP adresini statik olarak verebilirsiniz.
  • 7. blog.btrisk.com @btrisk /btrisktv /btrisk 6 Burada birkaç temel network servisinden bahsetmek gerekir,bunlar “getty” ve “inetd” servisleridir.  “getty” yapılandırma dosyaları içerisinde tanımlanan her bir terminal bağlantısı için“init” processi ile birlikte başlatılan servistir.Fiziksel ve sanal terminallerin kontrolünden sorumludur.”getty” bir bağlantı algıladığında,kullanıcı giriş bilgilerini kontrol eder ve kimlik doğrulamanın tamamlanması için “login” programını çalıştırır.
  • 8. blog.btrisk.com @btrisk /btrisktv /btrisk 7  “inetd” (internet daemon) sistem boot edilirken aktif olan bir servistir.”inetd” network servisi tarafından belirlenen portları dinler.TCP veya UDP protokolü üzerinden portlara bir paket geldiğinde “inetd” servisi çalışarak bu paketin kontrolünü sağlar.”inetd” servisinin hangi programları ve portları dinlemesini istiyorsanız “/etc/inetd.conf” dosyası üzerine bu bilgilerin eklenmesi gereklidir. Kullanıcı Yönetimi Bir çok işletim sistemi gibi,Unix işletim sistemleri üzerinde de kullanıcı hesaplarının ve kimliklerinin kendi yönetim yolu vardır.Erişim kontrollerinin denetim altında tutulması gereken önemli konulardandır.Bu nedenle Unix üzerinde kullanıcı yönetimini anlamak işinizi kolaylaştıracaktır.Unix sistem üzererinde kullanıcı yönetimi için kullanılan temel komutlar şunlardır:  “adduser” sisteme bir kullanıcı eklemek için kullanılır.  “rmuser” , “deluser” sistemde bulunan kullanıcıyı silmek için kullanılır.  “passwd” komutu kullanıcının şifre atamak için kullanılır.  “pw groupadd grup_adı” komutu ile sistem üzerinde istediğiniz grupları oluşturabilirsiniz.Bu grupları “/etc/group” dizininde görüntüleyebilirsiniz.  “pw groupdel grup_adı” komutu ile ihtiyacınız olmayan grupları sistemden kaldırabilirsiniz. Burada Unix üzerinde 2 önemli dosya bulunmaktadır.Bunlar ”/etc/master.passwd” (BSD için geçerli olan klasördür.Diğer Unix sistemlerde değişiklik gösterecektir.) ve “/etc/group”.  “/etc/master.passwd” dosyası ;kullanıcı ismi,hashlenmiş şifresi,bulunduğu grubun bilgisini(GID),kullnıcı ID bilgisini (UID),kullanıcının /home dizini gibi bilgileri içermektedir.  “/etc/group” dosyası ise sistemdeki grupları ve bu gruplara üye olan kullanıcıları gösteren dosyasıdır.
  • 9. blog.btrisk.com @btrisk /btrisktv /btrisk 8 Görev Zamanlayıcı (Cron) Zamanlanmış görevler çoğunlukla rutin olarak yapılması gereken sistem yönetimi ve IT operasyon görevlerinin belirli periyotlarla otomatik olarak gerçekleştiren işlemlerdir.Görevlerin sağlıklı tanımlanması ve izlenmesi Unix üzerinde otomatik olarak çalıştırılan işlemlerin takibi açısından önemlidir.Otomatik bir görev tanımlamak için “/etc/crontab” dosyası içerisine görevleri tanımlamak gerekir. “0 3 * * * root /usr/bin/netstat “ dosyaya eklenecek bu satırla netstat komutunun her 3 saate çalıştırılması sağlanmaktadır.Satırdaki alanları tek tek açıklayacak olursak sırasıyla;  Dakika (0 - 59)  Saat (0 - 23)  Ayın hangi günü (1 - 31)  Ay (1 - 12)  Haftanın Günleri (0 - 7) (Pazar=0 veya 7)  Görevi çalıştıracak kullanıcı  Çalıştırılacak komut veya scriptin yolu ve adı Loglama Sistemleri monitör etme,güvenlik takibi ve uyarıları için loglama önem teşkil etmektedir.Sistem üzerindeki hareketlerin takibini log dosyaları üzerinden yapabilirsiniz. Bu dosyalar “/var/log” dizini altında tutulmaktadırlar.Örneğin;sisteme giriş yapan kullanıcı bilgilerini ve giriş loglarını “/var/log/auth.log” dosyası içerisinde görüntüleyebiliriz.Syslog mesajları içerisinde detaylı zaman bilgisi,hostname bilgisi ve mesaj alanları olduğu için kritik bir durumda kayıtlar kontrol edilerek önemli bilgiler edinilebilir.Birden fazla sisteminiz varsa bunların loglarını merkezi bir sistemde toplamak izleme açısından daha kolay olabilir.Bu işlem için “syslog-ng” veya “rsyslog” servisleri kullanılabilir.
  • 10. blog.btrisk.com @btrisk /btrisktv /btrisk 9 Manual Sayfaları Unix;“man” (manual) komutu,shell üzerinde çalıştırılan komutların,konfigürasyon dosyaları vb. kullanımı ile ilgili yardım kılavuzlarına ulaşmanızı sağlar.Örneğin; “man pkg” komutu ile pkg komutunun parametreleri ve kullanımı ile ilgili yardım dosyasına ulaşabilirsiniz. Diğer Bilinmesi Yararlı Olabilecek Bilgiler tar: Bu komut sistem üzerindeki dosyalarınızın yedeklerini almak ve geri döndürmek için kullanılır.Yedeklerinizi bir backup ünitesine veya bir optik diske alabilirsiniz. dd: “dd” komutu teknik olarak bir yedekleme için kullanılmaz.Fakat denetleme işlemleri için diskin tam bir kopyasını (image) almak için kullanılabilir. /etc/fstab/: Unix sistemlerde sisteme eklenen cihazlar sistem açılışında otomatik olarak mount edilmeyecektir.Bu nedenle örneğin sisteme yedekleme için eklediğimiz ikincil bir diski manual olarak /etc/fstab dosyası altına eklememiz gerekmektedir.
  • 11. blog.btrisk.com @btrisk /btrisktv /btrisk 10 Unix üzerinde girdil ve çıktı işlemleri için aşağıdaki komutlar kullanılabilir;  “>” ,”>>”,”<”,”<<” komutları girdi ve çıktıların yönlendirilmesi için kullanılırlar.”>” komutu dosya içerisine bir girdi yollandığında diğerlerini ezecektir.Fakat “>>” komutu ile ikinci bir girdi olarak eklenebilir.  “Pipe” işareti bu işaretten önce girilen komutun desteklenmesini sağlar.Örneğin;”ls –l | more” komutu girildiğinde sıralanan parametreler sayfa sayfa gösterilecektir.  “grep” komutu ile bir çıktı içerisindeki spesifik bir bilgiyi elde edebiliriz.Örneğin;birden fazla prosesin çalıştığı bir sistemde ftp servisini görmek istiyorsak “ps –xu | grep ftp” komutu ile bunu sağlayabiliriz.
  • 12. blog.btrisk.com @btrisk /btrisktv /btrisk 11 Unix Sistem Güvenliği Kontrolleri Network Servisleri Network servisleri üzerinde güvenliği sağlamanın en önemli yolu sistem üzerinde mümkün olduğunca az servis çalıştırmak ve kullanıcılar tarafından erişilen servislerin yetkilerinin iyi optimize edilmesidir. Daha öncede bahsettiğimiz gibi sistem üzerindeki çalışan network serfvislerinin bir çoğunu “inetd” kontrol etmektedir.Fakat burada çalışan tüm servisler gerekli olmayabilir.Ayrıca Unix sistemler üzerinde “/etc/inetd.conf” ve “/etc/services” dosyaları altında servis tanımlayarak “inetd” içerisinde başlatılmalarını sağlayabiliriz. Sistem üzerinde çalışan dışarıya bilgi sızdırabilecek olan finger ve rusers gibi servisler mutlaka kapatılmalıdır. Finger: 79.port üzerinde çalışan sistem üzerinde çalışan kullanıcılar hakkında bilgi veren bir servistir.Lokal veya uzak makinede çalışan kullanıcılar hakkında bilgi toplanabilir. Rusers: Finger ile benzer görevde çalışmaktadır.Lokal sistemler üzerinden login olan kullanıcıları göstermektedir. Eğer kurum için gerekli değilse şifresiz kanallardan iletişimden kaçınmak gereklidir.Telnet ,FTP gibi güvensiz protokoller yerine güvenli protokoller kullanılmalıdır (SSH,SFTP). Uzaktan komut çalıştırılmasını sağlayan rlogin,rexec,rsh gibi servislerin mutlaka kapatılması gerekir. Rlogin: TCP 513 portunda çalışan bir komuttur.Network üzerindeki sistemlere uzaktan bağlanmayı sağlamaktadır.Fakat Telnette olduğu gibi iletilen bilgileri şifrelemediği için tehlikeli bir servistir. Rsh: TCP 514 portunu kullanan bir komuttur.Network üzerindeki bir sistemde farklı bir kullanıcı ile komut çalıştırarak yönetim yapmayı sağlar.Fakat rlogin gibi iletilen bilgiler şifrelenmediği için tehlikeli bir servistir.Hatta bazı durumlarda giriş esnasında parololar dahi şifrelenmeden iletilmektedir. Rexec: Rsh ile aynı özelliiklere sahip olan servistir.TCP 512 portu üzerinde çalışmaktadır.Bu servis üzerinde de parola gibi kritik bilgiler şifrelenmeden gönderilmektedir.
  • 13. blog.btrisk.com @btrisk /btrisktv /btrisk 12 NFS: Network File System sistem üzerindeki dosya ve klasörlerin aynı network içerisindeki diğer kullanıcılar ile paylaşılmasını sağlayan servistir.NFS üzerinden paylaşılan dosyaların erişim yetkileri kullanıcılara göre belirlenmeli ve yetksiz erişimlere dikkat edilmelidir. NIS: Network Information System kullanıcı ve host adları gibi sistem konfigürasyonu bilgilerinin dağıtımını yapan sunucu-istemci rehberi hizmeti protokolüdür.Yeni sistemlerde yerini LDAP gibi protokoller almıştır. Uzak Erişim kontrolleri Uzak Erişim Unix sistemlere farklı bir Unix sistem üzerinden “r” servisleri ile bağlanmayı sağlar.Mümkün olduğunca bu servislerin kullanımından kaçınmak gereklidir.Uzak erişimleri kontrol etmek için Unix sistem üzerinde iki kritik dosya bulunmaktadır.Bunlar “/etc/hosts.equiv” ve kullanıcı home dizininde bulunan “.rhosts”dosyasıdır.Bu iki dosya sistem kaynaklarını uzaktan erişebilecek güvenilir kullanıcıları ve hostları belirtmektedir.Bu nedenle bu dosyalara erişim sağlayan biri sistemin tümüne erişim sağlayabilir.Daha önce bahsettiğimiz rsh,rlogin gibi servisler bu açıklıkara örnek gösterilebilir.Ayrıca dosya içerisinde “+ +” karakterlerine dikkat etmek gereklidir.Bu karakterler herhangi bir host üzerinden herhangi bir kullanıcı adı ile sisteminize girişi mümkün kılmaktadır. Kritik Dosya ve Komut Erişimleri Sistem üzerindeki kritik dosyaların ve program komutlarının erişiminlerinin yetkisiz değişikliklere karşı kontrol altına alınması gerekmektedir. Kritik konfigürasyon dosyaları üzerindeki okuma yetkisi dahi olsa sadece belirlenen gerekli kullanıcılar için verilmelidir.Özellikle “/etc/” dizini altında bulunan konfigürasyon dosyaları kritik dosyalardır ve erişim izinleri konusunda dikkat etmek gerekir.Ayrıca “/bin,/sbin,/dev,/user,/var” dizinleri altındaki dosyalara verilen yazma izinlerine dikkat etmek gereklidir. Unix sistem üzerinde kullanılan SUID (switch user id) dosya özelliği sayesinde sıradan bir kullanıcının kendisine ait olmayan programları kendisine atanmış haklardan fazla bir yetki ile çalıştırabilmesine imkan sağlamaktadır.Bu nedenle herkesin erişebildiği SUID dosyaları büyük bir risk oluşturmaktadırlar.Bu tür dosyalara örnek olarak “/usr/sbin/passwd” örnek olarak verilebilir.Sistem üzerindeki bir kullanıcı kendi şifresini “passwd ” komutu ile “root”yetkisine ihtiyacı olmadan değiştirebilmektedir.
  • 14. blog.btrisk.com @btrisk /btrisktv /btrisk 13 Burada yaptığımız değişiklik “root” kullanıcısının erişebildiği “/etc/master.passwd” dosyası üzerindede uygulanmaktadır.Bu “/etc/master.passwd” altındaki değişimi yapabilmemizi SUID özelliği sağlamaktadır.Bu özelliğin gruplar üzerinde etkinleştirmesine ise SGID olarak gösterilmektedir. SUID yetkisi için dosya izinlerindeki SUID bitinin ektinleştirilmiş olması gereklidir.”passwd” komutunun izinleride “x” yerine bulunan “s” biti SUID bitini ifade etmektedir.Eğer bazı dosya üzerinde bu izinler sizin için gereksiz görünüyorsa “chmod u-s” komutunu kullanarak SUID yetkisi etkisiz hale getirebilirsiniz. Kritik dosyalara erişim kısıtlaması veya izinleri için ACL (Access Control List) tanımlanabilmektedir.Bu özellik sayesinde istediğimiz kullanıcıya özel erişim izinleri atayabiliriz.ACL tanımlamak için aşağıdaki komut kullanılmalıdır; “setfacl –m u:kullanıcı_adı:rwx dosya_adı” Komutta görülen “u” parametesi yetki atamak istediğimiz kullanıcıyı ifade etmektedir.Kullanıcı adı girildikten sonra “:” koyulur ve yetki bitleri yazılır.Son olarak ise ACL tanımlamak istediğimiz dosya adı yazılır.Bu işlemi tanımlı gruplar için yapmak isterseniz “u” parametresi yerine “g” , kullanıcı adı yerine GID kullanmanız gereklidir.ACL tanımlanan bir dosyayının ayırt edilmesi için dosya yetki bitlerinin sonunda “+” işareti bulunur. Süreç Takibi Süreç takibi,sistem yöneticilerinin olayların takibini sağlaması açısından önemli bir güvenlik metodudur. Bu metod sayesinde sistem kaynaklarının kullanıcılar üzerindeki dağılımı ve minimal düzeyde kullanıcıların komutlarını takip etme şansı yaratılabilir.Bu metodun kullanımında pozitif ve negatif durumlar ortaya çıkabilir.Örneğin;Sistem sürekli takip altında olacağından saldırı tespiti kolaylaşacaktır.Bu durum bize pozitif bir etki yaratacaktır.Fakat sürekli log kaydı üreten bir sistem için fazlaca disk alanına ihtiyaç olması negatif bir durum olarak nitelendirilebilir.
  • 15. blog.btrisk.com @btrisk /btrisktv /btrisk 14 Metodun aktif edilmesi için aşağıdaki komutlar takip edilmelidir;  touch /var/account/acct ; komutu ile acct adından bir dosya oluşturulur  chmod +rw /var/account/acct ; komutu ile oluşturulan dosyaya okuma ve yazma yetkisi verilir.  accton /var /account/acct ;komutu ile servis aktif hale getirilir.  Son olarak “/etc/rc.conf” dosyasını bir text editör yarıdmıyla açaraka “accounting_enabled=”YES”” satırını ekleyip kaydediyoruz. Komutlar girilip,takip başladıktan sonra CPU ve komut istatistikleri takip altına alınmaya başlayacaktır.Fakat tüm loglar okunabilir durumda değildir.Bu durumda logları okuyabilmek için “sa” komutu kullanılarak loglar okunabilir.Spesifik bir kaç komuta örnek vermek gerekirse;  ac komutu kullanılarak sistem login olan kullanıcıların bağlı kalma sürelerini görebiliriz.Bu komuta “-d” parametresi eklenirse kayıtları günlük,”-p” parametresi eklenirse kayıtları herbir kullanıcı için ayrı ayrı gösterecektir.
  • 16. blog.btrisk.com @btrisk /btrisktv /btrisk 15  sa komutu sisteme login olan kullanıcıların hangi komutları çalıştırdıklarını ve bu komutların sistem üzerinde ne kadar kaynak kullandığı hakkında bilgi verecektir.  lastcomm sistem üzerinde önceden çalıştırılmış olan komutları görüntülememizi sağlan komuttur.Bu komut ile kullanıcı adı veya görüntülenmek istenen komut kullanılarak arama yapılabilmektedir. Sistem Kullanıcılıarı Her bir Unix sistem üzerinde ön tanımlı olarak gelen kullanıcı isimleri mevcuttur.Daha öncede bahsettiğimiz gibi her kullanıcı için kendisine ait bir UID (User ID) tanımlanmaktadır.Bu UID dosya erişim izinlerini kontrol altında tutmak için kullanılmaktadır.”root” kullanıcısına ait ID 0’dır ve tüm yetkilere sahiptir.Unix sistemin kendisi tarafından tanımlanan kullanıcıların ID’leri 100 rakamından küçüktürler.Bu kulanıcıllar “/etc/master.passwd” dizini altında görüntülenebilirler. Buradaki önemli nokta sistem tarafından tanımlanan kullanıcıların tespit edilip pasif hale getirilmeleridir.Bunun için “/etc/master.passwd” dosyası altında o kullanıcıya ait olan şifre alanına “*” karateri girilmelidir.
  • 17. blog.btrisk.com @btrisk /btrisktv /btrisk 16 Kimlik Doğrulama Unix sistemler üzerinde sistemin belirlediği kimlik doğrulama kriterleri her zaman istediğimiz seviyede güvenlik sağlamayabilir.Her Unix sistemi için bu kriterler değişkenlik gösterir.Örneğin HP-UX üzerinden şifre politikası minimum 8 karakter olarak uygulanırken FreeBSD üzerinde varsayılan olarak bir sınırlama yoktur.Bu durum sistem üzerinde ciddi güvenlik açıkları yaratabilir. Sistem üzerinde bu tür güvenlik açıklarına engel olmak için uygun kimlik doğrulama politikaları tanımlamak gereklidir.FreeBSD sistemler için bu tür ayarlar “/etc/login.conf” dosyası içerisinde yapılmaktadır.Default olarak tanımlanan politikalar aşağıdaki gibidir; Burada görüldüğü gibi tanımlanan herhangi bir varsayılan kullanıcı için tüm alanlar “unlimited” olarak tanımlanmıştır.Bu dosya içerisine bir çok farklı tanımlama yapılabilir.
  • 18. blog.btrisk.com @btrisk /btrisktv /btrisk 17 root kullanıcısının politikasında bulunan “tc:” alanı default kısımda tanımlanan politikaların root kullanıcısı içinde geçerli olacağını gösterir.Kimlik doğrulama ve kullanıcılarla ilgili yapılabilecek birkaç politikaysa aşağıdaki gibi sıralanabilir;  minimumpasswordlen:Şifrenizin minimum kaç karakter olacağını belirten alandır.Belirlediğiniz uzunluğu sayı olarak tanımlamanız gereklidir.  mixpasswordcase:Şifrenizi küçük büyük harf duyarlı olmasını sağlayan alandır.”True” olarak tanımlanmalıdır.  idletime:Kullanıcının login olduktan sonra bekleme süresini belirten alandır.Kullanıcı 30 dakika boyunca işlem yapmadığında sistemden düşmesini istiyorsak bu alana “30” yazılmalıdır.  passwordtime:Kullanıcıların şifrelerini ne kadar sürede yenilemeleri gerektiğini belirten alandır.Kullanıcıların şifrelerini ayda bir kere değiştirmesini sağlamak için bu alana “30d” yazılmalıdır. Kapasite ve Sistem Performans Takibi Her Unix sistem üzerinde Sistem performans takibini sağlamak için komutlar bulunmaktadır.Belirli periyotlarla bu komutlar kullanılarak sistem kontrol edilmeli gereksiz ve zararlı olabilecek bileşenler incelenmedir.Genel amaçlı kullanılan komutlara örnek olarak;  Top: Sistem üzerindeki tüm işlemlerini özetini veren komuttur.İşlemci,Memory ve çalışan Processler hakkında bilgi edinilebilir.
  • 19. blog.btrisk.com @btrisk /btrisktv /btrisk 18  du: Disk Usage komutu sistem üzerindeki disk kullanımını gösteren komuttur.”-h “ parametresini komuta eklersek daha anlaşılır bir çıktı elde edebiliriz.  df: Df komutu sistem üzerindeki diskin ne kadar boş alanı kaldığını gösteren komuttur. “-h “ parametresini komuta eklersek daha anlaşılır bir çıktı elde edebiliriz.  ps: Daha öncede bahsettiğimiz gibi Ps komutu ile sistem üzerinde çalışan Process durumları kontrol edilebilir.  iostat: Bu komut ile NFS ve diskler üzerindeki Giriş-Çıkış ve İşlemci istatistiklerine ulaşabilirsiniz. Güvenlik Kontrolleri ile İlgili İpuçları Sistem üzerinden dinlenen portların kontrolü için netstat ve sockstat komutları kullanılabilir. “netstat –a” komutu ile sistemde çalışan aktif portları görüntüleyebilirsiniz.Komuta eklenen “-a” parametresi sayesinde tüm aktif bağlantıları ve bilgisayarın dinlediği TCP ve UDP portlarını görüntüleyebilirsiniz. “sockstat” komutu ile aktif portların hangi programlar tarafından kullanıldığını görüntüleyebilirsiniz.”sockstat -4” IPv4 protokolü üzerinde çalışan “sockstat -6” ise IPv6 protokolü kullanan programları gösterecektir. Sisteminizi DoS ataklarından korumak için ICMP Redirect paketlerini engelleyebilirsiniz.Bu yöntem için “/etc/rc.conf” dosyası altına şu satırlar eklenmelidir; icmp_drop_redirect=”YES” icmp_log_redirect=”YES” Kullanıcı parolarınızın farklı bir hash metoduyla saklamak isterseniz daha önce bahsettiğimiz “/etc/login.conf” dosyası içerisindeki “passwd_format” satırında değişiklik yapmanız gerekecektir.Varsayılan olarak “passwd_format:sha512” gelen hash yöntemini “passwd_format:blf” olarak değiştirirseniz Blowfish metodunu etkin hale getirirsiniz.Farklı hash metodları ile sistem üzerindeki kullanıcı şifrelerinize daha iyi bir koruma sağlayabilirsiniz.Bu işlemi tamamladıktan sonra mevcut veritabanını değişiklikleri uygulamak için “cap_mkdb /etc/login.conf” komutunu çalıştırınız.
  • 20. blog.btrisk.com @btrisk /btrisktv /btrisk 19 Sisteminiz üzerinde NFS sistemini kullanmıyorsanız Portmap pasif hale getirilmelidir.Bu işlem için “/etc/rc.conf” dosyası altına portmap_enable=”NO” satırını eklemeniz gerekir. “/etc/rc.conf” dosyası altına log_in_vais=”YES” satırını eklerseniz kapalı portlara gelen saldırıların loglarını da takip edebilirsiniz. Sisteminize terminal üzerinden herhangi bir erişim yapılmasını istemiyorsanız kontrol etmeniz gereken yer “/etc/ttys” dosyasıdır.Burada tanımlanan ttvy0 ve ttvy8 aralığındaki tüm terminallerin secure başlığı insecure olarak değiştirilmelidir. Sisteminize uzaktan bağlanmak istiyorsanız SSH servisini kullanabilirsiniz.Fakat SSH servisini varsayılan ayarları ile aktif etmemeniz gerekir.Öncelikle sisteme erişilirken root yetkili bir kullanıcı erişmemelidir.Bunun yerine sisteme erişebilecek bir grup oluşturulabilir.Varsayılan port yerine (22) farklı bir port kullanmanız daha faydalı olabilir.Ayrıca sistem üzerinde SSHv2 kullanmanız gereklidir.Bu konfigürasyonlar için “/etc/ssh/sshd_config” dosyası altına örnek olarak şu satırlar eklenebilir; PermitRootLogin=no AllowGroups admin admin RhostsAuthentication no PasswordAuthentication yes PermitEmptyPasswords no Port 222 Protocol 2 Sisteminizde yüklü olan Unix paketlerinin açıklarını takip etmek için portaudit programı kullanılabilir.Portaudit programını kurulumu için şu komutlar izlenmeli; cd /usr/ports/ports-mgmt/port-audit make clean install Komutlar çalıştırıldıktan sonra portaduit günlük çalışması için /usr/local/etc/periodic/security/ dizini altına bir cronjob oluşturulur.Bu şekilde program günlük olarak çalışır ve bir veritabanı oluşturulur. Portaudit programı ile denetim için “portaudit –Fda” komutu kullanılabilir. –F parametresi güncel veritabanını indirmek için,-d parametresi veritabanı oluşturma tarihini görüntülemek için,-a parametresi kurulu tüm paketleri kontrol için kullanılmaktadır.Tek bir paketi kontrol etmek isterseniz “portaudit paket_ismi” komutunu kullanabilirsiniz.
  • 21. blog.btrisk.com @btrisk /btrisktv /btrisk 20 BTRİSK Hakkında 2009 yılında kurulmuş ve sadece bilgi güvenliği hizmetlerine odaklanmış olan BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri bilgi güvenliği problemine yönetim kurulu seviyesinden sistem odası uygulamasına kadar uzanan alanda çözüm üretmektedir. BTRisk bilgi güvenliği problemini görünür hale getirerek algılanmasını, anlaşılmasını ve dolayısıyla ele alınmasını mümkün hale getirmektedir. BTRisk bilgi güvenliği problemine karşı geliştirdiği yaklaşımları gerçek hayat koşullarında test etmiş ve uygulanabilir hale getirmiştir. Bilgi güvenliği ve BT yönetişim hizmet alanlarımız aşağıdaki gibidir:  Pentest Hizmetleri  Bilgi Güvenliği ve BT Yönetişim Hizmetleri  Bilgi Güvenliği Operasyon Hizmetleri  Bilgi Güvenliği Eğitimleri Özgün ürünlerimiz aşağıdaki gibidir:  BTRWATCH Bilgi Güvenliği Risk Analizi ve Denetim Uygulaması  BTRMON 5651 Uyumlu Wi-Fi ve Kablolu Ağ Hotspot Çözümü  BTROTP Tek Kullanımlık Parola Çözümü Pentest & BT Denetimi ISO27001 Danışmanlık Hizmetleri BG Operasyon Hizmetleri