Bezpieczna budowla
- Rafał Jakubowski,
- 16.10.2007
Coraz więcej organizacji realizuje wdrożenia związane z architekturą usługową i technologiami Web Services. Zanim jednak rozpocznie się taki projekt, warto wcześniej zastanowić się nad kwestiami bezpieczeństwa.
Coraz więcej organizacji realizuje wdrożenia związane z architekturą usługową i technologiami Web Services. Zanim jednak rozpocznie się taki projekt, warto wcześniej zastanowić się nad kwestiami bezpieczeństwa.
Istnieją różne koncepcje SOA, podejścia architektonicznego bazującego na luźno powiązanych ze sobą usługach działających niezależnie od platformy systemowej i sprzętowej. Celem jej wdrażania jest przede wszystkim uzyskanie elastyczności środowiska, większej szybkości tworzenia nowych aplikacji oraz obniżenie kosztów ich utrzymania. Ważnym elementem technologicznym współgrającym z SOA jest Web Services, czyli system programowy służący do komunikacji pomiędzy maszynami działającymi w sieci.
firm wykorzystuje architekturę SOA, ale nie ma zdefiniowanej strategii (Forrester Research)
Można jednak zauważyć, że podczas wdrażania systemów SOA wciąż powielane są podobne błędy. Jednym z nich jest np. tworzenie tzw. silosów bezpieczeństwa, przez co rozumie się systemy zabezpieczeń dedykowane poszczególnym aplikacjom, zamiast abstrahowania od nich i tworzenia systemu bezpieczeństwa jako centralnej usługi. Z drugiej strony pojawiają się projekty, których celem jest budowanie systemu zabezpieczeń wyłącznie dla SOA i usług Web. Obydwa te podejścia są niewłaściwe.
Błędem jest także przekonanie, że problem zabezpieczeń rozwiązuje wdrożenie technologii SSL. Aplikacje SOA mają bowiem wiele warstw i każdą z nich należy chronić. W tym przypadku z pomocą mogą przyjść systemy zarządzania tożsamością, tzw. klasy 4A (Autentykacja, Autoryzacja, Audyt, Administracja). Warto także pamiętać, że choć ogólnie zabezpieczenia architektury usługowej mają podobny charakter co zabezpieczenia stosowane w tradycyjnych aplikacjach, to dodatkowo pojawiają się też pewne specyficzne zagrożenia. Najważniejsze jest jednak, by przyjmując strategię SOA dla organizacji nie zapominać o bezpieczeństwie, a pamiętając o nim, warto wziąć pod uwagę prezentowane niżej rekomendacje.
1 Unikać silosów
firm już posiada strategię SOA (Forrester Research)
Dlatego ogromnym ułatwieniem jest stworzenie centralnej usługi działającej zgodnie z przyjętymi regułami dostępowymi. Takie podejście rozwiązuje wszystkie problemy, o których była mowa wcześniej. Ten sam model sprawdza się doskonale nie tylko w przypadku relacji pomiędzy systemem a użytkownikiem, ale także w architekturze usługowej, w relacjach między maszynami.
2
Nie ufać programistom
Bezpieczeństwo SOA to zadanie przede wszystkim dla eksperta specjalizującego się w tworzeniu architektury korporacyjnej (enterprise architecture). Od kilku lat w dużych firmach zatrudnia się osoby, których głównym zadaniem jest zagwarantowanie, żeby powstające w firmie systemy informatyczne miały dobrze zaprojektowaną architekturę. Realizowanie projektów "na gorąco", bez wcześniejszego przemyślenia, jak powstająca część będzie pasowała do całości, prowadzi zwykle do chaosu. Bezpieczeństwo jest ważnym elementem tej architektury. I to właśnie osoby nadzorujące powstawanie systemu, a nie programiści tworzący aplikacje powinni zajmować się systemem zabezpieczeń.