Bezpieczeństwo SAP

Wymogi dotyczące bezpieczeństwa nieprzerwanie wzrastają, a zabezpieczenie krytycznych danych w organizacji jest jedną z podstawowych kwestii, gwarantujących ciągłość podstawowych procesów biznesowych.
Środowiska systemowe stają się coraz bardziej złożone (komunikacja z systemami zewnętrznymi, wymiana danych oraz ciągły rozwój istniejących systemów).

Podczas ewentualnego ataku na system SAP (bez względu na to, czy atak pochodzi z wewnątrz czy z zewnątrz organizacji) osoba atakująca może uzyskać dostęp do cennych informacji systemowych.
W związku z tym może wykorzystać te informacje do dalszych ataków na inne systemy SAP a także uzyskać ważne dane firmowe (dane klientów, informacje o produkcie, np. receptury i rysunki techniczne, dane o wynagrodzeniu itp.) w sposób niezauważony.

Zarządzanie bezpieczeństwem sprowadza się do zarządzania ryzykiem

Przede wszystkim, aby zrobić to odpowiednio należy zewidencjonować wszystkie ryzyka i pogrupować je wg priorytetów po to, by organizacja posiadająca system SAP mogła poznać i skorygować ewentualne zagrożenia dla systemu SAP (na przykład z pomocą zewnętrznego wsparcia).
Badanie bezpieczeństwa i zgodności SAP obejmuje sprawdzenie sieci, systemu operacyjnego, bazy danych, parametrów, konfliktów SoD w systemie SAP w oparciu o dostarczane matryce ryzyk i konfliktów.

6 podstawowych obszarów ryzyk

Wyszczególniliśmy 6 podstawowych obszarów ryzyk, które należy wziąć pod lupę w pierwszej kolejności.
Obszary podzieliliśmy na dwie części: techniczną oraz użytkowników.

Warstwa techniczna

 

1. Ustawienie konfiguracji SAP

Warstwa parametrów konfiguracyjnych, które powinny odpowiadać polityce bezpieczeństwa organizacji. Parametry te należy kontrolować regularnie.

Przykład:

login/password_expiration_time (wartość domyślna 0, nasza rekomendacja 30)
Użytkownik musi zmienić hasło po określonej ilości dni (dla parametru 0 wymuszenie nie jest włączone).


login/min_password_lng
(wartość domyślna 3, nasza rekomendacja 8+)
Ustawienie minimalnej długości hasła.

login/fails_to_user_lock (wartość domyślna 12, nasza rekomendacja 5)
Ilość źle wpisanego hasła do blokady konta użytkownika.

 

2. Weryfikacja zdarzeń i ustawień „na” i „poza” warstwą SAP

 

Poziom SAP

SAP Security Audit Log:

  • główny log bezpieczeństwa,
  • część informacji jest mało czytelna z perspektywy bezpieczeństwa,
  • zalogowanie usera SAP* nie stanowi wg logu ryzyka, podczas gdy ryzykiem jest źle wpisane hasło logowania.

SAP Change Documents and Table Loggin:

  • logowanie zmian dokumentów oraz zmian w tabelach,
  • niska jakość w przypadku braku archiwizacji dokumentów w czasie.

SAP System Log:

  • główny log systemu SAP,
  • logi nadpisywane po 14 dniach.

 

Poziomy poza SAP

Log systemu operacyjnego Windows/UNIX – problemem jest np. fakt, że administrator musi posiadać uprawnienia root do samego odczytu logów

Log bazy danych – brak możliwości analizy ustawień bazy danych z poziomu SAP (np. Informacja o kontach i ich autoryzacjach)

Logi sieciowe SAP Router/HTTP – problemem jest brak standardowych rozwiązań do przekierowania logów do syslogu

 

3. Aktualizowanie Patchy systemowych

Każdy system jest podatny na działania hackerskie, SAP nie jest wyjątkiem, dlatego istotne jest, aby regularnie instalować łatki systemowe.
Dzięki nim pojawiają się informacje o włamaniach z wykorzystaniem znanych podatności.

 

Przykład 1 – raport Departamentu Bezpieczeństwa USA wskazującego na włamania do co najmniej 36 globalnych systemów SAP z wykorzystaniem luki znanej (i naprawionej) od 2010 roku. Więcej na https://bit.ly/28Kpk5r

 

Przykład 2 – coroczne spotkanie społeczności zajmującej się tematyką bezpieczeństwo the PWNIE Awards w 2015 roku przyznało pierwszą nagrodę w kategorii Best Server-Side Bug za wykrycie podatności w SAP, pozwalającej na nieautoryzowany dostęp do systemu https://bit.ly/29Se5hB

 

Warstwa użytkowników

 

4. Domyślne konta

Podczas wdrożenia systemu SAP tworzone są domyślne konta użytkowników. Służą one do wstępnej instalacji systemu, powszechnie znane są zarówno z nazwy jak i hasła.
Niezwykle ważna jest odpowiednia ochrona tych kont.
Najbardziej krytyczne konto to SAP* (pozwala na praktycznie nieograniczoną możliwość dostępu i zmian w systemie).

Hasła kont domyślnych należy zmienić, a profile wysoko uprzywilejowane (np. SAP_ALL) należy usunąć.
Istotne jest to, że w przypadku usunięcia konta domyślnego – odtworzy się ono automatycznie (z domyślnym hasłem).
Konto SAP* powinno zatem mieć zmienione hasło, a parametr login/no_automatic_user_sapstar ustawione na wartość 1 (brak możliwości odtworzenia automatycznego konta SAP*).

 

5. Domyślne profile

Tak jak w przypadku kont domyślnych, SAP posiada (dostarczane wraz z instalacją) zestawy profili autoryzacyjnych, pozwalających na szeroki dostęp do systemu. Wykorzystanie tych profili powinno być bardzo restrykcyjnie zarządzane, a ich użycie ograniczone tylko do sytuacji awaryjnych.

Najważniejszym profilem szerokiego dostępu jest SAP_ALL – pozwala on na wykonanie dowolnej transakcji, dostępu do dowolnego obiektu, funkcji czy akcji (nie bez powodu w żargonie administratorów SAP o tym profilu zwykło się mówić „Bóg na systemie”). Istotne jest by ten profil nie został nigdzie przypisany. Podobnie sprawa ma się z profilem SAP_NEW

 

6. Konflikty uprawnień

Nieodpowiednie dostarczenie użytkownikom praw dostępu do różnych części systemu to zwiększone ryzyko defraudacji.

Przykład: jeśli jedna osoba posiada zarówno możliwość zmiany numeru konta bankowego oraz możliwość wykonania przelewu – istnieje możliwość obejścia polityk organizacji w celu wyprowadzenia pieniędzy na zewnątrz.

Reasumując: istotne jest aby odpowiednio zarządzać matrycą konfliktów uprawnień. Matryca taka pozwala przede wszystkim na identyfikację istniejących konfliktów, a weryfikacja dostępów poszczególnych użytkowników pozwoli na ocenę ryzyk. Realizacja skutecznej polityki dostępów do danych w SAP stanowi jeden z najważniejszych elementów uszczelnienia środowiska SAP pod kątem ryzyk, których głównym czynnikiem jest działanie użytkownika.