Apache HTTP Sunucusu Sürüm 2.4

Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4 > Modüller

# Apache Modülü mod_log_forensic

Açıklama: | Sunucuya yapılan isteklerin adli günlük kayıtlarının tutulması
Durum: | Eklenti
Modül Betimleyici: | log_forensic_module
Kaynak Dosyası: | mod_log_forensic.c
Uyumluluk: | 2.1 sürümünden beri `mod_unique_id` gerekmemektedir.

### Özet

Bu modül istemci isteklerinin adli günlük kayıtlarının tutulmasını sağlar. Günlük kaydı bir istek işlenmeden önce ve sonra olmak üzere iki kere yapılır, böylece günlükte her istek için iki girdi bulunur. Adli günlükleyici çok sıkı kurallara tabidir, yani:

- Biçem sabittir. Günlük kayıt biçemi çalışma anında değiştirilemez.
- Veriyi yazamadığı takdirde çocuk süreç beklemeksizin çıkar ve (`CoreDumpDirectory` yapılandırmasına bağlı olarak) bir core dosyası dökümler.

Dağıtımın `support` dizininde bulunan `check_forensic` betiği adli günlük dosyalarının değerlendirilmesinde yardımcı olabilir.

### Konular

- Adli Günlük Biçemi
- Güvenlik Kaygıları

### Yönergeler

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### Ayrıca bakınız:

- Apache Günlük Dosyaları
- `mod_log_config`

## Adli Günlük Biçemi

Her istek günlüğe iki defa kaydedilir. İlki, işlemin başlangıcında (yani, başlıklar alındıktan hemen sonra), ikincisi ise istek işlem gördükten sonra normal günlüklemenin yapıldığı sırada yapılır.

Her isteği betimlemek için eşsiz bir istek kimliği atanır. Bu adli kimliğin normal günlüğe de yazılması istenirse bu `%{forensic-id}n` biçem dizgesi ile yapılabilir. `mod_unique_id` kullanılıyorsa, onun ürettiği kimlik kullanılır.

İlk satır günlüğe, adli kimliği, istek satırını ve alınan tüm başlıkları boru karakterleri (`|`) ile ayrılmış olarak kaydeder. Aşağıda bir örneğe yer verilmiştir (hepsi bir satırdadır):

`+yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif HTTP/1.1|Host:localhost%3a8080|User-Agent:Mozilla/5.0 (X11; U; Linux i686; en-US; rv%3a1.6) Gecko/20040216 Firefox/0.8|Accept:image/png, etc...`

Başlangıçtaki artı imi bu günlük satırının istekle ilgili ilk günlük kaydı olduğunu belirtir. İkinci satırda bunun yerini bir eksi imi alır:

`-yQtJf8CoAB4AAFNXBIEAAAAA`

`check_forensic` betiği komut satırı argümanı olarak günlük dosyasının ismini alır. Bu `+`/`-` kimlik çiftlerine bakarak tamamlanmamış istekler varsa bunlar hakkında uyarır.

## Güvenlik Kaygıları

Günlük dosyarının kaydedildiği dizine sunucuyu başlatan kullanıcı dışında diğer kullanıcılar tarafından yazılabiliyor olması halinde güvenliğinizden nasıl feragat etmiş olacağınız güvenlik ipuçları belgesinde açıklanmıştır.

Günlük dosyaları, `Authorization:` başlıklarının (parola içerebilen) içerikleri gibi hassas veriler içerebileceğinden bunların sunucuyu başlatan kullanıcıdan başkası tarafından okunamaması sağlanmış olmalıdır.

## ForensicLog Yönergesi

Açıklama: | Adli günlük için dosya ismini belirler.
Sözdizimi: | `ForensicLog dosya-adı|borulu-süreç`
Bağlam: | sunucu geneli, sanal konak
Durum: | Eklenti
Modül: | mod_log_forensic

`ForensicLog` yönergesi adli inceleme için sunucuya yapılan istekleri günlüğe kaydetmekte kullanılır. Her günlük girdisine, normal `CustomLog` yönergesinde kullanılarak istekle ilişkilendirilebilen eşsiz bir kimlik atanır. `mod_log_forensic` modülü, aktarım günlüğünün biçem dizgesinde `%{forensic-id}n` şeklinde kullanılmak üzere `forensic-id` adı verilen bir dizgecik oluşturur.

Günlüğün yazılacağı yeri belirleyen argüman şu iki değerden birini alabilir:

dosya-adı
  `ServerRoot` yönergesinin değerine göreli bir dosya ismi.
borulu-süreç
  "`|`" boru karakteri ile öncelenmiş olarak günlük bilgisini standart girdisinden kabul edecek sürecin ismi (veya komut satırı). Program adının `ServerRoot` yönergesinin değerine göre belirtildiği varsayılır.

  ### Güvenlik:

  Bir borulu süreç kullanılmışsa, süreç `httpd`’yi başlatan kullanıcı tarafından başlatılacaktır. Sunucu root tarafından başlatılıyorsa bu root olacaktır; bu bakımdan günlük kaydını alacak programın güvenilir olması veya daha az yetkili bir kullanıcıya geçiş yapması önemlidir.

  ### Bilginize

  Dosya yolunu belirtirken tersbölü çizgisi kullanılan Unix dışı platformlarda bile yapılandırma dosyasında bu amaçla normal bölü çizgilerini kullanmaya özen gösterilmelidir.