cPHulk, cPanel içinde otomatik olarak gelen, brute force (kaba kuvvet) ataklarına karşı sistemimizi koruyan bir güvenlik modülüdür.
Brute force nedir ?
Kimi kaynaklarda kaba kuvvet kimi kaynaklarda ise deneme yanılma saldırısı olarak geçen saldırı çeşididir. Bu saldırıda genellikle önceden hazırlanmış ve içinde çok farklı kombinasyonlarda ve çok fazla sayıda şifre üretilmiş olan wordlist’ler kullanılır. Bu wordlist’ler brute force saldırısı için özel tasarlanmış yazılımlar üzerinde kullanılarak, hedef sisteme belli periyotlarda farklı şifre kombinasyonları gönderir. Bu sayede doğru şifreyi tahmin etmeye dayalı bir metodoloji ile sisteme giriş yapılmasını hedefleyen saldırılar gerçekleşir.
cPHulk ise, bu brute force saldırılarını engellemeye çalışan bir güvenlik modülüdür. cPHulk ayarları içinde yapılacak bazı tanımlamalar ile ne gibi durumlarda IP adreslerinin engelleneceği belirlenebilir.
Öncelikle WHM panelde soldaki arama kısmına cPHulk yazarak modüle ulaşıyoruz. Burada bizi karşılayan ilk sekme “Configuration Settings” sekmesidir. Bu sekme altında, Username-based Protection, IP Address-based Protection, One-day Blocks, Login History ve Notifications başlıkları bulunmaktadır. Sırayla bu başlıklardan bahsedelim;
1 – Configuration SettingsUsername-based Protection (Kullanıcı adı tabanlı koruma)
Kullanıcı adı tabanlı koruma, kullanıcı hesapları için giriş denemelerini izler. Yapılandırılmış seçeneklere göre kullanıcı hesaplarını kilitler. Bu seçenek devre dışı bırakıldığında kullanıcı hesapları artık kilitlenmez, ancak mevcut hesap kilitleri kalır. Bu sekme altındaki seçenekler şunlardır;
- Brute Force Protection Period (in minutes) : Yanlış giriş denemeleri sonucu kilitlenen kullanıcı hesaplarının ne kadar süre ile (dakika cinsinden) kilitli kalacağı yani korumada tutulacağı belirlenir.
- Maximum Failures by Account : Kaç adet yanlış giriş denemesinden sonra kullanıcı hesabının kilitleneceği belirlenir.
- Apply protection to local addresses only : Korumayı sadece yerel adresler için uygular.
- Apply protection to local and remote addresses : Korumayı hem yerel hem de uzak adresler için uygular.
- Allow username protection to lock the “root” user. : Bu seçenek aktif edildiğinde, brute force korumasının, root hesabını dahi kilitlemesine izin verilmiş olur.
IP Address-based Protection (IP Adresi tabanlı koruma)
IP Adresi tabanlı koruma aynı IP adreslerinden sürekli olarak gelen giriş denemelerini izler. Bu seçenek devre dışı bırakıldığında yeni gelen denemeler takip edilmez ancak daha önceden bloklanmış IP adresleri engellenmeye devam eder. Buradaki seçenekler şunlardır;
- IP Address-based Brute Force Protection Period (in minutes) : Yanlış giriş denemesi yapan bir IP adresinin ne kadar süre ile (dakika cinsinden) bloke edileceği belirlenir.
- Maximum Failures per IP Address : Bir IP adresinden kaç adet yanlış giriş denemesi yapıldıktan sonra bu IP adresinin bloke edileceği belirlenir.
- Command to Run When an IP Address Triggers Brute Force Protection : Bir IP adresi tarafından brute force koruması tetiklendiğinde, çalıştırılacak olan SSH komutu belirlenir.
- Block IP addresses at the firewall level if they trigger brute force protection : Bu seçenek seçildiğinde, bir IP adresi tarafından brute force koruması tetiklenirse, o IP adresi firewall seviyesinde engellenir.
One-day Blocks (1 gün boyunca engelleme)
Bu başlık, IP adreslerinin ne gibi durumlarda 1 günlük bloke edileceğinin yapılandırıldığı kısımdır. Buradaki seçenekler;
- Maximum Failures per IP Address before the IP Address is Blocked for One Day : IP adresi başına kaç adet yanlış giriş denemesinden sonra o IP adresinin 1 gün boyunca bloke edileceği belirlenir.
- Command to Run When an IP Address Triggers a One-Day Block : Bir IP adresi tarafından 1 günlük bloke opsiyonu tetiklendiği zaman çalıştırılacak SSH komutu belirlenir.
- Block IP addresses at the firewall level if they trigger a one-day block : Bir IP adresi tarafından 1 günlük bloke tetiklendiği zaman o IP adresi firewall seviyesinde engellenir.
Login History (Login geçmişi)
- Duration for Retaining Failed Logins (in minutes) : Bu seçenek, başarısız oturumları saklama süresini (dakika cinsinden) belirler.
Notifications
Bu başlık altında, hangi olası durumlarda bilgilendirme mesajları gönderileceği belirlenir. Buradaki seçenekler;
- Send a notification upon successful root login when the IP address is not on the whitelist : Bir IP adresi whitelist üzerinde tanımlı değilken başarılı root girişi yaptığında bilgilendirme gönderir.
- Send a notification upon successful root login when the IP address is not on the whitelist, but from a known netblock : Whitelist üzerinde tanımlı olmayan ancak bilinen bir adres bloğunda olan bir IP adresi başarılı root girişi yaptığında bilgilendirme gönderir.
- Send a notification when the system detects a brute force user : Sistem tarafından bir kullanıcı hesabında brute force saldırısı tespit edildiğinde bilgilendirme gönderir.
2 – Whitelist Management
Herhangi bir engellemeye takılmasını istemediğimiz IP adreslerini buraya kaydederiz. Buraya tanımlı IP adresleri tamamen güvenilir durumda olup bloke edilmezler.
3 – Blacklist Management
Blacklist altına tanımlanan IP adresleri tamamen engellenir ve listeden çıkarılana kadar hiçbir şekilde sisteme giriş gerçekleştiremez.
4 – History Reports
Bu sekme, cPHulk işlemlerine ait logların tutulduğu sekmedir. Bu sekme altında Select a Report:kısmından bir rapor türü seçerek kontrollerimizi yapabiliriz. Buradaki seçenekler şunlardır;
- Failed Logins : Başarısız olan giriş denemeleri listelenir.
- Blocked Users : Engellenmiş kullanıcı hesapları listelenir.
- Blocked IP Addresses : Engellenmiş IP adresleri listelenir.
- One-day Blocks : 1 günlük şekilde engellenmiş IP adresleri listelenir.
NOT : Eğer istenirse Remove Blocks and Clear Reports butonunu kullanarak herhangi bir rapor listesini temizleyebilir ve bloke edilmiş IP adreslerinin engelleri kaldırılabilir.