Suhosin sonu; sırada ne var?
Uzun yıllar, Ben gayretle kullandım Suhosin SQL enjeksiyonve diğer yaygın web saldırılarına karşı savunmak için Apache2 veya PHP-FPM Nginx websunucularında PHP5 herhangi bir uygulama ile. Aslında, PHP5 çok felaket oldu, hem de temel güvenlik açısından, ve suhosin sağladığı herhangi bir önemli sertleştirme olmadan kullanarak gebe asla olamazdı fonksiyonları ve modülleri.
PHP5 amortismana tabi ve benim eski programları tüm gitti gibi, Ben PHP7 çeşitli uygulama ve mevcut Suhosin yamalar ile sol.
Rağmen, hala teknik olarak PHP Suhosin eklemek mümkündür 7.0 Ve 7.1 (ön-alfa – üretim için değil), bu proje uzun gitti ve PHP7 zaten olduğunu kanıtladı söylemek adil zahmetli olabilir selefi gibi. Ben WAF ve PHP7 çekirdek güvenlik için yeni bir ek düşünüyorum gibi, bunlar benim geldiğim çözümlerden bazıları.:
Kötü veya Gereksiz Fonksiyonları Devre Dışı Bırakma
PHP içinde inşa edilmiş ve potansiyel olarak tehlikeli olan birçok riskli fonksiyon vardır ve varsayılan olarak 'php.ini' içinde devre dışı bırakılmalı. Aşağıdaki komutu kullanarak config dosyasını bulabilir ve vi veya nano ile işlevleri devre dışı.
php -i | grep "php.ini"
LÜTFEN NOT EDIN: PHP'nin çeşitli sürümlerini aynı anda çalıştırıyorsanız veya program başka bir üçüncü taraf uygulamanın parçası olarak yüklenmişse, sonra birden fazla 'php.ini' yüklü olması şansı yüksek ve hangisinin webserver tarafından yüklenir açık değildir. Doğru sürümü düzenlediğinden emin olun (php -v).
'php.ini' dosyasının sonuna aşağıdaki satırı ekleyin, dosyayı kaydettiğinize emin olun, ve web sunucusunu yeniden başlatın. Bu PHP fonksiyonlarının her biri hakkında bilgi edinebilirsiniz bu adreste. Ölçülen bir eylem olarak, uygulamalarınızı olumsuz etkilemediğinden emin olmak için bunları tek tek eklemek isteyebilirsiniz.
disable_functions = popen, eval, leak, exec, shell_exec, curl_exec, curl_multi_exec, parse_ini_file, mysql_connect, system, phpinfo, escapeshellarg, escapeshellcmd, passthru, symlink, show_source, mail, sendmail, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
Kayıt Globalleri ve Base64'ün Devre Dışı Bırakılması
Register Global, PHP tarafından URL'ye giriş dizilerinin kodunuzda değişkene dönüştürülmesine olanak tanıyan bir işlevdir. Bu nedenle, herhangi bir potansiyel olarak savunmasız kod, HTTP GET veya POST isteklerini kullanarak kötü amaçlı dizileri geçirebilen bir saldırgan tarafından kullanılabilir.
Register Globals, 'php.ini'nin sonuna aşağıdaki satırı ekleyerek kolayca devre dışı edilebilir. Değişiklikleri yürütmek için web sunucusunu yeniden başlatmayı unutmayın.
register_globals = Off
Register Globals gibi, Base64 kötü niyetli arka kapılar içine kapıyı açmak başka bir sık sık gereksiz özelliğidir. Base64 kod çözücüsünün 'php.ini' sonuna aşağıdaki satırı ekleyerek kalıcı olarak devre dışı kullanabilirsiniz.
base64_decode = Off
Gönderi Feragatnamesi
Gösterim, bilgi, veya ifade edilen görüşler yalnızca yazara aittir ve işvereninin veya bağlı olduğu kuruluşların görüşlerini temsil etmek zorunda değildir.
Bu gönderide yer alan bilgiler yalnızca genel bilgi amaçlıdır. Bilgiler Farhad Mofidi tarafından sağlanır ve bilgileri güncel ve doğru tutmaya çalışır, HİÇBİR BEYANDA BULUNMAZ VEYA GARANTİ VERMEZ, açık veya zımni, Bütünlük ile ilgili olarak, doğruluk, güvenilirlik, Web sitesinin uygunluğu veya kullanılabilirliği. Farhad hiçbir beyanda bulunmaz veya garanti vermez. veya herhangi bir bilgi, herhangi bir amaçla herhangi bir Gönderide yer alan ürünler veya ilgili grafikler.
De, Yapay zeka, önerilerde bulunmak ve bazı içerikleri veya cümleleri geliştirmek için bir araç olarak kullanılabilir. Fikirler, Düşünce, Görüş, ve nihai ürünler orijinal ve yazar tarafından insan yapımıdır.