23 Şubat 2023 Perşembe

GhostBSD

 

Ev
 
GhostBSD-22.06.18.png

Dosya ve Dizinlerin🔐 Erişim Yetkileri 🔑CHMOD

 

Dosya ve Dizinlerin Erişim Yetkileri Düzenleme​

Posted on 16 June 2015 by ibrahimucar — 3 Comments ↓
Merhabalar
Bu yazıda Linux türevi işletim sistemlerinde, dosya ve dizinlerin erişim yetkileriyle ilgili chmod ( change mode ) komutunun kullanımına ve detaylarına değineceğim. Öncelikle root kullanıcısı sistemdeki en yetkili kullanıcıdır ve onunla ilgili herhangi bir kısıtlama yoktur. Fakat diğer sistem kullanıcıları sistemde her istediklerini yapma yetkisine sahip değildirler. Sonuçta her bir kullanıcı dosya veya dizin ile çalıştığı için sistem güvenliğinin sağlanması bu dosya ve dizinlerin koruma altında olmasıyla sağlanır. Mesela, kötü niyetli kullanıcılar için veya acemi kullanıcılar için önemli olan dosyaların erişim yetkilerini değiştirerek güven altına alabiliriz.
Basit bir örnek ile başlamak gerekirse, ilk önce bulunduğumuz dizin altındaki dosyaların erişim yetkilerine bakalım.
root# ls -alh


drwxr--r-- 2 root root 4.0K Apr 15 13:22 loglar
-rw-r--r-- 1 ali ali 52K Apr 30 12:03 test
-rw-r--r-- 1 ali ali 83M Dec 22 2013 deneme
Yukarıdaki çıktıda gördüğünüz dosya ve dizinlerin, dosya ve dizin olduklarını nasıl anlayabiliriz. Bunu anlamak için listelenen dizin ve dosyaların başlarında bulunan ifadelere bakabiliriz.
Başında  işareti bunun standart bir dosya olduğunu ifade eder.
Başında d işareti bunun bir dizin olduğunu ifade eder.
Başında c işareti bunun özel karakter tabanlı bir dosya olduğunu ifade eder. /dev/console gibi.
Başında b işareti bunun blok tabanlı aygıt dosyası olduğunu ifade eder. /dev/sda2 gibi.
Başında l işareti bunun bir sembolik bağlantı dosyası olduğunu ifade eder. log.pcap -> /var/log gibi.
Başında p işareti bunun bir özel isimlendirilmiş pipe dosyası olduğunu ifade eder.
Yazının ilk başlarında listelediğimiz dosya ve dizinlerin erişim yetkilerini inceleyelim ve hangi kullanıcıları temsil ettiğine bakalım. Dosya ve dizinlerin başlarında bulunan erişim yetkilerini, rwx-rwx-rwx gibi üçerli gruplar halinde düşünmeliyiz.
( Örnek, –rwx–rwx–rwx )
rwx : Birinci grup dosya sahibinin yetkilerini belirtir.
rwx : İkinci grup dosya sahibiyle aynı grupta bulunan kullanıcıların yetkilerini belirtir.
rwx : Üçüncü grup diğer ( genel ) kullanıcıların yetkilerini belirtir.

Okuma, Yazma ve Çalıştırma Yetkileri

Dosya ve dizinler üzerindeki yetki kontrolleri temel olarak aşağıdaki bitler üzerinden kontrol edilir.
r : Okuma yetkisi ( read )
w : Yazma yetkisi ( write )
x : Çalıştırma yetkisi ( execute )
Örnek bir dosya üzerindeki erişim yetkilerini ve diğer bilgilerin ne anlama geldiğini tek tek inceleyelim.
-rw-r--r-- 1 ali ali 52K Apr 30 12:03 test
rw- : Dosya sahibinin okuma ve yazma yetkisi var.
r– : Dosya sahibiyle aynı grupta bulunan kullanıcıların sadece okuma yetkisi var.
r– : Diğer ( genel ) kullanıcıların sadece okuma yetkisi var.
1 : Dosyaya bağlantı sayısını gösterir. Bu neredeyse hemen hemen 1 ‘dir. Komut : stat dosya_ismi
ali :
 Dosyanın sahibinin kim olduğunu belirtir.
