UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Administracja arrow Start arrow Sesja administratora
Sesja administratora Drukuj Email
Udane logowanie otwiera sesję administratora. System generuje unikalny identyfikator sesji, zapisuje go w bazie danych wraz z danymi użytkownika (nazwa, numer identyfikacyjny, identyfikator grupy) oraz czasem rozpoczęcia sesji. Ten zestaw informacji wykorzystywany jest do kontroli dostępu.

Bezpieczeństwo sesji

Identyfikator sesji przesyłany jest również w postaci małego pliku tekstowego (ciasteczka - ang. cookies) do komputera zalogowanego administratora. Gdy przeglądarka przesyła jakiekolwiek żądanie do serwera, dołącza identyfikator sesji. Jeśli identyfikator zgadza się z zapisanym w bazie danych, serwer odpowiada na żądania otrzymane z przeglądarki użytkownika.

Trzy poziomy bezpieczeństwa

Począwszy od Joomla 1.0.8 w konfiguracji globalnej można ustalić jeden z trzech poziomów sprawdzania autentyczności sesji.

Image

3. poziom bezpieczeństwa

Największe bezpieczeństwo zapewnia domyślnie ustawiany 3 poziom. Identyfikator sesji oparty jest na czterech elementach:

  • generowanym podczas instalacji Joomla, zapisywanym w pliku configuration.php w zmiennej mosConfig_secret - szyfrze złożonym z 16 znaków,
  • pełnym numerze IP komputera użytkownika,
  • liczbie losowej,
  • danych przeglądarki (np. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0) .
2. poziom bezpieczeństwa

Został uwzględniony z myślą o użytkownikach korzystających z serwerów AOL (dawniej America Online) lub serwerów pośredniczących [proxy]. W tych przypadkach adres IP komputera użytkownika jest maskowany przez serwer pośredniczący. Toteż do wygenerowania identyfikatora sesji wykorzystywany jest - zamiast IP komputera, IP podsieci (serwera).

1. poziom bezpieczeństwa

Najniższy, bo identyfikator sesji generowany jest jedynie z liczby losowej i adresu IP komputera użytkownika. Można go zastosować w serwisach intranetowych, w globalnej sieci internetowej nie powinien być włączany.

Czas trwania sesji

Czas trwania sesji ustawiony jest domyślnie w konfiguracji globalnej na 30 minut (1800 sekund). Czas ten jest automatycznie przedłużany, jeśli administrator wykonuje działania rozpoznawalne przez Joomla!.

Oznaką aktywności administratora są wszelkie czynności polegające na:

  • wywołaniu dowolnej strony zaplecza - wyborze dowolnej opcji z menu administratora, lub przez naciśnięcie odnośnika w modułach administratora (np. ikony skrótu),
  • wykonaniu dowolnej operacji za pomocą jednego z przycisków w pasku narzędzi,
  • zmianie stanu elementu wywołanej naciśnięciem ikony wskaźnika stanu na listach elementów w menedżerach (np. opublikowanie bądź zakończenie publikacji).

Joomla nie rozpoznaje jako aktywności administratora czynności redakcyjnych czy korektorskich w edytorach, o ile administrator nie skorzysta z przycisku Zapisz lub Zastosuj .Jeśli więc administrator będzie przez dłuższy czas redagować artykuł czy materiał statyczny i nie skorzysta z przycisku Zapisz lub Zastosuj , to czynności te nie zostaną potraktowane jako aktywne zachowania.

Automatyczne wylogowanie

Jeśli administrator nie wykona w domyślnym czasie trwania sesji żadnych czynności rozpoznawalnych przez Joomla! następuje automatyczne wylogowanie. Próba wykonania jakiegoś zadania przekieruje administratora do modułu Logowanie .

W rezultacie automatycznego wylogowania może nastąpić utrata danych niezachowanych w czasie trwania sesji. Dlatego podczas redagowania materiałów w edytorze tekstu należy od czasu do czasu skorzystać z przycisku Zastosuj lub zapisać zmiany i powrócić do edycji elementu.

W przypadku 1. poziomu sprawdzenia autentyczności sesji, wygasa ona po czasie bezczynności administratora ustawionym w konfiguracji globalnej.

W przypadku poziomu 2. i poziomu 3. sesja wygasa po 10 minutach bezczynności administratora, bez względu na ustawienie parametru Czas trwania sesji administratora.

Ochrona przed utratą niezapisanych danych

W przypadku automatycznego wylogowania wszelkie niezapisane dane wprowadzone w edytorach mogą być utracone.

Sytuacjom takim można zapobiec począwszy od Joomla 1.0.8. W tym celu należy w konfiguracji globalnej ustawić parametr opcji Pamiętaj stronę po wygaśnięciu sesji [ Remember Expired Admin page ] na Tak.

Image

Jeśli w takiej konfiguracji administrator powróci do wykonywania czynności administracyjnych, zostanie również najpierw przekierowany na stronę z modułem logowania, ale po zalogowaniu system wykona wydane polecenie (np. Zapisz , Zastosuj , Anuluj ) i otworzy pamiętaną stronę, umożliwiając kontynuowanie realizowanych zadań (np. w edytorze właściwości).

Próba wykonania jakiejkolwiek czynności administracyjnej spowoduje przekierowanie użytkownika na stronę logowania. Nad formularzem Logowanie pojawi się stosowny komunikat. Jeśli wylogowanie nastąpi w trakcie edycji jakiegoś elementu po naciśnięciu przycisku Zapisz lub Zastosuj , wprowadzone w edytorze dane zostaną zachowane. Po ponownym zalogowaniu się, system sprawdza identyfikator sesji przechowywany w bazie danych - i jeśli sesja nie została zamknięta - zapisze dane przesłane z przeglądarki.

Wzmocnienie ochrony

W niektórych rozwiązaniach może być konieczne zastosowanie dodatkowej ochrony dostępu o zaplecza. Niezbyt szczęśliwą metodą byłaby zmiana powszechnie znanej ścieżki do interfejsu administracyjnego (skrypty zaplecza administracyjnego znajdują się w katalogu /administrator ). Realizacja tego pomysłu wymagałaby zmiany wszystkich odwołań do tego katalogu umieszczonych zarówno w skryptach źródłowego pakietu instalacyjnego Joomla!, jak i - każdorazowo - w skryptach instalowanych rozszerzeń.

Jeśli rzeczywiście dodatkowa ochrona jest konieczna, można skorzystać z rozwiązań oferowanych przez oprogramowanie serwera internetowego, np. ograniczenia poprzez wpis w pliku .htaccess prawa logowania się do strefy administracyjnej tylko dla komputerów o określonym numerze IP.

Hasło powinno być długie, liczyć co najmniej 6 znaków. Preferować należy hasła złożone z kilkunastu zróżnicowanych znaków (małe i wielkie litery, cyfry, znaki specyficzne dla alfabetu polskiego - ą, ę, ś itp.). Nie używaj jako hasła popularnych wyrazów, imion, nazwiska administratorów, itp.

Zmiana szyfru

Poziom bezpieczeństwa podnosi również systematyczne dokonywanie zmiany słowa sekretnego używanego do szyfrowania identyfikatora sesji. Szyfru nie da sie zmienić w edytorze konfiguracji. Można go wyedytować bezpośrednio w pliku konfiguracyjnym.


Uwagi, źródła

Jeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki

Dziękujemy!

Stefan Wajda, Zespół Dokumentacji PCJ

Zmieniony ( 05.08.2007. )
 
« poprzedni artykuł   następny artykuł »