Yardım Merkezi

DirectAdmin - Nginx Üzerinde Remote Port Loglatmak

Merhabalar,

Bu yazımızda DirectAdmin panel kurulu olan Liunx sunucumuz üzerinde (Web Servisi - Nginx) Remote Port yani Uzak Port loglatılabilmesi için gerçekleştirilmesi gereken işlemleri gözlemleyeceğiz.

Bu işlem BTK'nın artık sadece IP logunu yeterli bulmaması ve Remote Port / Destination Port bilgilerini talep etmesi sebebi ile gerekli bir işlemdir.

Öncelik ile sunucuya SSH erişimi gerçekleştiriniz.

Ardından aşağıdaki komut ile Nginx ayarlarının baz alındığı şablon dosyasının içerisine girelim;

nano /usr/local/directadmin/custombuild/configure/nginx_reverse/conf/nginx-defaults.conf

Bu dosya içerisinde, " log_format " ile başlayan satırı kaldırmalısınız.

Bu sayede nginx'in öntanımlı log_format ayarlarını zorlamasını engelleyerek kendi tanımladığımız log_format ayarlarının aktif edilmesini sağlamış oluyoruz.

İşlem ardından nginx-includes.conf dosyamızı düzenleyeceğiz, aşağıdaki komut ile dosya içeriğini düzenlemek için açalım;

nano /etc/nginx/nginx-includes.conf

Burada, Dosya içeriği boş olarak gelecektir. Biz düzenlemelerimizi buraya ekleyeceğiz.

Aşağıdaki şekilde ekleme sağlıyoruz;

    log_format  bytes  '$remote_addr:$remote_port - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

Ardından Nginx konfigürasyonunda hata olup olmadığının tespiti için aşağıdaki komutu çalıştırıyoruz;

nginx -t

Komut çıktısı aşağıdaki gibi olacaktır;

root@server:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Bu bize konfigürasyonda herhangi bir hata olmadığını belirtiyor. Eğer konfigürasyonda bir hata mevcut ise, aşağıdaki komutlar ile konfigürasyon dosyalarını baştan oluşturabiliriz;

cd /usr/local/directadmin/custombuild/
./build rewrite_confs

Komutları ile tekrar derleyerek ardından Nginx konfigürasyonunda hata olup olmadığının tespiti için aşağıdaki komutu çalıştırıyoruz;

nginx -t

Komut çıktısı aşağıdaki gibi olacaktır;

root@server:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Bu bize konfigürasyonda herhangi bir hata olmadığını belirtiyor. 

Artık tek yapmamız gereken web servisimizi restart etmek, restart için aşağıdaki komutu kullanmalısınız;

service nginx restart

Bu işlemden sonra Web servisi artık logları tutarken loglamanın en başına IP Adresi : Remote Port bilgisi şeklinde girdi loglayacaktır. (Logları alanadı.log dosyadından değil, alanadı.bytes dosyasından takip etmelisiniz)

Örnek veri yolu aşağıdaki gibidir;

/var/log/nginx/domains/alanadi.com.bytes

İşlem öncesi örnek log;

1.1.1.1 - - [14/Dec/2021:15:16:22 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36" "-"

İşlem sonrası örnek log;

1.1.1.1:65181 - - [14/Dec/2021:15:16:22 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36" "-"

Nginx Loglamaları ile ilgili daha detaylı bilgi için buraya tıklayarak bilgi sayfasına ulaşabilirsiniz.

İyi Çalışmalar Dileriz.

Başka Bir Konu Araştırın
Bulduğunuz konu aradığınız sorulara cevap vermediyse yeni bir konu araştırın.