Bezpieczeństwo systemów

Szczególną wagę przykładamy do bezpieczeństwa systemów, od których często zależy ciągłość biznesu naszych Klientów.

 
 
 

Wstęp

Bezpieczeństwo traktujemy w e-point bardzo poważnie. Od początku istnienia firmy kładliśmy nacisk tak na bezpieczeństwo wewnątrz aplikacji, jak i środowiska hostingowego. W Okresie Heroicznym, wprowadziliśmy bezpieczeństwo do świadomości wszystkich pracowników, nie tylko administratorów i programistów, ale również producentów, menedżerów, sekretariatu i personelu sprzątającego.
Niedługo potem, w 2004r. spisaliśmy formalnie politykę bezpieczeństwa obowiązującą systemy produkowane i hostowane w e-point. Zdefiniowaliśmy jasno część niejawnie obowiązujących zasad, a przy okazji podzieliliśmy dokumenty i dostosowaliśmy naszą politykę bezpieczeństwa do wymogów GIODO, aby nasi Klienci mieli pewność że powierzone nam do przetwarzania zbiory danych osobowych są chronione. Zapewniamy również pomoc przy rejestracji zbioru.

Zależności między dokumentami związanymi z bezpieczeństwem systemów

Strzałki wskazują na dokument, od którego zależy dokument bardziej szczegółowy. W ramach omówionych prac przygotowaliśmy następujące dokumenty:

  • PB/PUB - ,,Polityka bezpieczeństwa, część publiczna'',
  • PB/PFN - ,,Polityka bezpieczeństwa, część poufna'',
  • PB/INST - ,,Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych'',
  • PB/IRP - ,,Procedura postępowania w przypadku stwierdzenia naruszenia bezpieczeństwa'',
  • ZDO/Klient/Numer - opis zbioru danych osobowych o numerze Numer dla Klienta (numer jest kolejny dla Klienta),
  • Oświadczenia - Oświadczenia pracowników mających dostęp do zbioru danych osobowych,
  • Upoważnienia - Upoważnienia dla pracowników mających dostęp do zbioru danych osobowych.

Szybko okazało się, że mnogość dokumentów jest trudna do ogarnięcia w postaci papierowej. Dlatego na własne potrzeby napisaliśmy dedykowany system informatyczny do wspomagania zarządzania ochroną danych osobowych i powstającymi dokumentami towarzyszącymi.

Widoczny na rysunku dokument PB/IRP dołączył do zestawu w 2010, kiedy rosnąca krytyczność systemów obsługiwanych przez e-point SA i rosnące w związku z tym ryzyko wystąpienia incydentów sieciowych skłoniły nas do formalnego zdefiniowania procedury i uzgodnienia z Klientami sposobów kontaktu i postępowania w przypadku wystąpienia incydentu.

Nie wierzymy w ,,security by obscurity'', ale oczywiście nie możemy tutaj poinformować dokładnie o wszystkim co robimy, aby zapewnić bezpieczeństwo systemów znajdujących się pod naszą opieką. Z konieczności przedstawione tu informacje są niepełne bądź ogólnikowe.

Holistyczne podejście

Bezpieczeństwo to dość niewdzięczny temat, przy tym niewygodny, bo wprowadza procedury i ograniczenia, których nikt ich nie lubi. Na dodatek nigdy nie zwracający wprost poniesionych inwestycji - nagrodą jest trudno dostrzegalny brak problemu. Trzeba zostawić na chwilę entuzjazm związany z wdrażaniem systemów i zastanowić się: co się może zdarzyć, jak temu zapobiegać i ile to będzie kosztować. Bezpieczeństwu można poświęcić całe tomy, konferencje i sztab ludzi. Wśród wielu środków, które możemy zastosować, aby zwiększyć bezpieczeństwo systemu, są lepsze (nieskomplikowane a efektywne) i gorsze (skomplikowane i mało efektywne).