ali : Dosyanın sahip olduğu grup ismini belirtir.
52K : Dosyanın boyutunu belirtir.
Apr 30 12:03 : Dosyanın oluşturulma tarihi ve saatini belirtir.
test : Dosyanın ismini belirtir.
Sık sık karşılaşacağınız dosyaların erişim yetkileriyle ilgili birkaç örnek yapalım ve ne anlama geldiklerini inceleyelim.
-rwx-rwx-rwx : Bu dosyayı tüm herkes okuyabilir, yazabilir ve çalıştırabilir. Tehlikeli !
rwx—— : 
Bu dosyayı sadece dosya sahibi okuyabilir, yazabilir ve çalıştırabilir. Diğer tüm kullanıcılara dosya tamamen kapalıdır.
-rwx-rwx— : Bu dosyayı dosya sahibi ve dosya sahibiyle aynı grupta bulunan kullanıcılar okuyabilir, yazabilir ve çalıştırabilir. Diğer kullanıcılara dosya tamamen kapalıdır.
-rw—x–x : Bu dosyayı dosya sahibi okuyabilir ve yazabilir. Dosya sahibiyle aynı grupta bulunan kullanıcılar sadece çalıştırabilir. Diğer kullanıcılar sadece çalıştırabilir.
-r–r—– : Bu dosyayı, dosya sahibi ile dosya sahibiyle aynı grupta bulunan kullanıcılar okuyabilir. Diğer kullanıcılar için dosya tamamen kapalıdır.
——-rwx : Bu dosya, dosyanın sahibi ve dosya sahibiyle aynı grupta bulunan kullanıcılar için tamamen kapalıdır. Diğer kullanıcıların okuma, yazma ve çalıştırma izinleri vardır.
———- : Bu dosya tamamen tüm kullanıcılara kapalıdır. Root kullanıcısı hariç .
Sistem yöneticisi ( root ) dosya ve dizinlerin erişim yetkilerini istediği gibi değiştirebilmektedir. Aşağıdaki chmod komutu ile kullanabileceğimiz erişim yetkilerine bakalım.
u : dosya ya da dizinin sahibi
g : dosya ya da dizin sahibiyle aynı gruptaki kullanıcılar
o : diğer kullanıcılar
a : herkes
+ : yetki ekleme
– : yetki çıkarma
= : yetki eşitleme
r : okuma yetkisi
w : yazma yetkisi
x : çalıştırma yetkisi
s : suid biti
t : sticky bit

Dosya Yetkilerini Değiştirmek

Aşağıda örnek olarak test adlı bir dosyamız var ve erişim yetkileri aşağıdaki gibidir. Biz bu dosyanın erişim yetkilerini istediğimiz gibi değiştirebiliriz tabi root kullanıcısıysak.
root# ls -lh test

-rw-r--r-- 1 ali ali 52K Apr 30 12:03 test
Yukarıdaki dosyanın erişim yetkilerini değiştirelim. Örneğin, dosyanın sahibi hariç diğer tüm kullanıcılar için dosya kapalı olsun. Daha sonra ali kullanıcısına ait olan test adlı dosyaya osman kullanıcısı içerisine birşeyler yazmayı denediği zaman aşağıdaki gibi “permission” hatası ile karşılaşacaktır.
root# chmod go-rwx test

-rwx------ 1 ali ali 52K Apr 30 12:03 test

osman# echo "Birşeyler yazalım" >> test

Permission denied

osman# cat test

Permission denied

osman# rm test

Permission denied


Aşağıdaki test adlı dosyaya sahibi ile birlikte diğer tüm kullanıcıların erişim yetkisi olarak sadece okuma yetkisi olsun, diğer yazma ve çalıştırma yetkileri olmasın. Bunu yapmak için aşağıdaki komutu kullanabiliriz. Aşağıdaki komut ile şunu demiş oluyoruz, a-rwx tüm herkesin erişim yetkilerini kaldır, a+r ile tüm kullanıcılara sadece okuma yetkisi ver.
root# chmod a-rwx,a+r test

-r--r--r-- 1 ali ali 52K Apr 30 12:03 test
Yukarıdaki parametrelerin aynısı sadece daha pratik. Aşağıdaki komut ile yukarıdaki anlattığım konunun aynısını yapabiliriz.
root# chmod a=r test

-r--r--r-- 1 ali ali 52K Apr 30 12:03 test

Aşağıdaki test adlı dosyayı sahibi ile birlikte tüm herkesin erişimine kapatalım. Aşağıdaki dosyaya herhangi bir kullanıcı okuyamaz,yazamaz ve çalıştıramaz. Sistem yöneticisi ( root ) hariç.
root# chmod a-rwx test

