Merhabalar,
Bu yazımızda DirectAdmin panel kurulu olan Linux sunucumuz üzerinde Remote Port yani Uzak Port loglayabilmesi 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 httpd.conf dosyamızı düzenleyeceğiz, aşağıdaki komut ile dosya içeriğini düzenlemek için açalım;
nano /etc/httpd/conf/httpd.conf
Burada, düzenlememiz gereken alan "LogFormat" alanı olacaktır.
Düzenleme öncesi log satırları aşağıdaki gibidir;
<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat " %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat " %a %l %u %t \"%r\" %>s %O" common
LogFormat " %O %I" bytes
LogFormat " %a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog /var/log/httpd/access_log common
</IfModule>
Biz burada, User Agent geçen 2 alana müdahale edeceğiz.
Şöyle ki, IP:Remote_Port bilgisinin loglayabilmesi için %a yani uzak IP belirtilen alanın hemen önüne " [%h]:%{remote}p " değişkenini ekliyoruz.
Satırların yeni hali aşağıdaki gibi olmalıdır;
<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat "[%h]:%{remote}p %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat " %a %l %u %t \"%r\" %>s %O" common
LogFormat " %O %I" bytes
LogFormat "[%h]:%{remote}p %a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog /var/log/httpd/access_log common
</IfModule>
Ardından çalışan web servisini aşağıdaki komut ile kontrol edelim;
lsof -i tcp:80
Bu komut bize 80 portunda çalışan servisi iletecektir.
Artık tek yapmamız gereken web servisimizi restart etmek, Eğer Web servisiniz httpd - Apache ise restart için aşağıdaki komutu kullanmalısınız;
service httpd restart
Eğer Web servisiniz lshttpd - Litespeed ise restart için aşağıdaki komutu kullanmalısınız;
service lsws 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.
İşlem öncesi örnek log;
1.1.1.1 - - [09/Dec/2021:07:30:14 +0300] "GET /wp-content/plugins/easy-table-of-contents/vendor/icomoon/style.min.css?ver=2.0.17 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]:58105 1.1.1.1 - - [09/Dec/2021:07:30:14 +0300] "GET /wp-content/plugins/easy-table-of-contents/vendor/icomoon/style.min.css?ver=2.0.17 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"
Apache Loglamaları ile ilgili daha detaylı bilgi için buraya tıklayarak bilgi sayfasına ulaşabilirsiniz.
İyi Çalışmalar Dileriz.