W e-point SA przyjęliśmy trzy zasady w podejściu do bezpieczeństwa:

  • Bezpieczeństwo trzeba traktować całościowo - całe środowisko hostingowe jest tak bezpieczne jak jego najsłabsze ogniwo.
  • Trzeba zdefiniować elementy, które nie mogą podlegać kompromisom i muszą znaleźć się w każdym zarządzanym przez e-point SA środowisku hostingowym.
  • Każda technika zwiększająca bezpieczeństwo musi być kosztowo adekwatna do chronionych danych.

Bezpieczeństwo to bardzo szeroki temat, zaczyna się od bezpieczeństwa fizycznego budynków, poprzez sieć, serwery, middleware, aplikację, na edukacji pracowników e-point i użytkowników systemu kończąc. Obrazuje to niniejszy rysunek:

Świadomość i procesy

Holistyczne podejście do bezpieczeństwa zakłada przede wszystkim sprzyjający utrzymaniu bezpieczeństwa klimat - budowanie świadomości bezpieczeństwa wśród wszystkich pracowników e-point SA, nie wyłączając Członków Zarządu, którzy wyraźnie wyrażają swoje poparcie dla wdrażanych procedur i akceptują niezbędne wydatki.
Bezpieczeństwo to nie stan, a proces, który nigdy się nie kończy. Z jednej strony procesem jest koncepcja ciągłego doskonalenia, ale to za mało. Aby proces zwiększania bezpieczeństwa był bardziej świadomy powołaliśmy dwóch Specjalistów ds. Bezpieczeństwa:

  • jeden, będący administratorem, skupia się na wszystkich elementach środowiska hostingowego (sieć, firewalle etc),
  • drugi, będący programistą, skupia się na przekazaniu wiedzy nt. programowania bezpiecznych systemów.

Oba obszary są bardzo ważne, ale śledząc informacje ze świata i kraju o wykorzystanych wektorach ataku widać, że najłatwiej atakującym przełamać zabezpieczenia przez:

  • błędy aplikacji webowej np. XSS, CSRF,
  • błędy ludzkie np. słabe hasła czy podatność na phishing.

Dlatego oprócz hostingu bardzo ważna jest edukacja programistów, web developerów i użytkowników końcowych oraz korzystanie ze sprawdzonych technologii, gdzie rzadko występują groźne podatności, zwłaszcza typu remote exploit. Za edukację wewnętrzną odpowiedzialni są Specjaliści ds. Bezpieczeństwa. Nasi pracownicy przechodzą również szkolenia zewnętrzne z tego zakresu, zwłaszcza takie, które obejmują praktyczne warsztaty, np. możemy rekomendować te organizowane przez Niebezpiecznik.

Kolejny proces sprzyjający bezpieczeństwu to ... rekrutacja. Tak, uważamy, że w naszym biznesie najważniejsi są ludzie, nie inaczej jest w przypadku administratorów. Rekrutacja do e-point SA trwa dość długo, spotykamy się z wieloma kandydatami i bardzo uważnie wybieramy pracownika. Nasza kadra składa się dzięki temu z profesjonalistów którym, nieobca jest etyka, a rotacja kadr praktycznie nie występuje. Jest to znakomity, świadomie dobrany element zabezpieczeń przez incydentami powodowanymi przez tzw. insiderów.

Warto wspomnieć o jeszcze jednym procesie, który zapewnia, że systemy ,,nie pleśnieją'' i stosowane w nich zabezpieczenia są sprawne - to przeglądy logów i monitoringu oraz bieżące śledzenie dostępnych technologii.

Warstwa fizyczna

Jako warstwę fizyczną rozumiemy tutaj nie warstwę fizyczną w modelu sieci OSI, ale elementy istniejące fizycznie, które trzeba chronić przed zagrożeniem fizycznym. Krótko mówiąc - mamy na myśli budynki (centrum hostingowe i siedzibę firmy), pokoje, w których znajduje się sprzęt i sam sprzęt. Zabezpieczenia mają chronić przed kradzieżą, celowym zniszczeniem oraz pożarem i zalaniem.