Bir dizinin üzerindeki tüm kullanıcıların çalıştırma yetkisini kaldırmak isterseniz aşağıdaki komut kullanılabilir.
root# chmod a-x dizin_ismi
Mesela, test adlı dosyanın tüm yetkilerini kaldırıp sadece okuma ve yazma yetkilerini tanımlayalım. Bunu yapmak için aşağıdaki birinci komut kullanılabilir. Aşağıdaki ikinci komut ise bir nevi aynı görevi görmektedir. Aynı zamanda = parametresi sadece verdiğiniz erişim yetkisini tüm herkese eşit bir şekilde tanımlar, ekstra bir özelliği yoktur.
root# chmod a-rwx,a+rw test

-rw-rw-rw- 1 ali ali 52K Apr 30 12:03 test

root# chmod a=rw test

-rw-rw-rw- 1 ali ali 52K Apr 30 12:03 test
Aşağıdaki test adlı dosyayı diğer kullanıcılar için okuma,yazma ve çalıştırma yetkilerini kaldıralım.
root# chmod o-rwx test

-rwxrwx--- 1 ali ali 52K Apr 30 12:03 test
Dosyanın sahibine bütün erişim yetkilerini verelim.
root# chmod u+rwx test

Aynı şekilde = parametresi ile bir örnek daha yapalım. Aşağıdaki birinci komutu kullanarak herkese tüm erişim yetkilerini verelim, daha sonra ikinci komutu kullanarak herkese sadece okuma yetkisi verelim.
root# chmod a+rwx test

-rwxrwxrwx 1 ali ali 52K Apr 30 12:03 test

root# chmod a=r test

-r--r--r-- 1 ali ali 52K Apr 30 12:03 test

Bir dizin altındaki tüm dosyaların erişim yetkilerini değiştirmek isterseniz -R parametresini kullanabilirsiniz. Aşağıdaki komutu kullanarak deneme adlı dizin içerisinde bulunan tüm dosyalara herkes için okuma yetkisi verelim.
root# chmod -R a+r deneme

root# ls -lh deneme/

-rw-r--r-- 1 root root 0 Jun 15 02:13 dosya
-rw-r--r-- 1 root root 0 Jun 15 02:14 log
-rw-r--r-- 1 root root 0 Jun 15 02:13 test

Bir dosyayı root kullanıcısı dahil tüm kullanıcıların silinmesini engellemek isterseniz aşağıdaki komutu kullanabilirsiniz.
root# touch test

root# chattr +i test

root# rm test

rm: cannot remove ‘test’: Operation not permitted


Yukarıdaki uyguladığımız komutu geri almak istersek yani root kullanıcısı dahil tüm kullanıcıların test adlı dosyayı silmesini istiyorsanız aşağıdaki komutu kullanabilisiniz.
root# chattr -i test

root# rm test
Diğer kullanıcıların erişim yetkilerine dokunmadan dosya sahibiyle aynı grupta bulunan kullanıcıların okuma,yazma ve çalıştırma yetkilerini kaldıralım.
root# chmod g-rwx test

-rwx---rwx 1 ali ali 52K Apr 30 12:03 test
Kullandığımız chmod komutunun bir diğer güzel özelliği ise bir dosyanın yetkilerini başka bir dosyaya aktarabilmesidir. Örneğin, test adlı dosyanın tüm erişim yetkilerini deneme adlı dosyaya otomatik olarak aktarsın.
root# chmod --reference=test deneme

root# ls -lh test deneme

-rwx---rwx 1 ali ali 52K Apr 30 12:03 test
-rwx---rwx 1 ali ali 49K Jun 14 09:03 deneme


Daha fazla bilgi için.
root# man chmod

Özel Dosya İzinleri

Standart okuma, yazma ve çalıştırma yetki bitleri haricinde SUID, SGID ve Sticky bit olmak üzere 3 farklı bit daha bulunmaktadır.
SUID ( Set USER ID ) Yetkisi : Dosyayı çalıştıran kim olursa olsun, dosya sahibinin yetkileri ile çalışmak üzere izin verir. ( Örnek password programı. )
SGID ( Set GROUP ID ) Yetkisi : SUID ‘e benzir bir izindir. Dosyanın ( programın ) kimin çalıştırıldığına bakılmaksızın grup yetkileri ile çalıştırılmasına izin verir.
Sticky Bit Yetkisi : Bu izin, ilgili dosyayı sahibinden başka biri tarafından silinememesini sağlar. Paylaşımlı dizinlerde bulunan dosyalar için önemli bir ayardır. ( Örnek /tmp dizini. )
Tagged with: chmodchmod komutu kullanımıchmod komutu linuxchmod nasıl kullanılırchmod ne işe yarardizin ve dosyaların erişim yetkilerini ayarlamakdosya izinlerini değiştirmekdosya ve dizin yetkilerinin değiştirilmesilinux sistemlerde dosya izinleri değiştirmek

