O bezpieczeństwie po polsku

Jakieś dwa tygodnie temu serwis Sekurak.pl opublikował pierwszy numer swojego zina o bezpieczeństwie. Całego jeszcze nie przeczytałem, ale pierwsze wrażenie bardzo dobre. Przyda się chyba wszystkim mającym styczność z komputerami, poczynając od administratorów systemów, przez programistów, po frontendowców i ogólnie „webmasterów”. Bezpiecznikom chyba też, bo chwalą.

Magazyn napisany jest profesjonalnie – czytelne grafiki, streszczenia artykułów, dobre formatowanie i przykłady. Widywałem gorsze artykuły w płatnych czasopismach. Sporo o podstawach, czyli czym jest CSRF, czym jest SQL injection, czym jest XSS. Zdecydowanie warto pobrać i przynajmniej rzucić okiem, tym bardziej, że po polsku i za darmo, poza tym, pisane w taki sposób, żeby czytający od razu się orientował, czy dany artykuł będzie interesujący.

Do pobrania Sekurak Offline w wersji pdf, mobi oraz epub.

Jak jakiś challange

Liczba ubitych przeze mnie łańcuszków jest ogromna i zasadniczo ice bucket challange uważam za głupi i olewam ciepłym parabolicznym, ze względów różnych, a w szczególności z powodu, który można streścić a kimże jesteś, że stawiasz mi wyzwania i dajesz alternatywy? Od dobroczyństwa to mam WOŚP (i 1% podatku), ale ta wersja[2] dotyczy zabawy z językiem, więc dam szansę, tym bardziej, że mam pomysł (wielkie słowo) na myśl przewodnią, znaczy tematycznie będzie. 😉

  1. Klnie jak szewc – klnie jak Linus na Nvidię
  2. Zabiera się jak pies do jeża – zabiera się jak RMS do instalacji Windows
  3. Proste jak drut – proste jak Ubuntu
  4. Idzie jak krew z nosa – idzie jak torrent na dial-upie
  5. Brzydki jak noc listopadowa – brzydki jak kod w Perlu
  6. Nudne jak flaki z olejem – nudne jak instalacja Windows
  7. Kłamie jak z nut – kłamie jak bogoMIPS
  8. Wyskoczył jak Filip z Konopii – wyskoczył jak Lennard Pottering z systemd
  9. Tani jak barszcz – tani jak program na GPL
  10. Siedzi cicho jak mysz pod miotłą – siedzi cicho jak SSD

Wyzwanie dostałem od lotty, a nominuję… każdego czytelnika tego wpisu posiadającego bloga, który ma chęć wziąć udział w zabawie[2]. Gdyby ktoś się skusił, to prośba o trackback (link poniżej).

[1] Albo wymyślimy 10 parafraz znanych (po dopytaniu: dokładnie tych wyżej wymienionych) frazeologizmów z jednostką „jak” albo zasilamy konto Akademii Przyszłości.

[2] Tak, my way. Dobrowolnie będzie. Poza tym, prosty łańcuszek 1:1, gdzie nominowana jest tylko jedna osoba, jest skazany na szybkie wymarcie.

Jaki serwer DNS wybrać?

Wybór serwera DNS z którego korzystamy na urządzeniu końcowym jest ważny z kilku powodów:

  • Szybkość serwera DNS. Czas oczekiwania na odpowiedzi z serwerów DNS może być istotną częścią czasu ładowania stron Jest to szczególnie widoczne na stronach z dużą ilością wklejek z różnych domen. W przypadku szybkości serwera DNS nie chodzi jedynie o opóźnienie sieci (to można sprawdzić przy pomocy ping), ale o czas udzielenia odpowiedzi. Zależy on już od większej liczby czynników: opóźnienie sieci, posiadanie bądź nie odpowiedniego spisu w cache (oczywiście lepiej, jeśli odpowiada z cache), wydajność sprzętu i oprogramowania na którym działa DNS.
  • Poprawność odpowiedzi. Nic po szybkiej odpowiedzi z serwera DNS, jeśli będzie ona błędna. W skrajnym przypadku możemy paść ofiarą spoofingu DNS i trafić na podstawioną stronę.
  • Neutralność, czyli brak cenzury. Trochę wiąże się z poprzednim zagadnieniem, ale w tym przypadku chodzi o to, że do pewnych stron w ogóle nie będzie można się dostać. O ile działanie takie ma sens przy ograniczaniu zasięgu szkodliwego oprogramowania, to może być także służyć jako ograniczenie dostępu do treści.

 