Zabezpieczenie centrum hostingowego powierzamy profesjonalistom w tej dziedzinie - firmie ATM, z którą współpracujemy od 2004 roku. Serwerownie ATM to nowoczesne budynki wyposażone w strefy bezpieczeństwa, elektroniczne zamki z kontrolą dostępu, listy dostępowe, kamery przemysłowe, strażników, a zasoby potrzebne do niezawodnego działania, takie jak prąd, klimatyzacja czy łącza są dostarczane z odpowiednią redundancją.

Sieć

Warstwa sieci to miejsce na implementację środków tradycyjnie rozumianych jako środki zapewniające bezpieczeństwo. Na poziomie sieci umieszczamy następujące zabezpieczenia:

  • firewalle,
  • podział na sieci fizyczne i wirtualne,
  • szyfrowanie kanału komunikacyjnego, SSL, SSH, IPSec.

Middleware


Bezpieczeństwo na poziomie middleware zbudowaliśmy dokonując kilku wyborów:

  • Uważny dobór oprogramowania Open Source. Wybieramy takie oprogramowanie, które jest szeroko stosowane i żywe (część projektów Open Source w sposób naturalny zamiera), dla którego regularnie wychodzą aktualizacje łatające luki bezpieczeństwa, a w niektórych przypadkach istnieje dobrze zdefiniowany proces określający czas życia kolejnych wydań. Dobre przykłady wiarygodnego i żywego oprogramowania to: Apache, Postgresql, a z systemów operacyjnych Linux Debian, OpenBSD.
  • Skupienie się na wybranych produktach komercyjnych. Zbudowaliśmy silne kompetencje w ramach wybranych produktów komercyjnych. Uznaliśmy, że trudno byłoby być dobrym we wszystkim, dlatego skupiliśmy się na ofercie IBM - AIX, DB2, WebSphere, TSM i Oracle - baza danych i serwer aplikacji.
  • Podjęliśmy decyzję o napisaniu własnej platformy do tworzenia zaawansowanych aplikacji Java Enterprise - OneWeb. Krok ten daje nam liczne korzyści (o których można przeczytać tutaj), w tym bezpośrednie wsparcie dla programistów w tworzeniu bezpiecznych aplikacji.
  • Wybór maszyny wirtualnej Javy (JVM) jako platformy, na której uruchamiamy nasze aplikacje. JVM wprowadza dodatkową separację między systemem operacyjnym a kodem aplikacji. Jest to jeszcze jedna warstwa, którą trzeba pokonać zanim uda się wykorzystać potencjalny błąd w oprogramowaniu systemowym. Na chwilę obecną okazuje się to wręcz niewykonalne, oczywiście przyszłość może się okazać inna. Nie było lub co najmniej nie ma ataków typu remote code execution lub privilege escalation na maszynę wirtualną Java działającą jako serwer (nie mylić z Javą po stronie Klienta gdzie sytuacja nie jest już tak klarowna).

Na koniec parę oczywistych spraw - częste aktualizacje, oprogramowanie w miarę możliwości działające w trybie użytkownika, pilnowanie konfiguracji, zmiana opcji i haseł domyślnych.

System operacyjny

Na poziomie systemu operacyjnego jest wiele do zrobienia zarówno pod względem czysto technicznym, jak i psychologicznym. Istnieje cała sztuka zabezpieczania systemu operacyjnego zwana hardening. Istnieją dystrybucje, które kładą szczególny nacisk na bezpieczeństwo i pakiety, które zwiększają możliwości zarządzania dostępem do zasobów w już istniejących dystrybucjach. Problem polega na tym, że wraz ze wzrostem bezpieczeństwa spada wygoda użytkownika czy wręcz możliwości danego systemu operacyjnego, rosną też koszty zarządzania nim.

My oszacowaliśmy ryzyko i określiliśmy w jaki sposób zabezpieczamy systemy operacyjne. Podstawowe środki to:

  • Ograniczenie dostępnych usług tylko do tych niezbędnych.
  • Logowanie zdarzeń.
  • Brak pełnego dostępu do systemu operacyjnego dla osób spoza e-point.

