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.