(Güvenlikle ilgili) cgi vs apache modülü arasında bir fark var mı?

5 Cevap php

E.g. Is it more secure to use mod_php instead of php-cgi? Or is it more secure to use mod_perl instead of traditional cgi-scripts?

Ben güvenlik kaygıları esas olarak ilgileniyorum ama önemli farklılıklar varsa hızı bir sorun olabilir.

5 Cevap

Ne anlamda güvenlik? Gerçekten ne senaryo bağlıdır Her iki şekilde çalışıyor ve ne kadar iyi olduğu yazılır. Çok komut bu gün yarım-yamalak ve düzgün giriş doğrulama yapmıyoruz.

Şahsen ben Apache tamamını öldürmek mod_php gördük, oysa kökenli alacak bir FastCGI işlem yenisini ölürse beri mod_php için FastCGI tercih.

Güvenlik gelince, FastCGI ile teknik olarak varsayılan web sunucuları kullanıcıdan farklı bir kullanıcı altında php işlemi çalıştırabilir.

Eğer uzantıları gibi bazı mod_php kullanarak olmadığından emin olmak isteyeceksiniz Apache'nin yeni işçi iş parçacığı desteği kullanıyorsanız, ayrı bir not olarak, iş parçacığı güvenli değildir ve yarış koşulları neden olur.

Çoğu güvenlik delikleri komut kendisi berbat programlama nedeniyle meydana, bu yüzden cgi veya modülleri koştu eğer gerçekten tür tartışmalı bulunuyor. O dedi, apache modülleri potansiyel tüm web sunucusu (özellikle çok evreli bir MPM kullanıyorsanız) çökmesine neden olabilir ve mod_php tür ünlü bunun içindir.

cgi yavaş olacak, ancak günümüzde bu çözümler, başta FastCGI ve arkadaşlar vardır.

Tehdit modeli nedir?

Bir yerleşik modül kullanımı kesinlikle CGI kullanarak daha hızlı olacak. Güvenlik etkileri yapılandırmasına bağlıdır. Varsayılan konfigürasyonda onlar hemen hemen aynı, ama cgi modülleri yerleşik biraz daha güvenli yapılandırmalar özel hosting bağlamında, sağlayamaz sağlar. Eğer karşı kendinizi korumak için tam olarak ne istiyorsun?

Böyle mod_php veya FastCGI gibi bir modül sadece CGI yapmayın .. düz CGI daha inanılmaz hızlıdır. Diğerleri söylediler, PHP programın kendisi büyük güvenlik tehdidi olduğunu, ancak paylaşılan ana bir başka göz, var olduğunu görmezden.

Script diğer php programlar ve konak güvenli modda çalışıyorsa ile paylaşılan bir bilgisayar üzerinde ise, o zaman tüm sunucu süreçleri aynı kullanıcı olarak çalışan olasıdır. Bu başka bir php komut veritabanı şifreleri de dahil olmak üzere, kendi okuyabilir anlamına gelebilir. Yani kod başkalarına okunabilir olmadığından emin olmak için sunucu yapılandırmasını araştırmak için emin olun.

Eğer kendi hosting kontrol bile, sunucu üzerinde başka bir hacklenmiş web uygulaması diğerleri içine bir kanal olabileceğini unutmayın.

From the PHP install.txt doc for PHP 5.2.6:

Server modules provide significantly better performance and additional functionality compared to the CGI binary.

For IIS/PWS:

Uyarı

By using the CGI setup, your server is open to several possible attacks. Please read our CGI security section to learn how to defend yourself from those attacks.