FreeBSD Genel Komutlar CHMOD

 

FreeBSD Genel Komutlar Kılavuzu​



HEDEF

chmod -- dosya modlarını değiştir

ÖZET
chmod [-fhv] [-R [-H | -L | -P]] mod dosyası ...

TARİF
Chmod yardımcı programı, listelenen dosyaların dosya modu bitlerini şu şekilde değiştirir:
işlenen mod tarafından belirtilir.

Seçenekler aşağıdaki gibidir:

FreeBSD 🎱 Güvenlik Olayı🔑 Denetimi🔐

 

Bölüm 18. Güvenlik Olayı Denetimi​


18.1. Özet​

FreeBSD işletim sistemi, güvenlik olayı denetimi için destek içerir. Olay denetimi, oturum açmalar, yapılandırma değişiklikleri ve dosya ve ağ erişimi dahil olmak üzere güvenlikle ilgili çeşitli sistem olaylarının güvenilir, ayrıntılı ve yapılandırılabilir günlüğe kaydedilmesini destekler. Bu günlük kayıtları, canlı sistem izleme, izinsiz giriş tespiti ve ölüm sonrası analiz için paha biçilmez olabilir. FreeBSD, Sun'ın™ yayınladığı Temel Güvenlik Modülü (BSM) Uygulama Programlama Arabirimi'ni (API) ve dosya biçimini uygular ve Solaris™ ve Mac OS® X denetim uygulamalarıyla birlikte çalışabilir.
Bu bölüm, olay denetiminin yüklenmesi ve yapılandırılması üzerine odaklanmaktadır. Denetim ilkelerini açıklar ve örnek bir denetim yapılandırması sağlar.
Bu bölümü okuduktan sonra şunları bileceksiniz:
  • Olay denetiminin ne olduğu ve nasıl çalıştığı.
  • Kullanıcılar ve işlemler için FreeBSD'de olay denetimi nasıl yapılandırılır.
  • Denetim azaltma ve gözden geçirme araçlarını kullanarak denetim izinin gözden geçirilmesi.
Bu bölümü okumadan önce şunları yapmalısınız:
Denetim tesisinin bilinen bazı sınırlamaları vardır. Güvenlikle ilgili tüm sistem olayları denetlenebilir değildir ve Xorg tabanlı görüntü yöneticileri ve üçüncü taraf daemon'lar gibi bazı oturum açma mekanizmaları, kullanıcı oturum açma oturumları için denetimi düzgün yapılandırmaz.
Güvenlik olayı denetleme tesisi, sistem etkinliğinin çok ayrıntılı günlüklerini oluşturabilir. Meşgul bir sistemde, iz dosyası verileri yüksek ayrıntı için yapılandırıldığında çok büyük olabilir ve bazı yapılandırmalarda haftada gigabaytları aşabilir. Yöneticiler, yüksek hacimli denetim yapılandırmalarıyla ilişkili disk alanı gereksinimlerini dikkate almalıdır. Örneğin, denetim dosya sistemi dolduğunda diğer dosya sistemlerinin etkilenmemesi için bir dosya sisteminin /var/audit dizinine ayrılması istenebilir.

18.2. Temel Şartlar​