Co warto zrobić w kwestii DNS?

Jeśli posiadamy sieć lokalną z kilkoma (i więcej) komputerami, to prawie na pewno warto postawić lokalny cache DNS – dzięki temu powtarzające się nazwy będą rozwiązywane lokalnie. Dobrym i prostym rozwiązaniem dla małej sieci jest dnsmasq, dostępny także dla OpenWrt.

Poza tym, warto wybrać te serwery DNS, które odpowiadają najszybciej. Zwykle nie popełnimy dużego błędu, jeśli wybierzemy serwery zalecane przez naszego dostawcę sieci lub wskazane automatycznie.

Czy zawsze lokalny serwer DNS lub oferowany przez naszego dostawcę Internetu jest najlepszy? Niestety nie. Prawie zawsze będzie on najszybszy pod względem opóźnienia sieci, ale już zawartość cache bywa różna. Szczególnie w przypadku lokalnego serwera może się okazać, że jego cache jest pusty dla większości zapytań. Na szczęście zwykle narzut lokalnego serwera nie jest duży.

Jeśli nasz komputer łączy się z internetem za pośrednictwem wielu sieci (wifi, połączenia GSM), można pomyśleć o postawieniu lokalnego cache DNS bezpośrednio na nim.

Jak najprościej znaleźć najlepsze serwery DNS?

Istnieje do tego darmowy i wolny program o nazwie namebench, służący do benchmarku serwerów DNS. Działa na wszystkich systemach, wersję dla Windows i Mac OS X można pobrać ze strony, w przypadku Linuksa zapewne jest w dystrybucyjnym repozytorium. Domyślnie działa z GUI, ale nie jest ono niezbędne – program daje się również uruchomić w konsoli. Ważne jest, żeby nie uruchamiać testu od razu, tylko najpierw przeczytać jak program działa i zastanowić się, co chcemy zrobić. Dlaczego? Ano dlatego, że pierwsze uruchomienie jest najbardziej zbliżone do rzeczywistych warunków ze względu na oryginalną, niezakłóconą poprzednimi testami zawartość cache testowanych serwerów DNS, czyli najbardziej miarodajne.

Jak korzystać z namebench?

W polu nameservers warto podać, oddzielone spacjami przynajmniej: DNS lokalny w sieci (jeśli posiadamy), serwery DNS naszego ISP. W przypadku Polski dodatkowo warto podać serwery DNS Orange (najpopularniejsze to 194.204.159.1 i 194.204.152.34) – kiedyś były dostępne tylko dla klientów TPSA, ale obecnie wyglądają na otwarte – działają z każdej sieci, z której testowałem – i osiągają dobre wyniki. W moim przypadku były szybsze, niż serwery DNS mojego ISP.

Namebench - ekran startowy
Ekran startowy namebench. Źródło: strona domowa programu namebench.

Poza tym, zaznaczamy globalne publicznie dostępne serwery cache’ujące oraz serwery regionalne. Można zaznaczyć sprawdzanie pod kątem cenzury i podzielenie się uzyskanymi wynikami. Lokalizacja to oczywiście Polska, query data source – możemy skorzystać z historii stron którejś z naszych przeglądarek, wyniki będą wówczas bardziej zbliżone do realnych.

Następnie uruchamiamy test i na kilka-kilkanaście minut zostawiamy komputer w spokoju. Po tym czasie otrzymamy wyniki: propozycję trzech najlepszych dla nas – zdaniem programu – serwerów DNS (kolejność ma znaczenie) oraz szczegółowe dane i wykresy. Kluczowy dla szybkości działania sieci jest oczywiście średni czas odpowiedzi z serwera DNS.

Na koniec uwaga: jeśli najszybsze serwery nie należą do naszego ISP ani nie są otwartymi, publicznymi serwerami, może się zdarzyć, że ich właściciel ograniczy za jakiś czas do nich dostęp.