Ip adreslerini dosyadan ayırmak

grep -Eo ‘([0-9]{1,3}\.){3}[0-9]{1,3}’ maillog | sort | uniq

Apache SSL açıklarını kapatın

Son dönemde ortaya çıkan openssl ve zayıf şifreleme methodlarını kapatın.Özellikle bankalardan sanal pos talep etmeden önce sunucunuzda uygulamanızı tavsiye ederim.

Centos sunucular için

/etc/httpd/conf.d/ssl.conf dosyasının en altına aşağıdaki satırları yerleştirin.Httpd servisini yeniden başlatın.Nispeten güncellenmemiş sunucular için yum update yapmanızı öneriririm.

<IfModule mod_ssl.c>
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv2 -SSLv3
</IfModule>
<IfModule mod_ssl.c>
#SSLCipherSuite HIGH:!aNULL:!MD5:!RC4-SHA:!RC4
#SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RS
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5::!RC4
</IfModule>

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.

Ekim 2016 sonrası linux sunucularda zaman güncellemesi ayarları

Redhat/Centos/Fedora:

sudo yum clean all

sudo yum -y install tzdata*2016g*

sudo zdump -c 2016,2017 -v “Europe/Istanbul”

sudo date

Debian ve türevleri:

sudo apt-get update

sudo apt-get install tzdata tzdata-java

sudo zdump -c 2016,2017 -v “Europe/Istanbul”

sudo date

Kaynak: http://www.musabyardim.com/linux-timezone-degisikligi/

Kaynak :http://www.teknomavi.com/sistem-yonetimi/30-ekim-2016-turkiye-gmt3-timezone-degisikligi-icin-linux-ve-windows-guncellemeleri-ile-php-ayarlari/

Php 5.6 phpmailer mail gönderme problemi

Php 5.6 versiyonunda phpmailer tabanlı scriptleri çalışmaz hale geldi.Problem yaşayanlar için  alttaki metin faydalı olabilir.

php 5.6 versiyonunda phpmailer scriptiniz çalışmaz çünkü;

  1. php 5.6 versiyonundan itibaren ,bağlantı kurulan servisteki ssl sertifkasının geçrli olup olmadığını kontrol etmesi
  2. phpmailer bağlantı kurduğu eposta sunucusunda tls encryption olduğunu farkettiği anda otomatikman tls doğrulamayı aktif ediyor.bu esnada karşıda geçersiz veya self signed bir sertifika varsa anlaşma sağlanamıyor.

phpmailer bu durum için 5.2.10 sürümünde bunun için bir istisna hazırlamış.alttaki linkte sertifika doğrulaması ile ilgili parametleri alt betikte iptal edebiliyorsunuz.

https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

bu arada phpmailer sürümü eski olanlarda bu özellik olmayabilir ama zaten şu genel güvenkik açığı sebebiyle phpmailerinizi son sürüme güncellesiniz bence iyi olur.

Ayrıca durumunuza göre aşağıdaki smtpautotls ayarını da değiştirmeniz meseleyi çözüme kavuşturabilir.
https://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_SMTPAutoTLS

Proftpd Unable to connect to FTP: unknown configuration directive

Size çok tuhaf gelebilecek, pek yaygın olmayan, aslında bizim gibi farklı dil ve bölgesel ayarları kullanan ülkelerde çıkma olasılığı yüksek problemlerden biridir.

Bir linux hosting sunucunuza ftp bağlantısı yapılabilmesi için haliyle bir ftp sunucu kurarsınız ki bu genelde proftp veya pureftp olur.

Ftp servisi çalışmadığında yapacağınız ilk şey proftp hata loguna bakmak olur.Proftp paketiyle beraberinde gelen proftpd.conf dosyasının hemen hemen her satırı hata vermektedir.Satırları kapatıp başınızdan atabilirsiniz veya okumaya devam edip soruna kökten bir çözüm bulabilirsiniz.

