Niezmiernie ważną sprawą jest bezpieczeństwo danych w systemie CMS. Projektując platformę Edito CMS położyliśmy duży nacisk na kwestię zabezpieczeń, zarówno dla całego systemu zaezadzania treścią, jak również dla panelu administracyjnego, aby zminimalizować ryzyko utraty danych. Trzeba jednak pamiętać, aby stale monitorować wdrożony serwis pod kątem potencjalnych zagrożeń.
Poniżej prezentujemy najważniejsze zabezpieczenia systemu:
Logowanie po SSL
Rozwiń
Do panelu administracyjnego można zalogować się za pośrednictwem bezpiecznego protokołu SSL z kluczem 128-bitowym. W tym przypadku transmisja danych między użytkownikiem a serwerem będzie szyfrowana.
Oddzielenie wersji publicznej od prywatnej
Rozwiń
Odrębny panel administracyjny pozwala na oddzielenie systemu zarządzania treścią od systemu prezentacji. Dzięki temu użytkownicy, którzy wchodzą na serwis publiczny nie mają żadnej możliwości modyfikacji treści znajdujących się w serwisie. Ponieważ te dwa systemy są niezależne od siebie istnieje możliwość uruchomienia panelu administracyjnego na osobnym koncie ftp (czy też domenie) lub też zabezpieczenie go na dostęp z określonych adresów IP (np.: tylko z sieci lokalnej).
Zabezpieczenie przeciwko Sql Injections
Rozwiń
System został zabezpieczony na wypadek ataków typu Sql Injections. Wszystkie informacje wprowadzane do serwisu za pomocą formularzy, czy w postaci parametrów w adresie strony są filtrowane i przetwarzanie pod kątem wyszukiwania prób modyfikacji zapytań SQL, dzięki czemu potencjalnie niebezpieczne fragmenty kodu są odpowiednio maskowane i dopiero wtedy zostają dopuszczone do kolejnego etapu przepływu danych wewnątrz systemu.
Zabezpieczenie przeciwko XSS i CSRF
Rozwiń
W tym przypadku również odbywa się filtrowanie i przetwarzanie informacji wprowadzanych do serwisu za pomocą formularzy, czy w postaci parametrów w adresie strony, pod kątem wyszukiwania specyficznych dla tego typu ataku fragmentów kodu. Pozwala to na usuwanie "złośliwego" kodu z danych wprowadzanych przez użytkownika.
Dodatkowymi zabezpieczeniami zalecanymi do włączenia po stronie serwera stanowią ustawienie zmiennej register_globals na off oraz włączenie opcji safe_mode lub odpowiednia konfiguracja serwera www, tak aby działał w trybie użytkownika konta FTP (w związku z planowanym przez twórców PHP usunięciem opcji safe_mode zalecane jest to drugie rozwiązanie).
Walidacja danych z GET, POST, COOKIE
Rozwiń
Wszystkie dane, jakie użytkownik ma możliwość wysłać do serwera są walidowane pod kątem umieszczenia w nich potencjalnie niebezpiecznych fragmentów kodu.
Historia logowania
Rozwiń
Prowadzony jest pełny rejestr aktywności użytkowników, w tym zapisywane są wszystkie próby autoryzacji zakończonej powodzeniem oraz niepowodzeniem wraz z informacjami, na jakie konto próbowano się zalogować, o której godzinie, a także dane użytkownika, takie jak adres IP i adres domenowy.
4 stopniowy system uprawnień
Rozwiń
System umożliwia nadanie administratorom uprawnień do modyfikacji wybranych treści, publikacji treści, konfiguracji wybranych działów, dostępu do zaawansowanych opcji konfiguracyjnych serwisu. Pozwala na zbudowanie ścieżek przepływu informacji przed ostatecznym opublikowaniem treści on-line oraz zablokowanie dostępu osobom niepowołanym do wybranych elementów systemu:
- administrator - posiada pełne spektrum uprawnień do modyfikacji ustawień serwisu,
- moderator - posiada uprawnienia do korekty oraz publikacji treści znajdujących się w serwisie,
- samodzielny redaktor - posiada możliwość publikacji treści opracowanych przez siebie,
- redaktor - ma możliwość wprowadzania treści do serwisu, lecz nie może ich samodzielnie opublikować.
Historia zmian
Rozwiń
System posiada mechanizm odpowiedzialny za zapis wszystkich zmian w serwisie dokonywanych z poziomu panelu administracyjnego. Dziennik, w którym przechowywane są informacje o modyfikacjach, zawiera m.in. takie dane, jak:
- zapisy wszystkich operacji publikowania i usuwania elementów na stronie,
- datę modyfikacji
- nazwę użytkownika, który dokonał modyfikacji,
- nazwę elementu strony, na którym dokonano modyfikacji,
- krótki opis operacji, np. publikowanie, blokowanie, modyfikacja treści.
Pełny rejestr zmian
Moduł działa w połączeniu z modułem Historii zmian. Rozszerza on możliwości historii o dodatkowe informacje, o tym jakie dane zawierał dany element przed wprowadzeniem modyfikacji.
Restrykcyjna polityka zarządzania hasłami administratorów
Rozwiń
W systemie istnieje możliwość włączenia tak zwanych silnych haseł (w haśle wymagane są małe i duże znaki, cyfry oraz znaki specjalne). Można także ustalić minimalną długość hasła, a także okres, po jakim hasło użytkownika wygaśnie. Administrator może w dowolnym momencie wymusić na redaktorze zmianę jego aktualnego hasła oraz zablokowanie dowolnego konta. Konto zostaje zablokowane po kilkukrotnych próbach logowania do systemu zakończonych niepowodzeniem. Liczbę nieudanych prób logowania, po których konto jest blokowane można ustawić dowolnie lub całkowicie zrezygnować z tej opcji. Można również dodać reguły, które nie pozwalają na podanie hasła podobnego do loginu czy imienia bądź nazwiska administratora, a także powtórzenia hasła, które już wcześniej było wykorzystywane przez administratora (historia haseł).
Stała opieka
Powyższe zabezpieczenia nie stanowią o bezpieczeństwie danych "na zawsze". Wymagana jest stała opieka nad uruchomionymi systemami i wprowadzanie do nich odpowiednich poprawek w bezpieczeństwie, jeśli tylko pojawią się jakieś luki.
Wychodząc naprzeciw tym potrzebom oferujemy usługę polegającą na ciągłej analizie zagrożeń, na jakie wystawione są strony WWW oraz na eliminacji ich na bieżąco:
- Ciągłe monitorowanie nowych zagrożeń na jakie nastawione są serwisy WWW,
- Identyfikacja i wykorzystanie podatności aplikacji WWW,
- Testowanie podatności aplikacji WWW na szereg ataków (XSS, XSRF, Sql Injections, itp.),
- Testowanie elementów aplikacji AJAXowych,
- Przeprowadzanie testów penetracyjnych skomplikowanych aplikacji,
- Analiza logów w celu wyszukiwania prób przeprowadzenia ataku,
- Aktualizacji systemu Edito do najnowszej wersji (w danej linii produktu).