Aşağıdaki terimler güvenlik olayı denetimi ile ilgilidir:
  • event: denetlenebilir olay, denetim alt sistemi kullanılarak günlüğe kaydedilebilen herhangi bir olaydır. Güvenlikle ilgili olaylara örnek olarak bir dosyanın oluşturulması, ağ bağlantısının oluşturulması veya kullanıcının oturum açması verilebilir. Olaylar ya "atfedilebilir", yani kimliği doğrulanmış bir kullanıcıya kadar izlenebilir ya da "ilişkilendirilemez". İlişkilendirilemeyen olaylara örnek olarak, hatalı parola denemeleri gibi oturum açma işleminde kimlik doğrulamasından önce meydana gelen tüm olaylar verilebilir.
  • class: seçim ifadelerinde kullanılan adlandırılmış ilgili olaylar kümesi. Yaygın olarak kullanılan olay sınıfları arasında "dosya oluşturma" (fc), "exec" (ex) ve "login_logout" (lo) bulunur.
  • record: bir güvenlik olayını açıklayan bir denetim günlüğü girişi. Kayıtlar bir kayıt olay türü, eylemi gerçekleştiren konu (kullanıcı) hakkındaki bilgiler, tarih ve saat bilgileri, herhangi bir nesne veya bağımsız değişken hakkında bilgi ve bir başarı veya başarısızlık durumu içerir.
  • trail: güvenlik olaylarını açıklayan bir dizi denetim kaydından oluşan bir günlük dosyası. İzler, tamamlanan zaman olaylarına göre kabaca kronolojik sıradadır. Yalnızca yetkili süreçlerin denetim izine kayıt yapmasına izin verilir.
  • selection expression: olayları eşleştirmek için kullanılan öneklerin ve denetim olay sınıfı adlarının listesini içeren bir dize.
  • Ön seçim: Sistemin hangi olayların yöneticiyi ilgilendirdiğini belirlediği süreç. Ön seçim yapılandırması, hangi kullanıcıların hangi olay sınıflarının denetleneceğini belirlemek için bir dizi seçim ifadesinin yanı sıra hem kimliği doğrulanmış hem de kimliği doğrulanmamış işlemlere uygulanan genel ayarları kullanır.
  • azaltma: Mevcut denetim izlerinden gelen kayıtların koruma, yazdırma veya analiz için seçildiği süreç. Aynı şekilde, istenmeyen denetim kayıtlarının denetim izinden kaldırıldığı süreç. Azaltmayı kullanarak, yöneticiler denetim verilerinin korunmasına yönelik ilkeler uygulayabilir. Örneğin, ayrıntılı denetim izleri bir ay boyunca saklanabilir, ancak bundan sonra, arşivleme amacıyla yalnızca oturum açma bilgilerini korumak için izler azaltılabilir.

18.3. Denetim Yapılandırması​

Olay denetimi için kullanıcı alanı desteği, temel FreeBSD işletim sisteminin bir parçası olarak yüklenir. Çekirdek desteği varsayılan olarak GENEL çekirdekte kullanılabilir ve auditd(8) /etc/rc.conf dosyasına aşağıdaki satır eklenerek etkinleştirilebilir:
auditd_enable="YES"
Ardından, denetim cinini başlatın:
# service auditd start

Özel bir çekirdek derlemeyi tercih eden kullanıcılar, özel çekirdek yapılandırma dosyalarına aşağıdaki satırı eklemelidir:
options AUDIT

18.3.1. Etkinlik Seçimi İfadeleri​

Seçim ifadeleri, hangi olayların denetlenmesi gerektiğini belirlemek için denetim yapılandırmasında çeşitli yerlerde kullanılır. İfadeler, eşleşecek olay sınıflarının bir listesini içerir. Seçim ifadeleri soldan sağa doğru değerlendirilir ve iki ifade biri diğerine eklenerek birleştirilir.
Varsayılan Denetim Olay Sınıfları, varsayılan denetim olay sınıflarını özetler:
Tablo 1. Varsayılan Denetim Olay Sınıfları
Sınıf AdıTarifEylem
tümtümTüm etkinlik sınıflarını eşleştirin.
Acarkimlik doğrulama ve yetkilendirme
reklamyönetimselBir bütün olarak sistem üzerinde gerçekleştirilen idari eylemler.
ApuygulamaUygulama tanımlı eylem.
Cldosya kapatmaSistem çağrısına yapılan çağrıları denetleme.close
ExExecDenetim programının yürütülmesi. Komut satırı bağımsız değişkenlerinin ve ortam değişkenlerinin denetimi, ayarın ve parametreleri kullanılarak audit_control(5) aracılığıyla denetlenir.argvenvvpolicy
Fadosya özniteliği erişimistat(1) ve pathconf(2) gibi nesne özniteliklerinin erişimini denetleyin.
Fcdosya oluşturmaSonuç olarak bir dosyanın oluşturulduğu olayları denetleyin.
Fddosya silmeDosya silme işleminin gerçekleştiği olayları denetleyin.
Fmdosya özniteliğini değiştirmechown(8)chflags(1) ve flock(2) gibi dosya özniteliği değişikliğinin gerçekleştiği olayları denetleyin.
Frokunan dosyaVerilerin okunduğu veya dosyaların okunmak üzere açıldığı denetim olayları.
Fwdosya yazmaVerilerin yazıldığı veya dosyaların yazıldığı veya değiştirildiği olayları denetleyin.
ıoioctlSistem çağrısının kullanımını denetleme.ioctl
ıpıpcPOSIX boruları ve System V IPC işlemleri dahil olmak üzere çeşitli Süreçler Arası İletişim biçimlerini denetleyin.
iştelogin_logoutlogin(1) ve logout(1) olaylarını denetleyin.
Naatfedilemezİlişkilendirilemeyen olayları denetleyin.
Hayırgeçersiz sınıfHiçbir denetim olayını eşleştirmeyin.
Ntconnect(2) ve accept(2) gibi ağ eylemleriyle ilgili olayları denetleyin.
otbaşkaÇeşitli olayları denetleyin.
kişisel bilgisayarişlemexec(3) ve exit(3) gibi denetim süreci işlemleri.
Bu denetim olay sınıfları, audit_class ve audit_event yapılandırma dosyaları değiştirilerek özelleştirilebilir.
Her denetim olay sınıfı, başarılı/başarısız işlemlerin eşleşip eşleşmediğini ve girdinin sınıf ve tür için eşleşme ekleyip eklemediğini veya kaldırdığını belirten bir önekle birleştirilebilir. Denetim Olay Sınıfları için önekler, kullanılabilir önekleri özetler:
Tablo 2. Denetim Olay Sınıfları için Önekler
ÖnekEylem
+Bu sınıftaki başarılı olayları denetleyin.
-Bu sınıftaki başarısız olayları denetleyin.
^Audit neither successful nor failed events in this class.
^+Do not audit successful events in this class.
^-Do not audit failed events in this class.
If no prefix is present, both successful and failed instances of the event will be audited.
The following example selection string selects both successful and failed login/logout events, but only successful execution events:
lo,+ex

