Linux cPanel / WHM Perl Açığı
Perl cPanel sunucularında çok büyük bir güvenlik açığına neden olmaktadır , perl ile yazılmış bir script eğer hosting hesabınızda çalışıyorsa artık sunucunuzun kontrolü tamamen o scritpi yükleyenin elindedir.
Bu denli büyük bir cPanel açığının olması çok can sıkıcı sorunlar ile uğraşmanıza kapı açacaktır. Hosting firmaları içinde güvenlik herşeyden önemlidir bu nedenle perl açığı kapatırlar ve bu perl izinleri kapanan sunucularda cpanel yada web mail gibi servislere ulaşmak için /webmail /cpanel şeklinde erişim sağlayamazsınız bunun yerine :2082 :2095 kullanmanız gerekecektir.
Bu yazıda perl açığının nasıl kapatılacağını tarif edeceğiz öncelikle sunucunuza SSH bağlantısı yapınız sonrasında httpd.conf düzenlemesine erişim sağlayınız ve bölünmüş alanda perl dosyalarının çalışmasını engelleyiniz bunun için ;
nano /usr/local/apache/conf/httpd.conf
dosyamız açıldı sonrasında CTRL + W tuş kombinasyonuna basarak aşağıdaki satırı aratınız ;
AddHandler cgi-script .cgi .pl .plx .ppl .perl
yukarıdaki satırın başında # işareti varmı kontrol ediniz yok ise bunu koyunuz sonrasında satır görünümü aşağıdaki gibi olmalıdır ;
#AddHandler cgi-script .cgi .pl .plx .ppl .perl
buraya kadar herşey güzel httpd.conf üzerinden engelleme işlemimizi gerçekleştirdik sıra perl dosyasına sunucu dışında erişimi kapatmakta bunun için ise aşağıdaki tek satırlık kodu SSH da çalıştırınız ama sunucu versiyonlarına göre perl dizini farklılık gösterebilir bunun için öncelikle perl dizininin konumunu kontrol ediyoruz ;
which perl
çıktısı
/usr/local/bin/perl
şeklinde olmalıdır eğer farklı bir konumda ise buna göre aşağıdaki satırı düzenleyebilirsiniz ;
chattr -i /usr/local/bin/perl && chmod 700 /usr/local/bin/perl && chattr +i /usr/local/bin/perl
satırı kısaca anlatırsak ;
Cpanel güncellemesi sonrasıda perl yazma izinleri değişecektir biz satırımızda bu işlemi engellemiş olduk yani biz istemediğimiz sürece perl dizinin yazma izinleri 700 den farklı olmayacaktır 700 vererek perl dizini erişimini sunucu içi erişim ile kısıtladık