Hangi hizmetler aktif, hepsi gerekli mi?
Aktif olduğumuz servisleri görmek için netstat komutu. Örneğin bir SSH bağlantısından:
root @ server1: ~ # netstat -aBize tüm aktif hizmetleri ve alıcıları veya bağlantıları dinlemeyi gösterir, burada bazılarını görüyoruz. Apaçi (http) web sayfalarına hizmet vermek, smtp e-posta gönderme hizmeti, ftp dosyaları yüklemek için.
Gereksizse veya çok fazla bellek veya cpu kaplıyorsa bir hizmeti durdurabilirsiniz, bunun için tüketimi şu komutla görebiliriz:
root @ server1: ~ # ps aux --sort işlemci zamanı
Burada görebiliriz MySQL, antivirüs Clamav, Y güvercin açık kaynaklı bir IMAP ve POP3 sunucusudur. Burada daha önce tarafımızdan yürütülen işlemi görebiliriz, tarih ve saatleri içeren BAŞLAT sütununu karıştırmamak önemlidir, işlemin hangi tarih veya saatte başladığını gösterir.
Ardından bir Mysql örnek hizmetini durdurmak için:
/etc/init.d/mysql yeniden başlat /etc/init.d/mysql stop /etc/init.d/mysql startLinux sunucu güvenliğinde komut kullanımına örnek olarak, en sık görülen hizmet reddi saldırılarını tespit etmek ve önlemek için bazı komutları kullanacağız.
A hizmet reddi saldırısı (DoS saldırısı) veya Dağıtılmış hizmet reddi saldırıları (DDoS saldırısı) bir sunucu kaynağını kullanıcıları için kullanılamaz hale getirme girişimidir.
1) Saldırıyı tespit edin
Ana belirti, sunucunun çok yavaşlaması veya "hizmetlerin kapalı olması", oluşturulan aşırı bağlantı nedeniyle çalışmayı durdurmaları, sunucunun yanıt verememesidir.
kullanacağız "netstat" komutu.
Bize 80 numaralı bağlantı noktasındaki aktif bağlantıları gösterir.
root @ server1: ~ # netstat -an | grep: 80 | çeşit
Burada sunucumuzu sorgulayan aktif iplerden birinin 5000 bağlantıya sahip olduğunu görüyoruz, normalin ip başına yaklaşık 20 veya 30 bağlantı olacağı söylenebilir. Kaynakların tüketilmesi nedeniyle bir DDOS saldırısından şüphelenebiliriz.
2) İlk iş, saldırganın ipini Iptables ile engellemek olacaktır.
iptables yöneticinin ağ üzerinde dolaşan trafik için filtreleme ilkeleri tanımlayabileceği kullanıcı alanı aracının adıdır.
root @ server1: ~ # iptables -I INPUT -s 74,6,73,22 -j DROPBununla çöküyor.
3) Apache için mod_evasive kurun
Kaçınma Modu çok güçlü ve özelleştirilebilir web sunucumuza ek bir güvenlik düzeyi sağlamaktan sorumlu olan bir Apache modülüdür.
Örnekte bunu Centos için yapacağız, ancak Apache ile herhangi bir Linux'a uyarlanabilir.
Bağımlılıkları ssh'den yüklüyoruz
root @ server1: ~ # cd / usr / src root @ server1: ~ # wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz root @ server1: ~ # tar zxvf mod_evasive_1.10.1 .tar.gz root @ server1: ~ # cd mod_evasive root @ server1: ~ # apxs -cia mod_evasive20.c # Apache 1.3 için komut apxs -cia mod_evasive.c root @ server1 olacaktır: ~ # vi / etc / httpd / conf /httpd.conf # kök yapılandırmasını düzenleriz @ server1: ~ # service httpd restart # Apache'yi yeniden başlatıyoruz/ etc / httpd / conf / içindehttpd.conf aşağıdaki satırlar eklenmelidir.
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300Önemli parametreler
- DOSPageCount: bir kullanıcının IP'si bloke edilmeden önce saniyede yapabileceği bağlantı sayısı.
- DOSSsiteSayısı: bir kullanıcının engellenmeden önce kaç istekte bulunabileceği.
- DOSBlockingPeriod: bu IP'nin engellenmesinin saniye cinsinden ne kadar süreceği.