18.3.2. Configuration Files​

The following configuration files for security event auditing are found in /etc/security:
  • audit_class: contains the definitions of the audit classes.
  • audit_control: controls aspects of the audit subsystem, such as default audit classes, minimum disk space to leave on the audit log volume, and maximum audit trail size.
  • audit_event: textual names and descriptions of system audit events and a list of which classes each event is in.
  • audit_user: user-specific audit requirements to be combined with the global defaults at login.
  • audit_warn: a customizable shell script used by auditd(8) to generate warning messages in exceptional situations, such as when space for audit records is running low or when the audit trail file has been rotated.
Audit configuration files should be edited and maintained carefully, as errors in configuration may result in improper logging of events.
In most cases, administrators will only need to modify audit_control and audit_user. The first file controls system-wide audit properties and policies and the second file may be used to fine-tune auditing by user.

18.3.2.1. The audit_control File​

A number of defaults for the audit subsystem are specified in audit_control:
dir:/var/audit
dist:eek:ff
flags:lo,aa
minfree:5
naflags:lo,aa
policy:cnt,argv
filesz:2M
expire-after:10M
The entry is used to set one or more directories where audit logs will be stored. If more than one directory entry appears, they will be used in order as they fill. It is common to configure audit so that audit logs are stored on a dedicated file system, in order to prevent interference between the audit subsystem and other subsystems if the file system fills.dir
If the field is set to or , hard links will be created to all trail files in /var/audit/dist.distonyes
The field sets the system-wide default preselection mask for attributable events. In the example above, successful and failed login/logout events as well as authentication and authorization are audited for all users.flags
The entry defines the minimum percentage of free space for the file system where the audit trail is stored.minfree
The entry specifies audit classes to be audited for non-attributed events, such as the login/logout process and authentication and authorization.naflags
Girdi, denetim davranışının çeşitli yönlerini denetleyen ilke bayraklarının virgülle ayrılmış bir listesini belirtir. Bu, bir denetim hatasına rağmen sistemin çalışmaya devam etmesi gerektiğini gösterir (bu bayrak şiddetle tavsiye edilir). Diğer bayrak, execve(2) sistem çağrısına yönelik komut satırı bağımsız değişkenlerinin komut yürütmenin bir parçası olarak denetlenmesine neden olur.policycntargv
Girdi, iz dosyasını otomatik olarak sonlandırmadan ve döndürmeden önce denetim izinin en büyük boyutunu belirtir. Otomatik günlük döndürmeyi devre dışı bırakır değeri. İstenen dosya boyutu minimum 512k değerinin altındaysa, yok sayılır ve bir günlük mesajı oluşturulur.filesz0
Bu alan, denetim günlüğü dosyalarının süresinin ne zaman dolacağını ve kaldırılacağını belirtir.expire-after

