Szybka analiza php.ini
Napisał: Patryk Krawaczyński
05/10/2016 w Administracja, Bezpieczeństwo Brak komentarzy. (artykuł nr 554, ilość słów: 346)
D
la każdego początkującego administratora / developera / devops’a przychodzi moment, gdy następuje faza skonfigurowania PHP po stronie serwera. W procesie tym zazwyczaj ustawiane są podstawowe opcje, które mają na celu jak najszybsze doprowadzenie do stanu: działa. Nie zawsze idzie to w parze: działa bezpiecznie. W tym celu powstało narzędzie iniscan mające na uwadze wprowadzenie najlepszych praktyk konfiguracji PHP, aby zminimalizować ryzyko przedostania się do serwera WWW szkodliwego kodu lub nawet uzyskania do niego pełnego dostępu.
W celu demonstracji działania tego programu zainstalujemy go na systemie Ubuntu 14.04 wraz z PHP5 w wersji 5.5.9:
apt-get install libapache2-mod-php5 wget https://getcomposer.org/installer
Sprawdzamy, czy w installerze nie znajduje się jakiś malware. Jeśli wszystko jest w porządku możemy kontynuować proces:
cat installer | php mv composer.phar /usr/local/bin/composer composer global require psecio/iniscan cd /usr/local/bin/ ln -s /root/.composer/vendor/psecio/iniscan/bin/iniscan
Po procesie poprawnej instalacji możemy przystąpić do pierwszej analizy pliku php.ini:
iniscan scan --path=/etc/php5/apache2/php.ini
Raport możemy wygenerować także w formacie pliku HTML:
iniscan scan --path=/etc/php5/apache2/php.ini --format=html --output=/var/www
Jego nazwa będzie stworzona wedle wzoru: iniscan-output-YYYYmmDD.html. W raporcie będziemy mogli znaleźć dwa statusy: PASS oraz FAIL. Nas oczywiście na początku będą interesowały wszystkie statusy niepowodzenia. Kolumna “Description
” zawiera podpowiedzi oraz wskazówki, jakie możliwe wartości powinny występować w danej zmiennej lub jakie ryzyko wiąże się z pozostawieniem aktualnego ustawienia bez zmian. Na przykład:
session.cookie_domain - It is recommended that you set the default domain for cookies. session.hash_function - Weak hashing algorithms in use. Rather use one of these: sha224... session.cookie_httponly - Setting session cookies to 'http only' makes them only readable...
Jeśli chcemy ulec sugestii autorów narzędzia to nie zalecam wprowadzania zmian na gorąco, szczególnie jeśli nie do końca posiadamy świadomość tak one mogą wpłynąć na naszą aplikację internetową, która jest hostowana na serwerze, który właśnie chcemy poddać hartowaniu. Na początku zmiany najlepiej przeprowadzić na środowisku testowym lub deweloperskim i sprawdzić czy nie przyniosły one negatywnego impaktu. Warto również przestudiować każdą wylistowaną opcję z osobna, aby uzyskać wiedzę, co tak naprawdę jest zmieniane i dlaczego, aby nie słuchać tylko na ślepo narzędzia.
Więcej informacji: INISCAN – Análise de Segurança no PHP.INI, iniscan