Diğer yandan sunucunuzda her paket kurduğunuzda veya bir binary veya perl scripti çalıştırdığınızda ekran şuna benzer hatalar çıkmakta.Son zamanlarda peydahlanan bu hatayı görmezden gelmektesiniz.

 

perl: warning: Falling back to the standard locale (“C”).

locale: Cannot set LC_CTYPE to default locale: No such file or directory

perl: warning: Setting locale failed.

Locale sözünü gördüğünüzde sizi duyar gibiyim.Evet o problem.Yılların eskitemediği,bitti sandığınız ama asla bitmeyecek olan dil probleminin ta kendisi.Bitmedi.sanırım bitmeyecekte.

Bütün konu,bilgisayarın ilk zamanlarında oluşturulan standartlar,GNU C,POSIX ASCII ve utf8 karakter seti ,farklı diller,yerelleştirme ve hız ile ilgili.Merak eden nette okur araştırır.

Siz bunları merak etmiyorsanız kısaca çözüme geçin

/etc/xinetd.d/ftp_psa dosyasını açın.

ftp{} bölümünde şu satırları ekleyin.

“env = LC_ALL=C LANG=C”

Ardından xinetd servisini yeniden başlatın.Artık proftp ve tüm modülleriyle mutlu mesut yaşayabilirsiniz.


 

Linux-Destek Hosting Paketleri

Aşağıdaki micrositede Linux hosting ,wordpress ve opencart hosting paketlerini,bayi paketlerini ve vds sunucuların özelliklerini ve fiyatlarını görebilirsiniz.

Screenshot from 2015-07-23 15:28:50

Centos 7 de root şifresi değiştirme resetleme

Centos yeni versiyonda alışkanlık sahibi sistem adminlerini biraz sıkacak gibi görünüyor.Systemd servis yönetimi,ifconfig’in ortalarda olmayışı network kartlarına ip verirken kullanılan “setup” komutunun olmayışı ve bir de boot esnasında root parolası resetleme gibi.

Centos 7 sunucunuzu öncelikle reboot ederek kernel seçeneklerinde aşağıdaki adımları uygulayın.

1.Kernel listesinde.Öntanımlı olan kernel üzerinde veya istediğiniz başka bir kernel üzerindeyken ‘e’ butonuna tıklayın.

centos7-forgot-root-password

 

 

 

 

 

 

 

 

2. Gelen yeni ekranda (ki zaten bu kısmı hatırlarsanız “single” veya rw init=/bin/bash yazıyorduk.Aşağıdaki görüntüde şu değişikliği yapın.

ro ‘yu silerek

rw init=/sysroot/bin/sh

yazın.

centos7-forgot-root-password-1

 

 

 

 

 

 

 

 

centos7-forgot-root-password-2

 

 

 

 

 

 

 

 

3.Aynı ekranda CTRL ve X butonuna beraber basarak bu ayarlarla sistemin açılmasını sağlayın.

4.Açılan ekran biraz yabancı gelebilir.Bu ekranda

chroot /sysroot

yazarak /sysroot altına bağlanmış root filesysteme girmiş olacaksınız.

Bu aşamadan sonra passwd root komutuyla şifreniz değiştirebilir akabinde sunucuyu resetleyebilirsiniz.

Önemli Not

SELinux kullananlar ise şifreyi değiştirdikten sonra şu komutu uygulayarak dosya sistemini tekrar etiketlemeli.

touch /.autorelabel

Şifreniz resetlenmiştir.

Ek bilgi

SELinux Nedir Harici link Türkçe : http://www.cozumpark.com/blogs/linux_unix/archive/2013/02/10/security-enhanced-linux-selinux.aspx

SElinuxDosya sistemini tekrar etiketlemek Harici link İngilizce : https://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-fsrelabel.html

Kaynak:

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

rsync de farklı ssh portu kullanımı

rsync -avz -e “ssh -p hedef ssh server port numarası” kullanıcıadı@uzaksunucuip:/uzaktaki/klasör/ /lokal/sunucunuzdaki klasör/