W minioną niedzielę, po kilku latach blogowania miałem swoje dwie sekundy w blasku. Okazuje się jednak, że nie byłem na nie gotowy, a nagły przypływ popularności mnie przerósł.
W kilku słowach o tym, jak do tego doszło.
Awaria internetu
Zazwyczaj słysząc zwrot „awaria internetu” mamy na myśli przerwę w dostawie pomiędzy dostawcą internetu a naszym domem. W piątek, 21 października, mieliśmy do czynienia z nieco innym problemem.
Ekspertów internetowych zachęcam do pominięcia dwóch kolejnych akapitów, bo staram się tu napisać najprostszym językiem.
W wielkim skrócie: maszyny w sieci komunikują się za pomocą adresów IP. Ciężko byłoby korzystać z internetu na co dzień w ten sposób, dlatego posługujemy się domenami. Każdorazowo po wpisaniu adresu w przeglądarce internetowej do serwera, na którym dana strona stoi, wysyłany jest sygnał, że przeglądarka chce wyświetlić stronę. Procesem tłumaczenia nazwy domenowej na adres IP zajmuje się DNS.
Atak metodą DDoS polega na wygenerowaniu sztucznego ruchu z wielu miejsc jednoczesnej, który poprzez próbę połączenia z wybraną usługą przeciąża ją do tego stopnia, że przestaje ona działać.
Okej eksperci, możecie czytać dalej
We wspomniany piątek doszło do DDoSa na serwery firmy Dyn, będącej jednym z największych operatorów adresów DNS. Atak składał się z trzech rozłożonych w czasie fal, co dodatkowo utrudniało obronę. Problem objęty został przede wszystkim teren US&A, ale odczuwalny był również w innych częściach świata. W skutek tych działań przestała działać połowa internetu. Przerwę w działaniu odnotowały takie usługi, jak Twitter, PayPal, Spotify, Netflix, Disqus, Soundcloud, BBC, CNN, GitHub czy Etsy. Przestały działać niektóre karty kredytowe, bankomaty czy systemy rezerwacji. Była to zdecydowanie największa awaria w historii internetu. A „eksperci” twierdzą, że był to tylko test wykorzystujący 10% możliwości atakujących.
Zabawne, że komentując te wydarzenia napisałem znajomej: „Na szczęście mynameisaks.com działa”. Chyba muszę uważać na słowa…
Pycha
Jestem blogerem nieudacznikiem.
Nie uczęszczam na blogerskie spotkania, nie buduję sieci kontaktów, nie poklepuję się po pleckach. Ale na przestrzeni lat, głównie za sprawą pracy w interaktywie, zdarzyło mi się zakolegować z kilkoma osobami, którym w tejże blogosferze jednak wyszło.
I zdarzało mi się próbować kilka razy na tej znajomości skorzystać i ogrzewać się w ich blasku. Chwytałem natarczywie za nogawki i potrząsałem, próbując zwrócić na siebie uwagę. A jak się nie udawało, to obrażałem się rzucając pod nosem kąśliwe komentarze.
Piszę o tym wprost. Bo z perspektywy czasu czuję się tą postawą zażenowany. Sam przecież dopiero co stwierdziłem, że… dobry kontent obroni się sam!
I w końcu… Stało się. Jeden z kolegów postanowił pomóc, udostępniając mój wpis. i dostałem swoje dwie sekundy. Okazało się jednak, że zupełnie na nie nie byłem przygotowany.
Efekt Gonciarza
Kilka chwil temu wrzuciłem na bloga fotorelację z wizyty Krzyśka Gonciarza w Krakowie. Przyjąłem wtedy założenie, że wszyscy wiedzą kto zacz. Dość szybko okazało się jednak, że istnieje życie poza internetem. I kilkoro znajomych zapytało mnie: “Kto to w ogóle jest?”.
Każdemu z nich obiecałem w najbliższym czasie podesłać kilka linków, które pozwolą mniej więcej zrozumieć z kim mamy do czynienia. I tak powstał wpis “Kim jest Krzysiek Gonciarz?”. Opublikowałem go w niedzielę rano, chwilę później wrzuciłem na fejsa i standardowo otagowałem Krzyśka. Chyba mu się spodobało, bo postanowił udostępnić go na swoim Twitterze (26k śledzących) i fanpejdżu (blisko 300k fanów).
Mój kolega ze studiów napisał na swoim blogu krótką notkę targetowana do ludzi, którzy pytają go “kto to ten Gonciarz”. Wyszło fajne intro do mojej twórczości, więc jak ktoś ma niepełny obraz to powinien rzucić sobie okiem.
I w ten oto sposób w ciągu niespełna 10 minut otrzymałem swojego prywatnego DDoSa. Ilość prób wejścia na bloga była tak duża, że większość osób zobaczyła komunikat “508 — Limit został osiągnięty” lub “500 — serwer nie może obsłużyć tego żądania”.
Spanikowany zadzwoniłem do administratora mojego hostingu, ale dowiedziałem się, że niewiele jesteśmy w stanie zrobić. Usłyszałem, że strona nie umarła całkowicie — niektórym szczęśliwcom udaje się na nią dostać, ale zdecydowana większość jest odrzucana. Potwierdziły to statystyki, z których wynikało, że aktualnie na blogu przebywa około 50 osób.
Problemem był brak założonego cache’a na blogu. Znów, w wielkim skrócie — gdybym go miał, wszyscy wchodzący na stronę otrzymywaliby już wygenerowaną na serwerze statyczną stronę zamiast próbować łączyć się z bazą w celu pobrania danych. Więc gdybym go miał, w ogóle bym nie odczuł problemu.
Przez kolejne dwie godziny próbowałem dobić się do własnego panelu administracyjnego, żeby tenże cache włączyć. Gdy już mi się to udało, w mgnieniu oka odzyskałem stabilność. I liczba osób aktualnie przebywających na stronie wzrosła czterokrotnie.
Wnioski
Niestety, zawiodło mnie wsparcie Kylosa, czyli firmy hostingowej. Przez telefon nie uzyskałem zbyt wielu informacji, na odpowiedź na zgłoszenie czekałem ponad godzinę. I z niej również niewiele wynikało.
Dowiedziałem się, dwóch rzeczy: że “jak spadnie ruch strona sama się odblokuje” (serio?!) oraz tego, że w moim pakiecie mam określone limity połączeń i że jak je wysyciłem, to nic już z tym nie zrobimy. I choć byłem w stanie podwyższyć plan żeby ratować sytuację — o żadnej opcji zwiększenia pakietu lub limitu nie było mowy.
To co zabolało najbardziej to fakt, że DDoS na głównym blogu położył równocześnie trzy pozostałe strony. Nie, żebym miał tam aktualnie jakikolwiek ruch. Ale mogłem mieć.
Kilka dni przed całą sytuacją zdążyłem opłacić fakturę za hosting na kolejny rok. Więc teraz, gdy emocje już opadły, nie jestem już aż tak bardzo chętny do wykonywania jakichkolwiek ruchów w tym obszarze. Zwłaszcza, że do tej pory zawsze wystawiałem im laurkę i rekomendowałem znajomym. Być może w tym ostatnim będę bardziej ostrożny.
Brak cache’a to nauka, którą wyciągnę na całe życie. Poza wtyczką na blogu równocześnie konfiguruję zewnętrzny system w postaci CloudFlare’a.
Ostatnim wnioskiem jest potrzeba ruszenia tematu optymalizacji i poprawy stabilności bloga. Bo do tej pory podchodziłem do tych kwestii — delikatnie mówiąc — nonszalancko.
Nauka na błędach jest szczególnie bolesna. Ale, mimo wszystko… Fajnie, fajnie — znowu nowe doświadczenia :)