Ogólne logi
Obecnie zaimplementowano funkcję „Ogólne logi”, gdzie rejestrowane są zmiany danych (kto, gdzie i kiedy zmienił lub dodał dane) — patrz Screenshot 1.
Jednak zmiany z niektórych sekcji nie są zapisywane.
Zadanie: rozbudować mechanizm, aby logi były zapisywane również dla pozostałych sekcji. Należy podłączyć jeszcze 5 sekcji do logowania.
Zablokowanie przy niepoprawnym haśle
Po przekroczeniu określonej liczby nieudanych prób logowania — konto użytkownika powinno zostać zablokowane na ustalony czas.
Parametry (liczba prób i czas blokady) pobierane są z ustawień.
Ograniczenia przy zmianie hasła
Podczas zmiany hasła konieczne jest zaimplementowanie:
sprawdzenia minimalnej długości,
sprawdzenia złożoności (litery, cyfry i znaki specjalne).
Okres ważności konta
Każdy użytkownik powinien mieć parametr „Okres ważności konta”.
Przykład: jeśli użytkownik jest na urlopie — konto staje się nieaktywne na wskazany okres.
Sprawdzanie kodu złośliwego
Ustawić skrypt z regularnym uruchomieniem, który będzie sprawdzał kod projektu pod kątem ukrytych lub złośliwych elementów.
Zadanie:
zaproponować rozwiązania (np. open-source antywirusy, skanery),
w przypadku wykrycia złośliwego kodu — wysłać powiadomienie na email.
Ponowne logowanie z już aktywną sesją
Przy próbie logowania użytkownika, który ma już aktywną sesję:
Przymusowe zakończenie sesji przy blokadzie
Jeśli konto użytkownika zostanie zablokowane — wszystkie aktywne sesje powinny zostać przymusowo zakończone.
Modalne ostrzeżenie przy logowaniu
Przed zalogowaniem się powinna pojawić się informacja o sankcjach za naruszenie zasad korzystania z systemu.
Formularz: okno modalne z tekstem i linkami do odpowiednich artykułów (np. Kodeks wykroczeń/Kodeks karny).
Logika wyświetlania:
jeśli rola — administrator (pełny dostęp) — ostrzeżenie jest wyświetlane;
jeśli rola — redaktor, i nie ma dostępu do informacji poufnych, ostrzeżenie nie jest wyświetlane.
Należy skonfigurować w zarządzaniu rolami.
Informacje o ostatnim logowaniu
Po zalogowaniu użytkownik powinien widzieć:
Rozbudowa logów logowania
Obecnie rejestrowany jest tylko fakt logowania (Screenshot 2).
Należy rozbudować:
oddzielne rejestrowanie udanych i nieudanych prób logowania,
logowanie IP, urządzenia, daty/godziny i przyczyny błędu (jeśli występuje).
Logi systemowe
Istnieje tabela z logami systemowymi dla skryptów (Screenshot 3).
Problem: z czasem tabela się przepełnia milionami wpisów, a wyszukiwanie przestaje działać.
Zadanie: zaproponować i zaimplementować alternatywne rozwiązanie (np. Graylog, ELK Stack itp.).