Mod_security iyi bir şey midir?


9

Kısa bir süre önce mod_security'den gelen hatalı hata iletileriyle uğradım. Filtre setleri eskimiş PHP istismarlarını kapsamaktadır ve Wordpress & Co'nun yıllar önce hataları olduğu için eşyalarımı yeniden yazmam gerekiyor.

Bu başka birine olur mu?

Apache mod_security, olası HTTP isteklerini uygulamalara ulaşmadan engeller (özellikle PHP). Çoğunlukla regex tabanlı çeşitli filtre setleri kullanır.

Bu yüzden güzel bir paylaşılan barındırma sağlayıcısı var, teknik olarak uygun ve malzeme. Ama bu beni rahatsız etti:

Geçtiğimiz hafta &src=, modlarımdan biri ile ilgili HERHANGİ istekleri engellediğinden, uygulamalarımdan birinde bir parametre adı değiştirmek zorunda kaldım . Ayrıntılarına bakmadım, ancak bu filtre kuralı, kullanmadığım ve muhtemelen hiç duymadığım başka bir uygulamanın sömürülebilirliğini önlüyordu. Yine de yapacak bir şeyim yok ya da onunla ortak kodumu (yeniden adlandırma parametresi mod_security kandırmak için yeterli) yeniden yazmak zorunda kaldım!

Ve bugün, aptalca bir regex bloklar gönderimler oluşturur, çünkü php örnek kod göndermek istedim. Bu, mod_security'nin korumak için var olduğu basit şeylerdir. Ama mod_security'nin ciddi şekilde gizlenmiş kodu algılayabileceğine inanmıyorum ve sadece açık (ve bu durumda tamamen önemsiz) php snippet'lerinde sönüyor.

Temelde mod_security tarafından cezalandırılıyorum çünkü diğer insanlar hataya eğilimli uygulamalar yayınladı. (Uygulamalarımın ultra güvenli olduğunu söylemiyorum - güvenlik konusunda dikkatliyim, ancak hiperbolik iddialarda bulunmuyorum.)
Zaten sağlayıcımdan zaten devre dışı bırakmasını istedim, faydaları çok küçük IMO ve uygulamalarım için.


Ne düşünüyorsun? Mod_security WP barındırma dışında çok anlamlı mı? Yoksa gerçekten sadece uzun süre geçmiş güvenlik hatalarından oluşan bir grup kara liste mi? Kurallarından hangisi gerçekten yararlıdır? Eşdeğer bir uygulama seviyesi var mı?


1
Bu PHP kodu gönderme saçma çünkü bir dize yazdırmak bile <?php doBadStuff(); ?>bu işlevi çalışmaz. (Tabii evalki kötü olan tabii ki kullanmazsanız .)
DisgruntledGoat

@DisgruntledGoat: Ya da belki sadece iki yanlış alarm yüzünden çok huysuz oldum. Sonunda mod_security tıpkı hala MS-DOS virüs imzalarını taşıyan bir virüs tarayıcısı gibidir. Çoğunlukla yararlı değil, ama rastgele istismar tarayıcı ve nadiren potansiyel badstuff () yakalar? Ya da öylesine:}
mario

Yanıtlar:


3

Ben şahsen mod_security'yi bir yama olarak görüyorum. Yüklediğimiz kodu (örneğin paylaşılan barındırma sunucuları) kontrol edemediğimiz bazı sunucularımızda kullanıyorum, ancak asla gerçekten iyi bir çözüm gibi hissetmedim. Geniş ve çok genel kara liste yaklaşımına dayanarak, güvenlik açıklarını örtmek, iyi bir güvenlik politikasından ziyade bir yamadır.

Ayrıca yanlış bir güvenlik duygusu sağlayabilir. mod_security bazı yaygın saldırıları ortaya çıkarabilir, ancak hiçbir şekilde hiçbir saldırıyı önleyemez. Yine, bilinen yaygın saldırıların bir kara listesidir. Sadece mod_security'yi yüklerseniz ve sihirli bir şekilde güvende olduğunuzu düşünüyorsanız, çok yanılıyorsunuz.

Ekibimin kendilerine yerleştirilen tüm kodları gözden geçirdiği, çok sayıda günlük, günlük dosyası analizi, raporlama sistemleri ve saldırı tespit / saldırı önleme sistemleri (IPS) ile birlikte yönetilen sunucular için çok daha iyi bir politika buldum. Her üçüncü taraf veya açık kaynaklı yazılım yüklendiğinde ( size bakıyorum , WordPress!) Yüklendiği yerin bir günlüğünü tutarız ve yeni sürümler çıktığında yüklenen her kopyayı güncelleriz.

Yine, şu anda yaşadığınız gibi mod_security'yi paylaşılan bir barındırma sunucusunda bulma olasılığınız daha yüksektir. Büyüdükçe, kendi yönetilen ortamınızı aldığınız ve mevcut yazılımı daha sıkı bir şekilde kontrol edebileceğiniz bir VPS veya clod tabanlı barındırma sağlayıcısına geçebilirsiniz.


Bana öyle geliyor. Paylaşılan barındırma hesaplarını birbirlerine karşı güvenceye almak için, suexec + fastcgi genellikle daha uygulanabilir görünüyor. Bir VPS'de ve tüm özel kodlarla mod_security nadiren yardımcı olur (yine de birkaç HTTP uyumluluk denetimi yapar). +1 kapsamlı günlük.
mario

0

Bence, programlama konusunda acemi iseniz, mod_security iyi bir fikirdir, ancak uygulamalarınızı doğru yazmak için zaman ayırırsanız ve GET dizelerini doğrudan SQL'e birleştiren güvensiz kod yazmaktan kaçınırsanız, o. mod_security asla ciddi bilgisayar korsanlarını durduramaz ve iyi bir uygulamanız varsa, komut dosyası çocuklarından vazgeçecek ve bir sonraki gerçekten zayıf ve güvensiz uygulamaya geçeceksiniz.


Aşağı oyunuzu açıklamamanın yolu>. <
Brandon Wamboldt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.