Z pamiętnika inżyniera Data Center – „Opowieść o ACL i kopiuj wklej”
Epizod 5
Access lista. Prosta rzecz, prawda? Zbiór reguł, które decydują o tym, czy pakiecik danych ma przejść, czy nie. Taki strażnik w bramce klubu, tylko zamiast „lista gości” mamy IP, porty i protokoły. Teoretycznie sprawa banalna — wszystko czarno na białym. Albo zielono na czarnym, jeśli preferujesz klasyczny terminal. Administratorzy sieci uwielbiają ACL, bo dają im władzę. Minimalizowanie ryzyka, zgodność z politykami, optymalizacja wydajności sieci — brzmi jak plan na życie, prawda?
No więc przejdźmy do tej historii…
Zasłyszanej od dobrego znajomego po fachu…Zadanie było proste jak budowa kabla Ethernet: wymiana urządzeń i przepisanie całego zestawu reguł ACL z jednego urządzenia na drugie. Żadnych cudów, żadnego debugowania — po prostu kopiuj-wklej. Każdy, kto choć raz robił to w życiu, wie, że to praca nie tyle skomplikowana, co nudna. Tak nudna, że możesz w połowie pracy zacząć liczyć kropki na suficie albo zastanawiać się, czy w serwerowni naprawdę jest 21 stopni, czy może 20,9.
Administrator siedział więc przed konsolą i „zawijał w papierki” te linijki kodu. Ctrl+C, Ctrl+V, jedna po drugiej, jak w fabryce. W pewnym momencie — prawdopodobnie gdzieś między 500. a 600. regułą — nasz bohater poczuł, że jego mózg zaczyna przestawiać się w tryb czuwania. Mroczki przed oczami, światło monitora zaczęło migotać, a w tle brzęczały wentylatory, jakby śpiewały kołysankę.
Ukończona praca, ale…
W końcu praca została ukończona. Administrator wyprostował plecy, przeciągnął się i z poczuciem dobrze spełnionego obowiązku kliknął „zapisz”. Nowe urządzenie przejęło sterowanie siecią, a on odetchnął z ulgą. No cóż, odetchnął na jakieś trzy minuty, bo wtedy zaczęły się telefony.
Najpierw pierwszy, potem drugi. A potem cała lawina. Z drugiej strony słuchawki słychać było krzyki:
— BANKOMATY NIE DZIAŁAJĄ!
— COŚ SIĘ STAŁO Z SIECIĄ!?!
Wiecie, co jest zabawne? Gdy administrator usłyszał te wszystkie skargi, najpierw pomyślał, że na szczęście to nie jego wina… Przecież wszystko skopiował, prawda? No, prawie wszystko. Okazało się, że wśród tych setek reguł jedna linijka po prostu… zaginęła w akcji. Może nie została dobrze skopiowana, może klawiatura się zawiesiła, a może zwyczajnie „Ctrl+V” nie zaskoczyło. Niby nic wielkiego, prawda? Jedna linijka. Tylko ta jedna linijka mówiła urządzeniu, że ma pozwolić na ruch między serwerami obsługującymi transakcje bankomatowe.
Skutek?
Zamiast otwartej drogi, serwery miały przed sobą coś, co w slangu nazywamy „firewall totalny” — absolutna blokada. Żadna transakcja nie przechodziła. Ludzie stali przy bankomatach, klikali „wypłać gotówkę” i dostawali tylko komunikat: „Błąd połączenia”. Zdezorientowane spojrzenia, nerwowe telefony i pytania, czy ktoś właśnie okradł cały system bankowy.
Finalnie, znalezienie brakującej linijki zajęło adminowi dokładnie 5 minut i 42 sekundy. Naprawa — kolejne 2 sekundy i już. Tak naprawdę, pewnie nikt nie zauważył, może kilka osób, bo przecież czy to raz bankomat nie działał… bo tak?