Linuxta tüm dosyalarda bul değiştir komutu

Örnek olarak tüm eposta hesaplarının spamassassin config dosyalarında puan değişikliği aşağıdaki şekilde yapılabilir.

find . -name user_prefs -exec sed -i ‘s/required_score 0.0/required_score 5.0/g’ {} \;

Iptables Geoip Eklentisinin Kurulumu ve Kullanımı

Belli bir ülkeden gelen ip trafiğini kısıtlamak veya engellemek için kullanabileceğiniz bir iptables eklentisidir.Eklenti standart Linux distrolarında eklenmiş,hazır halde değildir.Ayrıca bu eklentiyi kullanabilmeniz için güncel bir geoip veritabanına ihtiyaç duyarsınız.Bu veritabanını da maxmind.com’a üyelik yaparak ücretsiz kullanabileceksiniz.

Debian veya Ubuntu türevleri için öncelikle gerekli paketleri sisteminize kurun.

apt-get install iptables-dev xtables-addons-common libtext-csv-xs-perl pkg-config

Redhat ve Centos için ise;

yum install gcc-c++ make automake kernel-devel-`uname -r` wget unzip iptables-devel perl-Text-CSV_XS

Daha sonrasında addons paketini proje sitesinden indirelim.(Not: Dkms modulu olarak veya src paketi olarak da debian/ubuntu depolarından indirebilirsiniz.)

Örneğin (sizin için uygun versiyon işletim sisteminizin kerneline göre farklılık gösterebilir.)

wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/xtables-addons-2.3.tar.xz

Sıkıştırılmaz paketi açıp  paketi derliyoruz.

# tar xf xtables-addons-2.3.tar.xz
# cd xtables-addons-2.3
# ./configure
# make
# make install

Kullanacağımız eklenti maxmind’ın eski yapıdaki (Geoip Legacy Databases) veritabanını destekliyor.Öyle görünüyor ki maxmind eski yapıdaki veritabanın da indirme linkini kaldırmış.Yine de Geoip2 veritabanını bir script yazarak eski yapıya dönüştürmek mümkün görünüyor.Nette biraz araştırınca şöyle bir websitesiyle karşılaşıyoruz.

https://mailfud.org/geoip-legacy/

Websitesin sahibi, güncel v2 db yi alıp eski tip db ye sadece çevirmekle kalmamış aynı zamanda bunu sık sık güncelliyor da.

Iptables için uygun olan geoip db linki aşağıdadır.

https://mailfud.org/geoip-legacy/GeoIP-legacy.csv.gz

Linkten dosyayı download ettikten sonra sunucunzda bir yere gz dosyayı açın.

Açılan dosyayı önceden derlenmiş kodda hazır halde olan xt_geoip_build aracı ile iptables’a uygun hale getiriyoruz.

./xt_geoip_build GeoIP-legacy.csv

Ardından gerekli klasörü oluşturup bu db yi içine kopyalıyoruz.

mkdir -p /usr/share/xt_geoip/

cp -r {BE,LE} /usr/share/xt_geoip/

Artık dilediğimiz geoip tabanlı iptables kurallarını yazabiliriz.Son olarak dilerseniz ülke kodlarına https://en.wikipedia.org/wiki/ISO_3166-1 sayfasından bakabilirsiniz.

Örnek olarak Hindistan ve USA ‘dan gelen tüm istekleri engelleyebiliriz.

iptables -I INPUT -m geoip –src-cc IN,US -j DROP

Veya sadece TR dışındaki tüm talepleri engelleyebiliriz.

iptables -I INPUT -m geoip ! –src-cc TR -j DROP

Bir başka örnek ise sadece tcp port 587 e gelen istekleri Türkiye içi ağlarla sınırlandırabiliriz.

iptables -A INPUT -p tcp -m geoip ! –src-cc TR –dport 587 -j DROP

Uygulama Alananları ve Karşılaşabileceğiniz Problemler…

Bu eklentilerin kurulumunu Ubuntu 16.04 ve Ubuntu 14.04 de gerçekleştirdim.Esasen 14.04 de gerekliydi ve hem kaynaktan derleme hem de dkms şeklinde linux çekirdeğine ilavede sorun yaşadım.Sorun yaşamamın sebebini xtables-addons paketindeki başka eklentilerin kullanmakta olduğum kernel ile uyumsuz olduğunu (daha açık olarak belirtmek gerekirse Linux 3.16 da bu bazı eklentilerin desteğinin yeni başladığını) okudum.O yüzden bazı eklentileri mconfig dosyasından iptal ettip.Çünkü bana özellikle geoip modulu gerekiyordu.

Örnek mconfig dosyam aşağıdadır.Karşılıkları boş olanlar sistemde derlenemedi malesef.

# -*- Makefile -*-
#
build_ACCOUNT=m
build_CHAOS=
build_DELUDE=m
build_DHCPMAC=m
build_DNETMAP=m
build_ECHO=m
build_IPMARK=m
build_LOGMARK=m
build_RAWNAT=m
build_STEAL=m
build_SYSRQ=m
build_TARPIT=
build_condition=m
build_fuzzy=m
build_geoip=m
build_gradm=m
build_iface=m
build_ipp2p=m
build_ipv4options=m
build_length2=m
build_lscan=m
build_pknock=
build_psd=m
build_quota2=m

Ancak Ubuntu 16.04 de bunlara hiç gerek duymadan dkms ile tümünü kernele eklemeyi başardım.

Geoip & Iptables kullanmaktaki amacım,mail sunucunun (postfix) email kullanıcı şifre doğrulaması yapılan portlarını kısıtlamak idi.

Tcp Port 25 i sadece email sunucularından gelen isteklere yanıt verir hale getirirken port 587 (submission) ve port 465’i (smtps) sadece TR içinde izin vermek amaç..

Her ne kadar “en mantıklı/iyi çözüm” olmasa da sunucuları brute force ataklarından ve şifresini çaldıran eposta kullanıcılarının başıma açtığı dertlerden kurtardı.

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>

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/


Notice: Undefined index: article_publisher in /var/www/vhosts/linux-destek.com/httpdocs/wp-content/plugins/all-in-one-schemaorg-rich-snippets/functions.php on line 959

Notice: Undefined index: article_publisher in /var/www/vhosts/linux-destek.com/httpdocs/wp-content/plugins/all-in-one-schemaorg-rich-snippets/functions.php on line 964

Apache SSL açığını ve zayıf şifreleme methodları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>

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.