Słowa wyjaśnienia wymaga ostatni punkt. Staramy się dopasować do wymagań Klienta, ale tego punktu nigdy nie poddajemy. Po pierwsze system operacyjny to, nie licząc jądra systemu, kombinacja setek programów i skryptów w różnych językach, a w każdym z nich wcześniej czy później znajdowane są podatności do wykorzystania. Po drugie oprócz systemu operacyjnego ochrony wymaga druga końcówka, czyli stacja robocza użytkownika który korzysta z dostępu do systemu na poziomie powłoki. Podpisując umowę hostingową i utrzymaniową bierzemy na siebie pełną odpowiedzialność za ochronę systemu - w tym za sposób, w jaki nasi administratorzy i programiści łączą się z serwerem w celu zarządzania systemem operacyjnym, oprogramowaniem pośredniczącym czy aplikacją. Nie możemy wziąć na siebie takiej odpowiedzialności w przypadku nadania dostępu osobom nie będącym naszymi pracownikami.

Logowanie

Logowanie zdarzeń jest naszym zdaniem warte wyróżnienia w osobnym punkcie, gdyż, według nas jest to niezwykle ważny aspekt zapewnienia bezpieczeństwa oraz stabilności działania systemu w długim okresie czasu. Logi dają się analizować w sposób automatyczny i półautomatyczny pod kątem anomalii, odchyleń od normy różnych wartości, częstotliwości występowania wyjątków i błędów, prób włamania itp. W przypadku złamania zabezpieczeń, logi pozwalają przeprowadzić śledztwo, znaleźć źródła i wektor ataku, w ostateczności umożliwiają przekazanie dowodów organom ścigania.

Na logi trzeba spojrzeć ,,szeroko''. Źródło logów to nie tylko system operacyjny, to również, a współcześnie przede wszystkim, logi aplikacji. Wartościowe informacje zawierają również logi firewalla i serwera aplikacji.

Aplikacja

Analizując na bieżąco zagrożenia jakie stwarza internet, możemy jasno wskazać główny punkt, w którym najczęściej dochodzi do przełamania zabezpieczeń - aplikacja. W e-point SA poświęcamy dużo czasu na minimalizację zagrożenia wynikającego ze źle napisanej aplikacji. W niniejszej sekcji kilka razy wskazujemy ten kierunek jako wymagający najwięcej uwagi i środki, jakimi to osiągamy. Podsumowując:

  • powołanie stanowiska Specjalisty ds. Bezpieczeństwa w obszarze aplikacji,
  • własna platforma OneWeb z wbudowanymi mechanizmami wspierającymi pisanie bezpiecznych aplikacji,
  • edukacja pracowników.

Dużo dobrego w kwestii usystematyzowania wiedzy dotyczącej bezpiecznych aplikacji webowych wniósł The Open Web Application Security Project, krótko OWASP. Testujemy nasze aplikacje pod kątem rekomendacji OWASP. Niektóre rekomendacje są na liście obowiązkowej, ale część nie ma zastosowania w tworzonych przez nas aplikacjach bądź niesie ze sobą określone skutki funkcjonalne - wtedy przedstawiamy zagrożenia Klientowi, wspólnie szacujemy zagrożenie i decydujemy co dalej robić.

Wielokrotnie nasze aplikacje były poddawane audytom bezpieczeństwa. Zachęcamy wręcz do tego naszych Klientów. Bezpieczeństwo to walka z prawdopodobieństwem i ludzkimi słabościami - nigdy nie wykluczamy, że możemy coś przeoczyć. Każdy audyt traktujemy jako okazję do poszerzenia naszych umiejętności i zwiększenia bezpieczeństwa dla wszystkich Klientów.

 
 
 

Masz pytanie?

 
 
 
Norbert Pabiś
 
Norbert Pabiś

Dyrektor ds. Realizacji

tel. +48 502 575 516

norbert.pabis at e-point dot pl