CentOS 6 VPS Güvenliğini Fail2Ban ile Sağlama


Bilişim teknolojilerinde son zamanlarda dünya genelinde en fazla üyeye sahip olan sitelere yapılan saldırılarla beraber güvenlik çok büyük önem arz eder hale gelmiştir. Güvenliğin sağlanması için site sahiplerinin bütün imkanları değerlendirmesi gerekir. Hesapların saldırıya uğraması veya veritabanlarının saldırılarla ele geçirilmesi güvenlik noktasında sorunlar yaşatabilmektedir. Sizlere yazımızda ise Fail2Ban yazılımını kullanarak CenTOS 6 VPS güvenliği sağlayabilme noktasında bilgi vereceğiz. Bu işlemin yapılacağı sırada temel amaç ise; sizin sunucunuza birden fazla erişmeye çalışmakta olan her seferinde başarısız sonuç alan IP adreslerini engellemektir.

Neye İhtiyacımız Var?

CentOS 6 VPS güvenliğinizi Fail2 Ban kullanarak gerçekleştirme noktasında ihtiyacınız olan bazı şeyler bulunmaktadır. İhtiyacınız olan şeyler ise şu şekildedir:

  • SSH root erişimine sahip olma
  • CentOS 6 işletim sistemine sahip olan bir VPS

CentOS 6 VPS’ye Fail2Ban Kurma

CentOS’a VPS kurabilmeniz için ilk olarak SSH bağlantınızı kurmanız gerekmektedir. CentOS’un klasik dizinlerinde Fail2Ban için herhangi bir dize bulunmamaktadır. Epel paketini kurabilme adına çalıştırmanız gereken Epel paketi ise şu şekildedir:

  • rpm – Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Bu dizeleri gerçekleştirdikten sonra ise fail2ban paketinde standart yum install komutunu çalıştırma yoluna gitmelisiniz. Bu komutlar şu şekildedir:

  • yum install fail2ban

Belirtmiş olduğumuz bu adımları takip etmekte olan kişiler Fail2Ban sunucularını kurabilmektedir.

Yerel Yapılandırma Dosyasını Oluşturma

Gerekli kurulum işlemlerinizi yerine getirdikten sonra ise Fail2Ban yapılandırma ayarlarını yapmanız gerekmektedir. Bu yapılandırma ayarlarını yapacağınız sırada; /etc/fail2ban/jail.conf dosyasında saklamaktadır. Fakat siz bu dosyada bir değişim yapmamaya özellikle dikkat etmelisiniz. Yamaları veya sistem dosyalarını yükleyeceğiniz evrede ise bu dosyaya yazarak değişikliklerin hepsini kaydedebilmeniz mümkündür. Yeni bir yerel yapılandırma dosyası oluşturmak isteyen kişiler ise şu komutu girmesi gerekmektedir;

  • cp/etc/fail2ban/jail.conf/etc/fail2ban/jail.local

Bu komutu girdikten sonra ise Jail.local dosyasında istediğiniz değişimleri yerine getirebilme adına gerekli düzenlemeleri yapma yoluna gidebilirsiniz. Kullanabileceğiniz bazı temel servisler ise bu dosyanın içerisinde yer almaktadır.

Fail2Ban’in Yapılandırmasını Yapmak

Hangi metin düzenleyicisini kullanıyorsanız onunla dosyanızı açmalısınız. Nano ile dosyada düzenlemeler yapmak isteyen kişiler şu komut dizesini kullanma yoluna gitmesi gerekmektedir:

  • nano/etc/fail2ban/jail.local

Bu komut dizelerini girdikten sonra açılacak olan sayfada ilk sıralarda karşınıza şu komut dizeleri çıkacaktır.

“#
# WARNING: heavily refactored in 0.9.0 release. Please review and
# customize settings for your setup.
#
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
# [DEFAULT]
# bantime = 3600
#
# [sshd]
# enabled = true
#
# See jail.conf(5) man page for more information

# Comments: use ‘#’ for comment lines and ‘;’ (following a space) for inline comments
#
# WARNING: heavily refactored in 0.9.0 release. Please review and
# customize settings for your setup.
#
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
# [DEFAULT]
# bantime = 3600
#
# [sshd]
# enabled = true
#
# See jail.conf(5) man page for more information

# Comments: use ‘#’ for comment lines and ‘;’ (following a space) for inline comments”

Karşınıza çıkmakta olan bu sayfada bazı ayarları değiştirebilme yoluna gidebilirsiniz. Değiştirmeniz gereken bazı ayarlar şu şekildedir:

  • Bantime: Bu ayar sunucunuzda yer almakta olan bir güvenlik duvarını ihlal etmiş olan kullanıcının sunucunuzdan ne kadar engelleneceğini gösterebilmektedir. Genellikle varsayılan değer olarak kullanılan değer 10 dakika seviyesindedir. Siz isteğinize göre bunu birkaç saate kadar uzatabilmeniz mümkündür.
  • İgnoreip: Sizin kendi kullandığınız IP adresinin engellenmesi gibi durumlar da söz konusu olabilmektedir. IP adresinizin engellenmesini önleyebilme adına burada kendi kullandığınız IP adresinizi de yazabilirsiniz.
  • Findtime: Bu süre kullanıcıların giriş yapabilme adına sahip olduğu süreyi göstermektedir. Bu varsayılan sürenin ise 10 dakika ayarlı olduğunu söyleyebiliriz.
  • Maxretry: Bir kullanıcının engellenme gibi durumlar yaşanmadan önce kaç defa başarısız olabileceğine karar vermenizi sağlamakta olan bölümdür.

Yapacağınız değişiklikleri belirtmiş olduğumuz alanlarda tamamladıktan sonra ctrl + x tuş kombinasyonlarıyla yapılandırmalarınızı kaydedebilirsiniz. Mac kullanıcıları yapılandırmalarında cmd + x kombinasyonlarını tercihe etmesi gerekmektedir. Yapılan değişimlerin tam olarak kaydedilebilmesi adına şu komut dosyasını çalıştırmalısınız:

  • Service fail2ban restart

Bu komut dosyası Fail2Ban servisini tekrar başlatır ve bu tekrar başlatmada bütün değişim ayarlarınız kaydedilmiştir.

Language »