RSS Feed

Posts Tagged ‘squeeze’

  1. Debian Squeeze Apache i moduł suphp, który jednak działa

    Wrzesień 6, 2012 by 0verlord

    SuPHP to taki ładny wrapper poprawiający bezpieczeństwo serwera www, jeżeli gościmy na nim bandę dzikich skryptów a jeszcze dzikszych userów. Pozwala na uruchamianie skyptów php z takim uidem jak ma owner plików na serwerze. Proste, skuteczne. Oczywiście mniej wydajne niż php bez tego wynalazku, ale jak to zwykle bywa, jest to odwieczna walna: bezpieczeństwo kontra funcjonalność/wydajność.

    Jeżeli po instalacji modułu, skrypty dalej wykonują się z prawami usera www (np. w defaultowej instalacji: www-data) trzeba wyłączyć, powtarzam wyłączyć moduł php5. Restart apacza i działa.
    Niby to jest w dokumentacji i niby o tym czytałem, ale na działającym wcześniej serwerze, to mi już drugi raz umknęło i debugowałem jak ostatni baran :-/

    Zainstalować moduł:
    aptitude install libapache2-mod-suphp
    a2dismod php5
    a2enmod suphp
    /etc/init.d/apache2 restart

    A reszta to już manipulacja w konfigu:

    /etc/suphp/suphp.conf

    i czytanie loga w domyślnej lokalizacji:

    /var/log/suphp/suphp.log

    Sprawdzamy, umieszczając w katalogu, np. domowym public_html, np.taki „skrypt”.

    <?php system('/usr/bin/id'); ?>

    Efekt w przeglądarce powinien wyglądać jakoś tak:

    uid=1002(miszcz) gid=100(users) groups=1003(miszcz),4(mrocznaadministracja)

    Ku pamięci.

    EDIT: i oczywiście, jak już popełniłem posta, to znalazłem setkę tutoriali które mówią dokładnie to samo co ja teraz ;-). Odpowiedzią na źle zadane pytanie jest milczenie, po prostu.


  2. Upgrade Lenny -> Squeeze i niedziałające PHP

    Marzec 30, 2012 by 0verlord

    Zaatakował mnie w sumie dość debilny, ale i szybko naprawialny problem. . Aktualizowałem jeden serwer z Lennyego na Squeeze, jako że nastąpił koniec wsparcia dla starego stabla.

    Aktualizacja przebiegła bez najmniejszych problemów, bo w sumie na tym hoście tylko wiatr wieje, a i to czasem.
    Po aktualizacji jedyna aplikacja, która tam była zamiast parsować PHP, pozwalała je pobrać. Problem niby znany – brak obsługi php w Apaczu. Ale nie do końca. Moduły były, wszystko dobrze pokonfigurowane, ale zamiast wyświetlać – ściągał. Co ciekawe, phpmyadmin działał bez zarzutów.
    Po wiązance kwiatów polskich w kierunku Boga Nieprzewidzianych Problemów, jeeeeest, znalaaazłem.

    Jest sobie plik ładujący podstawowy konfig do php, konkretnie ten:

    host:~# cat /etc/apache2/mods-available/php5.conf 
    <IfModule mod_php5.c>
        <FilesMatch "\.ph(p3?|tml)$">
    	SetHandler application/x-httpd-php
        </FilesMatch>
        <FilesMatch "\.phps$">
    	SetHandler application/x-httpd-php-source
        </FilesMatch>
        # To re-enable php in user directories comment the following lines
        # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
        # prevents .htaccess files from disabling it.
        <IfModule mod_userdir.c>
            <Directory /home/*/public_html>
                php_admin_value engine Off
            </Directory>
        </IfModule>
    </IfModule>
    

    Co on robi? Ano wyłącza php w katalogach userów, jeżeli moduł userdir jest załadowany. U mnie był. Zmyliło mnie, że ta aplikacja miała swój własny vhost. Ale już DocumentRoot łapie się w ścieżkę z wyłączonym php. Zakomentowałem, zrestartowałem i ruszyło.

    Słowo o bezpieczeństwie takiego podejścia. Ma to sens, jeżeli mamy hosta, w którym są użytkownicy, którzy korzystają z userdir i wrzucają tam różne skrypty, które mogą być dziurawe albo z powodu nadmiaru dobrych chęci mogą przywiesić hosta, jak się zapętlą na śmierć. Jeżeli mamy tylko jedną aplikację i brak innych użytkowników, można sobie wyłączać. Jeżeli mamy userów, warto się zastanowić, zanim zakomentujemy te linijki. Z drugiej strony, skoro pod Lennym działało i nagle przestało to pewnie usernia zacznie protestować.


  3. Tcptrack i Debian Squeeze

    Maj 25, 2011 by 0verlord

    Można się zdziwić, że po upgrade do Squeeze’a tcptrack nie działa. Wyjaśnienie jest tu: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602232.

    Generalnie chodzi o to, że działająca wersja 1.4.x nie zdążyła wejść do Squeeze’a, a stara nie działa na nowym kernelu. Czyli grave bug i paczka wyleciała ze stabla. Czyli trzeba by sobie zbackportować nowszą wersję z SIDa, bo nawet na backports.debian.org jej nie ma.