Yazılar

Sitenizi saldırgan botlardan engelleyin

Linux tabanlı herhangi bir web sunucunuzda websitenize atak yapan saldırgan botları engellemek için aşağıdaki adımları uygulayın.

/etc/rc.local dosyanızı açın.İçine uygun bi yere şu satırları yerleştirin.

iptables -F

for x in $(cat /root/bad_bot.txt)
do
iptables -A INPUT -p tcp -s $x –dport 80 -j DROP
iptables -A INPUT -p tcp -s $x –dport 443 -j DROP
done

daha sonra kaydedip çıkın.bu sefer yukarıdaki döngüde satır satır okumasını istediğimiz dosyayı oluşturun

nano /root/bad_bot.txt

bad_bot.txt dosyası

 

Son olarak /etc/rc.local olarak çağırdığınızda ve her sunucu açılışında bu ip adreslerinin web sunucu portlarınıza erişimi engellenecektir.

Apache unable to open logs hatası

Apache web servisini resetlerken “unable to open logs” hatası alıyorsanız bu apache sistem kullanıcısının en fazla açabileceği dosya sayısını aşmışsınız manasına gelir ki sizi tebrik ederiz.Hosting işini büyütmüşsünüz.Artık öntanımlı değerlerler size yetmiyor.

Debian/Ubuntu türevi bir hosting sunucunuz varsa;

/etc/apache2/envvars dosyanızda aşağıdaki parametreyi değiştiriniz.

APACHE_ULIMIT_MAX_FILES=’ulimit -n 131072′

Centos/Redhat tabanlı bir sistem kullanıyorsanız

/usr/sbin/apachectl dosyanızı en sevdiğiniz editorle açınız.

ULIMIT_MAX_FILES= satırını # ile kapatın ve alttaki satır ile yeni tanımlamayı yapın.

ulimit -n 131072

Değerleri deneysel olarak değiştirebilirsiniz.131072 kesmedi 1,5 katına çıkarın mesela.

Benzeri olarak alternatif çözüm nispeten eski sistemlerde init.d altındaki startup scriptleri de olabilir.Örneğin /etc/init.d/http dosyasında ulimit satırını başlangıçta olacak şekilde yerleştirebilirsiniz.

Apache fastcgi can’t apply process slot for error hatası

fb0b45015a

mod_fcgid Apache 2 webserverlarda yaygın olarak kullanılan bir modüldür.Php scriptlerini belli bir kullanıcının çalıştırmasına olanak tanır.

öntanımlı olarak belli bir limiti olan bu modülün limitleri sınıra dayandığında websiteler oldukça yavaş çalışmaya başlar,zaman zaman “500 Internal Server error” hatası alırsınız.

yapılması gereken;

Redhat ve türevlerinde;

/etc/httpd/conf.d/fcgid.conf

Debian,Ubuntu türevlerinde

/etc/apache2/mods-enabled/fcgid.conf

dosyasını açıp

FcgidMaxProcesses değerini arttırmaktır.

Daha sonra Apache web servisini yeniden başlatmalısınız.

debian ve ubuntu için : service apache2 restart

redhat ve centos 6.x için /etc/init.d/httpd restart veya service httpd restart

7.x versiyonları için systemctl httpd restart (geriye dönük uyumluluk için  service httpd restart komutu da 7.x versiyonlarda çalışmaktadır.)

Web Sunucu Güvenliği İpuçları-II

Php destekli bir apache web sunucunda kapatılması gerekli php fonksiyonları

mail,system, dl, array_compare, array_user_key_compare, passthru, cat, popen, proc_close, proc_get_status, proc_nice, proc_open,escapeshellcmd,escapeshellarg, show_source, posix_mkfifo, ini_restore, mysql_list_dbs, get_current_user, getmyuid,pconnect, link, symlink, fin, exec, fileread, shell_exec, pcntl_exec, leak, apache_child_terminate, chown, posix_kill, posix_setpgid, posix_setsid, posix_setuid, proc_terminate, syslog, fpassthru, execute, shell, chgrp, stream_select, passthru, socket_select, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, virtual, eval, allow_url_fopen, pconnect, p_connect,posix_getpwuid,fileowner,symlink,readlink