İşte bir sunucuyu güvende tutmak için aklınızda bulundurmanız gereken birkaç temel adım.
1) Güçlü Sunucu Şifreleri
Şifrelerin brute force saldırılarına dayanacak kadar güçlü olmadığı takdirde, başka yöntemlerle sunucuyu güvence altına almanın bir anlamı yoktur. Aksi takdirde, dünyaya geniş açık olacaktır. Bu nedenle güçlü ve uzun alfasayısal şifrelerle çoklu karakterler kullanın. Şifre gücünü kontrol etmek için çevrim içi araçlar mevcuttur ve size güçlü bir şifre belirlemede rehberlik edebilir.
2) SSH'yi Güvenli Hale Getirme
SSH/Kabuk, Linux'ta uzaktan sunucuya bağlanmak için kullanılan bir uzaktan bağlantı aracıdır. SSH/Kabuk'u güvenli hale getirmek önemlidir çünkü saldırıları sınırlamak için bunun aracılığıyla yapılan saldırıları kısıtlamak önemlidir. Bunun için SSH paketlerini her zaman en son kararlı sürüme güncelleyin. SSH'yi güvence altına almanın diğer yolları şunlardır:
Tekerlek Kullanıcısı Kurulumu
Bu kurulum ile, istenen kullanıcı olarak sunucuya yalnızca giriş yapabilirsiniz. Bu işlemin arkasındaki fikir, Kök SSH girişini devre dışı bırakmak ve yeni bir kullanıcı oluşturmak ve yeni kullanıcıyı veya mevcut bir kullanıcıyı Tekerlek kullanıcı grubuna eklemektir. Bu sayede SSH yalnızca bu kullanıcı olarak bağlanır. İşte adımlar:
SSH yapılandırma dosyasını açın
nano /etc/ssh/sshd_config
PermitRootLogin'yi 'No' olarak ayarlayın
PermitRootLogin no
SSH'yi yeniden başlatın
/etc/init.d/sshd restart
Bu, Kök girişini devre dışı bırakacaktır. Lütfen şunu unutmayın: Eğer oturumu şimdi sonlandırırsanız, kök kullanıcı olarak giriş yapamazsınız. Şimdi, sadece aşağıdaki gibi yeni bir tekerlek kullanıcısı oluşturmanız gerekecek,
adduser <tekerlek_kullanıcı_adı>
Yeni bir kullanıcı eklemek gerekli değil, var olan bir kullanıcının tekerlek kullanıcısı olmasını istiyorsanız, yukarıdaki adımı atlayabilirsiniz. Şimdi WHM'e gidin ve kullanıcıyı tekerlek kullanıcı grubuna ekleyin.
WHM >> Güvenlik Merkezi >> Tekerlek Grubu Kullanıcılarını Yönet >> Kullanıcıyı seçin ve 'Gruba Ekle'ye tıklayın.
Şimdi bir tekerlek kullanıcısı eklenmiş oldu ve yalnızca belirli bir kullanıcı olarak SSH'ye giriş yapabilirsiniz ve oturum açtıktan sonra Kök'e geçiş yapabilirsiniz.
Anahtar tabanlı şifresiz giriş Kurulumu
Bu işlemin arkasındaki fikir, şifre kimlik doğrulamasını devre dışı bırakmak ve yalnızca Anahtar tabanlı kimlik doğrulaması ile SSH erişimine izin vermektir. Bunun için, sunucuya bağlanmak istediğiniz makinede bir SSH anahtarı oluşturmanız ve bu anahtarın genelini sunucunun yetkilendirilmiş anahtarlarına eklemeniz gerekmektedir.
SSH yapılandırma dosyasını açın
nano /etc/ssh/sshd_config
PasswordAuthentication parametresini 'no' olarak düzenleyin
PasswordAuthentication no
Bu, sunucuda şifre kimlik doğrulamasını devre dışı bırakacaktır.
Ana makinede (sunucuya bağlanmak istediğiniz sistem) SSH anahtarı oluşturun
ssh-keygen
Bu size oluşturulan anahtarı belirtmek için bir dosya soracaktır. 'Enter' tuşuna basarsanız, anahtar varsayılan olarak '/home/user/.ssh/id_rsa' konumuna yerleştirilir.
Ayrıca, yalnızca bir kez eklemeniz gereken istenen parolayı soracaktır. Ekran görüntüsüne aşağıdaki gibi bakabilirsiniz.
Anahtar oluşturulduktan sonra, sunucudaki yetkilendirilmiş anahtarlar dosyasına genel anahtarı eklemeniz gerekecektir. Bunun için SCP işlevselliğini kullanabilirsiniz.
scp -P portnumber ~/.ssh/id_rsa.pub [email protected]
Uzak sunucuya SSH ile bağlanın ve SSH kullanıcısının ev dizininde 'id_rsa.pub' dosyasını görebilirsiniz. Sadece anahtarı belirtilen dosyaya ' /root/.ssh/authorized_keys' kopyalayın-yapıştırın
cat id_rsa.pub >> /root/.ssh/authorized_keys
Bu sayede şifreler sorulmadan sunucuya giriş yapabileceksiniz ve yalnızca eklenen anahtara dayanacaksınız.
3) CPanel Güncelleme
Sistemi haftalık veya en azından aylık olarak güncellemek, sunucunuzu açıklıklardan ve hatalardan korumanın en iyi yoludur çünkü cPanel düzenli olarak hata düzeltmelerini yayınlamaktadır.
cPanel'i WHM üzerinden güncelleyebilirsiniz,
WHM >> cPanel >> En Son Sürüme Yükselt >> Yükseltmek için tıklayın
Bunu ayrıca Komut Satırı aracılığıyla da yapabilirsiniz
/scripts/upcp --force
4) CPanel ve WHM Erişimini Ayarlama
cPanel ve WHM'de oturum açtığınızda SSL tabanlı şifrelemeyi korumak her zaman en iyisidir. Bunun için şuraya gidin:
WHM >> Sunucu Yapılandırması >> Ayarları Ayarla >> Yönlendirme
Ayarları aşağıdaki ekran görüntüsünde gösterildiği gibi tutun.
Panel ve WHM erişim ayarlarını düzenlemek için en iyi uygulamalar:
- CPHulk Brute Force Korumasını Etkinleştirme CPHulk, sunucuyu Brute Force saldırılarına karşı korumak için yaygın olarak kullanılan bir araçtır. CPHulk'ü etkinleştirebilirsiniz:
WHM >> Güvenlik Merkezi >> cPHulk Brute Force Koruması.
- Apache ve PHP Güvenlik Ayarları Apache'yi kod enjeksiyonu gibi saldırılardan korumak için ModSecurity'yi WHM üzerinden etkinleştirebilirsiniz. ModSecurity yapılandırma dosyasında belirli kurallar tanımlanmıştır ve kurallara uymayan herhangi bir bağlantı engellenir. ModSecurity'yi şu şekilde yükleyebilirsiniz:
WHM >> Eklentiler >> Mod Güvenliği
suPHP'yi PHP işleyicisi olarak yapılandırın ve CGI komut dosyalarını kullanıcı yetkisiyle yürütmek için suEXEC'i etkinleştirin. suPHP ve suEXEC'i şu şekilde etkinleştirebilirsiniz:
WHM >> Hizmet Yapılandırması >> suEXEC
PHP işleyicisini suPHP olarak değiştirin, Apache suEXEC'i 'ON' olarak ayarlayın ve Yeni Yapılandırmayı Kaydet'e tıklayın.
Bu düzenlemeden sonra Apache'i yeniden başlatın service httpd restart
- Root Dışındaki Kullanıcılara Derleyici Erişimini Devre Dışı Bırakma Derleyici erişimini tüm kullanıcılardan devre dışı bırakabilir veya güvenilir kullanıcılar için etkinleştirebilirsiniz:
WHM >> Güvenlik Merkezi >> Derleyici Erişimi
- /Tmp Klasörünü Sıkılaştırma /tmp bölümünü nosuid seçeneğiyle bağlarsak, dosyanın kullanıcı hakları içinde yürütülmesi zorlanır. cPanel/WHM'nin bu iş için özel bir komut dosyası vardır ve komut dosyasını Komut Satırı aracılığıyla çalıştırabilirsiniz. İşte komut/komut:
/scripts/securetmp
- Güvenlik Duvarını Etkinleştirme Güvenlik duvarı kurmak, sunucuya istenmeyen tüm bağlantıları reddettiği için güvenlik açısından önemlidir. CSF (ConfigServer Güvenlik ve Güvenlik Duvarı), cPanel tarafından desteklenen ve WHM arayüzü tarafından yönetilebilen yaygın olarak kullanılan bir güvenlik duvarıdır.
CSF paketini indirin
wget https://download.configserver.com/csf.tgz Tar dosyasını açın
tar zxvf csf.tgz CSF yükleme dizinine değiştirin.
cd csf cPanel için yükleme betiğini çalıştırın
./install.cpanel.sh CSF hizmetini başlatın
/etc/init.d/csf start Kurulum yapılandırmasını test edin (Perl'in zaten yüklü olduğunu varsayarsak)
perl /usr/local/csf/bin/csftest.pl Testten sonra, CSF yapılandırmasında test bayrağını devre dışı bırakın
nano /etc/csf/csf.conf 'TESTING' bayrağını '0' olarak düzenleyin
TESTING = "0" CSF'yi yeniden başlatın
/etc/init.d/csf restart Artık CSF'ye WHM üzerinden erişebileceksiniz >> Eklentiler >> ConfigServer Güvenlik ve Güvenlik Duvarı
Bazı parametreleri değiştirmek için:
200'den fazla bağlantıya sahip her IP'yi engelleyin.
CT_LIMIT = “200” Bu IP'leri kalıcı olarak engelleyin
CT_PERMANENT = “1” IP engelleme süresi sınırını 1800 saniye olarak ayarlayın
CT_BLOCK_TIME = “1800” Bağlantı izleme aralığını 60 saniye olarak ayarlayın.
CT_INTERVAL = “60”
- ClamAV Kurulumu ClamAV, Virüslere ve kötü amaçlı yazılımlara karşı koruma sağlayan bir cPanel eklentisidir. ClamAV'yi şu şekilde kurabilirsiniz:
WHM >> Eklentileri Yönet >> ClamAV'deki 'Yükle ve Güncel Tut' onay kutusunu işaretleyin ve 'Kaydet'e tıklayın.
11) Kökkitlere Karşı Koruma İçin RKHunter Kurulumu
RKHunter, kökkitleri, arka kapıları ve diğer kötü amaçlı yazılımları tespit eden bir uygulamadır. RKHunter'ı şu şekilde kurabilirsiniz:
RKHunter paketini indirin
wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.0/rkhunter-1.4.0.tar.gz/download?use_mirror=iweb
Paketi açın
tar -zxvf rkhunter-1.4.0.tar.gz
Kurulum dizinine değiştirin
cd rkhunter-1.4.0
Kurulum betiğini çalıştırın
./installer.sh --install
Elle taramayı aşağıdaki komutla çalıştırabilirsiniz:
rkhunter -c
Veya bunu periyodik olarak çalıştırmak için aynı komutla bir cronjob oluşturabilirsiniz.
12) Şüpheli Dosyaları ve Klasörleri Kontrol Etme
Dünya genelinde erişilebilir ve sahipleri veya grupları olmayan dosyalar ve klasörler her zaman şüpheli olarak kabul edilir çünkü saldırganlar tarafından kolayca erişilebilirler. Bu nedenle, bu tür dosyaları bulup gerekli olup olmadıklarını kontrol etmeniz gerekir.
Dünya genelinde yazılabilir dosyaları ve klasörleri kontrol etmek için aşağıdaki komutu kullanın:
find / \( -type f -o -type d \) -perm /o+w 2>/dev/null | egrep -v '/(proc|sys)' > world_writable_files.txt
Sahibi olmayan dosyaları ve klasörleri bulmak için aşağıdaki komutu kullanın:
find / -nouser -o -nogroup >> no_owner_files.txt
Belirtilen dosyalarda listelenen dosyalara ve klasörlere bakın ve şüpheli görünüyorsa kaldırın.
13) Bind'de Rekürsif Aramayı Devre Dışı Bırakma
Bind'de Rekürsif Aramayı etkinleştirmek, DNS amplifikasyon saldırılarına, DNS arama sitelerinden aramalara vb. neden olabilir. Bu nedenle, bunu kapatmanız önerilir.
Bind yapılandırma dosyalarını açın
nano /etc/named.conf
'Recursion'ı 'no' olarak ayarlayın
recursion no
Bind'i yeniden başlatın
service named restart
14) Yum Güncelleme ile Rpmleri ve Kerneli Güncelleme
Kerneli ve rpm paketlerini en son kararlı sürüme güncellemeniz her zaman önerilir ve bunu yum komutlarıyla kolayca yapabilirsiniz.
Yum deposunu temizleyin
yum clean all
Yumu güncelleyin
yum update
15) Anonim FTP ve Root Girişlerini Devre Dışı Bırakma
Saldırganlar her zaman anonim kullanıcı olarak kötü amaçlı betikler yüklemeye çalışırlar. Bu nedenle, Anonim kullanıcıyı devre dışı bırakmanız önerilir ve bunu aşağıdaki şekilde yapabilirsiniz:
WHM >> Hizmet Yapılandırması >> FTP Sunucusu Yapılandırması
16) SYSCTL Ayarı
/etc/sysctl.conf, sistem parametrelerini belirleyen ve başlangıçta sysctl tarafından okunan bir metin dosyasıdır. Bu dosyayı düzenleyerek kernel, ağ ve diğer sistem parametrelerini düzenleyebilirsiniz. Lütfen bunu sanal ortamlarda yapamayacağınızı unutmayın.
İşte birkaç temel parametre:
TCP SYN Cookie Korumasını Etkinleştirme
net.ipv4.tcp_syncookies = 1
execshield'ı etkinleştirme
kernel.exec-shield=1
kernel.randomize_va_space=1
IP aldatmaca korumasını etkinleştirme
net.ipv4.conf.all.rp_filter=1
IP kaynağı yönlendirmeyi devre dışı bırakma, özellikle IP spoofing saldırılarına karşı koruma sağlamak için önemlidir. Bu işlemi gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
Sysctl yapılandırma dosyasını açın:
nano /etc/sysctl.conf
IP kaynağı yönlendirmeyi devre dışı bırakma parametresini ekleyin veya düzenleyin:
net.ipv4.ip_forward = 0
Değişiklikleri kaydedin ve dosyayı kapatın.
Yapılandırma değişikliklerini etkinleştirmek için aşağıdaki komutu çalıştırın:
sysctl -p
Bu, IP kaynağı yönlendirmeyi devre dışı bırakacaktır.
- Güvenlik Açıklarını Düzeltmek İçin CVE Güncellemelerini Yapma CVE (Common Vulnerabilities and Exposures), yazılım ve donanım ürünlerindeki güvenlik açıklarını tanımlamak ve izlemek için bir standartdır. Sisteminizdeki güvenlik açıklarını düzeltmek için CVE güncellemelerini düzenli olarak uygulayın. Bu genellikle yazılımın ve işletim sisteminin güncel sürümlerini yükleyerek yapılır.
Bunlar sunucunuzun güvenliğini artırmak için önemli adımlardır. Sürekli olarak sunucunuzu izlemek ve güncellemek, güvenlik önlemlerini güncel tutmanızı sağlayacaktır.