18.3.2.2. audit_user Dosyası​

Yönetici, audit_user'daki belirli kullanıcılar için daha fazla denetim gereksinimi belirtebilir. Her satır, bir kullanıcı için denetimi iki alan aracılığıyla yapılandırır: alan, kullanıcı için her zaman denetlenmesi gereken bir olaylar kümesini belirtir ve alan, kullanıcı için asla denetlenmemesi gereken bir olaylar kümesini belirtir.alwaysauditneveraudit
Aşağıdaki örnek girişler login/logout olaylarını ve başarılı komut yürütmeyi denetliyor ve dosya oluşturma ve başarılı komut yürütme için . Varsayılan audit_control ile kullanılırsa, girdi gereksizdir ve login/logout olayları da .rootwwwlorootwww
root:lo,+ex:no
www:fc,+ex:no

18.4. Denetim İzleriyle Çalışma​

Denetim izleri BSM ikili biçiminde depolandığından, bu izleri değiştirmek veya metne dönüştürmek için çeşitli yerleşik araçlar kullanılabilir. İz dosyalarını basit bir metin biçimine dönüştürmek için . Denetim izi dosyasını çözümleme, arşivleme veya yazdırma amacıyla azaltmak için . Bu yardımcı program, olay türü, olay sınıfı, kullanıcı, olayın tarihi veya saati ve üzerinde işlem yapılan dosya yolu veya nesne dahil olmak üzere çeşitli seçim parametrelerini destekler.prauditauditreduce
Örneğin, belirtilen bir denetim günlüğünün tüm içeriğini düz metin olarak dökmek için:
# praudit /var/audit/AUDITFILE

Burada AUDITFILE, dökümü yapılacak denetim günlüğüdür.
Denetim izleri, belirteçlerden oluşan ve her satırda bir tane olmak üzere sırayla yazdırılan bir dizi denetim kaydından oluşur. Her belirteç, (denetim kaydı üstbilgisi) veya (ad aramasından bir dosya yolu) gibi belirli bir türdedir. Aşağıda bir olay örneği verilmiştir:prauditheaderpathexecve
header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133
Bu denetim, komutun çalıştırıldığı başarılı bir çağrıyı temsil eder. Belirteç, kabuk tarafından çekirdeğe sunulan işlenmiş komut satırını içerir. Belirteç, çekirdek tarafından aranan yürütülebilir dosyanın yolunu tutar. Belirteç ikili dosyayı açıklar ve dosya modunu içerir. Belirteç, denetim kullanıcı kimliğini, etkin kullanıcı kimliğini ve grup kimliğini, gerçek kullanıcı kimliğini ve grup kimliğini, işlem kimliğini, oturum kimliğini, bağlantı noktası kimliğini ve oturum açma adresini depolar. Denetim kullanıcı kimliğinin ve gerçek kullanıcı kimliğinin, kullanıcı bu komutu çalıştırmadan önce hesaba geçiş yaptığı için farklılık gösterdiğine, ancak kimliği doğrulanmış özgün kullanıcı kullanılarak denetlendiğine dikkat edin. Belirteç, başarılı yürütmeyi gösterir ve kaydı sonuçlandırır.execvefinger dougexec argpathattributesubjectrobertrootreturntrailer
XML çıktı formatı da desteklenir ve dahil edilerek seçilebilir.-x
Denetim günlükleri çok büyük olabileceğinden, . Bu örnek, AUDITFILE'da depolanan kullanıcı için üretilen tüm denetim kayıtlarını seçer:auditreducetrhodes
# auditreduce -u trhodes /var/audit/AUDITFILE | praudit

Grubun üyeleri /var/audit içindeki denetim izlerini okuma iznine sahiptir. Varsayılan olarak, bu grup boştur, bu nedenle yalnızca kullanıcı denetim izlerini okuyabilir. Denetim gözden geçirme hakları için temsilci seçmek üzere gruba kullanıcılar eklenebilir. Denetim günlüğü içeriğini izleme yeteneği, kullanıcıların ve işlemlerin davranışları hakkında önemli bilgiler sağladığından, denetim gözden geçirme haklarının devredilmesinin dikkatle gerçekleştirilmesi önerilir.auditrootaudit

18.4.1. Denetim Boruları Kullanılarak Canlı İzleme​

Denetim boruları, uygulamaların canlı denetim kaydı akışına dokunmasına izin veren sahte cihazları klonlamaktadır. Bu, öncelikle izinsiz giriş tespiti ve sistem izleme uygulamalarının yazarlarının ilgisini çekmektedir. Ancak, denetim kanalı aygıtı, yöneticinin denetim izi dosyası sahipliğiyle veya olay akışını kesintiye uğratan günlük döndürmesiyle ilgili sorunlarla karşılaşmadan canlı izlemeye izin vermesi için uygun bir yoldur. Canlı denetim olayı akışını izlemek için:
# praudit /dev/auditpipe

Varsayılan olarak, denetim kanalı cihaz düğümlerine yalnızca kullanıcı erişebilir. Bunları grubun üyeleri tarafından erişilebilir kılmak için, /etc/devfs.rules dosyasına bir kural ekleyin:rootauditdevfs
add path 'auditpipe*' mode 0440 group audit
Devfs dosya sistemini yapılandırma hakkında daha fazla bilgi için devfs.rules(5) dosyasına bakın.
Her denetim olayının görüntülenmesinin daha fazla denetim olayının oluşturulmasıyla sonuçlandığı denetim olayı geri bildirim döngüleri oluşturmak kolaydır. Örneğin, tüm ağ G/Ç denetlenirse ve bir SSH oturumundan çalıştırılırsa, yazdırılan her olay başka bir olay oluşturacağından, yüksek oranda sürekli bir denetim olayları akışı oluşturulur. Bu nedenle, ince taneli G/Ç denetimi olmayan oturumlardan bir denetim borusu cihazında çalıştırılması önerilir.prauditpraudit

18.4.2. Denetim İzi Dosyalarını Döndürme ve Sıkıştırma​

Denetim izleri çekirdek tarafından yazılır ve denetim daemon, auditd(8) tarafından yönetilir. Yöneticiler, denetim günlüklerini doğrudan döndürmek için newsyslog.conf(5) veya diğer araçları kullanmaya çalışmamalıdır. Bunun yerine, denetimi kapatmak, denetim sistemini yeniden yapılandırmak ve günlük döndürme gerçekleştirmek için kullanılmalıdır. Aşağıdaki komut, audit daemon'un yeni bir denetim günlüğü oluşturmasına ve çekirdeğe yeni günlüğü kullanmaya geçmesini bildirmesine neden olur. Eski günlük sonlandırılır ve yeniden adlandırılır, bu noktada yönetici tarafından manipüle edilebilir:audit
# audit -n

auditd(8) şu anda çalışmıyorsa, bu komut başarısız olur ve bir hata iletisi üretilir.
/etc/crontab dizinine aşağıdaki satırın eklenmesi bu rotasyonu her on iki saatte bir zamanlar:
0 */12 * * * root /usr/sbin/audit -n
Değişiklik, /etc/crontab kaydedildikten sonra geçerli olacaktır.
Denetim izi dosyasının dosya boyutuna göre otomatik olarak döndürülmesi, audit_control Dosyası'nda açıklandığı gibi audit_control kullanılarak mümkündür.filesz
Denetim izi dosyaları çok büyük olabileceğinden, denetim arka plan programı tarafından kapatıldıktan sonra izlerin sıkıştırılması veya başka bir şekilde arşivlenmesi genellikle istenir. audit_warn komut dosyası, döndürüldüklerinde denetim izlerinin temiz bir şekilde sonlandırılması da dahil olmak üzere denetimle ilgili çeşitli olaylar için özelleştirilmiş işlemler gerçekleştirmek üzere kullanılabilir. Örneğin, denetim izlerini kapanışta sıkıştırmak için /etc/security/audit_warn aşağıdakiler eklenebilir:
#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
gzip -9 $2
fi
Diğer arşivleme etkinlikleri, iz dosyalarını merkezi bir sunucuya kopyalamayı, eski iz dosyalarını silmeyi veya gereksiz kayıtları kaldırmak için denetim izini azaltmayı içerebilir. Bu komut dosyası yalnızca denetim izi dosyaları temiz bir şekilde sonlandırıldığında çalıştırılır. Uygun olmayan bir kapatmanın ardından sonlandırılmamış parkurlarda çalıştırılmayacaktır.

FreeBSD Bölüm 4. Uygulamaları Yükleme

   Bölüm 4. Uygulamaları Yükleme: Paketler ve Bağlantı Noktaları 4.1.  özet FreeBSD, temel sistemin bir parçası olarak zengin bir sistem ara...