OPSEC w SEO


Nie tak dawno temu w polskich internetach profesjonalnych przewijał się wątek #adwebdrama, który na dobrą sprawę jeszcze się nie zakończył. Od wczoraj z kolei informatyczny alimenciarz oprócz walki o demokrację walczy też o security skrzynki na WP.pl. Jako że już dostatecznie objadłem się popcornem czytając i o AdWebie i o informatyku poświęcającym własne dzieci w imię naszego wspólnego demokratycznego dobra, przyszedł czas na napisanie czegoś nie tylko ku przestrodze ale też ku pokrzepieniu serc.

Disclaimer

Niektóre (lub wszystkie) rzeczy opisane przeze mnie poniżej rozsądnemu człowiekowi mogą się wydać kretyńskie. Ale skoro można mieć takie samo hasło do produkcji, do backupu i mówić że tak może być w każdej firmie, albo oszczędności z alimentów inwestować w Wordpressa z hasłami dostępnymi plain textem w publicznym internetcie, to daję sobie w tym poście carte blanche.

Twoje konta

Twoje konta - gdziekolwiek by się nie znajdowały - to Twoje konta. Kropka. Udzielanie dostępu do jakiejkolwiek usługi nigdy nie może odbywać się poprzez dzielenie się z kimś loginem i hasłem. Jeśli uważasz inaczej już teraz możesz sobie darować dalszą lekturę i iść poczytać NaTemat.pl.

Twoja domena - podstawa podstawy podstaw

Nieważne jaki typ operacji w Internecie prowadzisz - czy jest to blog pisany raz na miesiąc czy sklep robiący cebuliony obrotu miesięcznie - nie ma przebacz jeśli nie robisz tego pod własną domeną.

Domena powinna być kupiona u poważnego, godnego zaufania rejestratora, od którego nie kupuje się nic innego. Jaki to jest poważny rejestrator? Np. taki, który:

  • wymusza (lub przynajmniej oferuje) używanie 2FA
  • dzwoni jak opętany telemarketer kiedy domena ma mniej niż 30 dni do wygaśnięcia i nie została jeszcze przedłużona
  • oferuje whois guard czyli usługę ukrywania informacji o abonencie domeny
  • oferuje usługi dodatkowe, takie jak np. Registrar-Lock (oczywiście przy założeniu że Twoja TLD takowe wspiera)

W panelu zarządzania domeną ustawia się możliwie nieduży TTL, żeby w razie awarii mogła się resolvować na inny hosting po niedługim czasie. Trzymając domenę u rejestratora niezwiązanego z hostingiem nie masz problemu jeśli hosting się wysypie.

Na rejestracji domeny się nie oszczędza.

Hosting

IT na poziomie bezpieczeństwa serwerów nie jest moją specjalizacją, więc tym bardziej nie będzie przedmiotem rozważań niniejszego tekstu. W kontekście hostingu jest natomiast jedna konkretna rzecz, na którą chcę zwrócić uwagę.

Jeżeli prowadzisz w sieci biznes, który gromadzi dane Twoich klientów (nie tylko w formie sklepu internetowego - również jako np. system CRM zintegrowany z witryną czy nawet system rozsyłający mailing), to firma robiąca cokolwiek z zakresu SEO/PPC nie ma prawa oczekiwać dostępu do tej części infrastruktury. Jest im to potrzebne jak sanki na pustyni.

Dwa razy zastanów się odpowiadając pozytywnie na prośbę o dane do FTPa. W plikach źródłowych prawie na pewno znajdują się detale połączeń z bazami danych, stąd tylko krok do wycieku. Już nawet nie publicznego - chyba nie chcesz, żeby po jakimś czasie Twoi klienci zaczęli dostawać oferty pozycjonowania? To raz, a dwa - może się też okazać, że cała kupowana “optymalizacja” tak naprawdę jest tylko tymczasowa.

Certyfikat SSL/TLS

Najbliższa mojemu sercu jest inicjatywa Let’s Encrypt, cywilizująca tą działkę. Na potrzeby przejścia do https zwykłej witryny w zupełności wystarczy. Większe niestety nadal muszą korzystać z rozwiązań dotychczasowych. Który dostawca? Pytajcie Waszych ogarniaczy IT.

Usługi Google

Wszystkie usługi Google przypisane są zawsze do jakiegoś konta Google. Konto Google nie jest tożsame z emailem - Gmail to po prostu jeszcze jedna usługa. Można mieć konto Google bez korzystania z Gmaila.

Patrząc z perspektywy witryny, najbezpieczniejszym rozwiązaniem jest założenie dedykowanego konta do usług Google, które nie jest powiązane z żadnym pracownikiem. Zamiast zarządzać usługami z konta [email protected] lepiej robić to poprzez [email protected] - bo Janusz może kiedyś przestać pracować, może być na urlopie pasąc owce w Bieszczadach, albo może kliknąć gdzie nie trzeba i oddać hakerowi dostęp do swojej poczty.

Dysponując jednym, bezosobowym adresem email (który w gruncie rzeczy nawet nie musi przecież być skrzynką - wystarczy funkcjonalność aliasu/forwardera do skrzynek osób z zespołu webmasterów) można na spokojnie rejestrować na niego wszystkie pozostałe usługi Google. Nawiasem mówiąc taki alias przydaje się również do sporej ilości innych rzeczy, jak na przykład rejestracje kont na witrynach, do których później naprawdę dobrze mieć dostęp (aktualizacja danych nt. firmy w Zumi?).

Zarządzanie dostępami w poszczególnych usługach Google za moment opiszę, ale wcześniej jeszcze jedna, moim zdaniem bardzo istotna, uwaga. Otóż panuje powszechna tendencja do łączenia pracy z życiem prywatnym poprzez dokładanie do usług użytkowników z loginami w ramach @gmail.com. Taka praktyka jest niebezpieczna ponieważ zwiększa prawdopodobieństwo powodzenia ataku phishingowego. Prywatne adresy email na ogół zostawia się w witrynach, które mają słabsze zabezpieczenia niż to, z czym ma się do czynienia w pracy. Często też zdarza się recykling haseł, czyli używanie tego samego bądź tylko kilku do absolutnie wszystkiego (por. raport Consumer Survey: Password Habits - A study of password habits among American consumers wg którego 61% ludzi robi coś takiego, a 54% dysponuje pulą zaledwie 5 haseł lub mniejszą). Bezpieczniej zatem przyjąć politykę loginów ściśle związanych z życiem zawodowym - już sam fakt, że login jest inny, utrudni potencjalny atak. W przypadku korzystania z Google Apps można także wymusić używanie 2FA.

Search Console (dawniej Webmaster Tools)

Dostęp do panelu Search Console przyznać można przez wbudowany tam mechanizm. W ramach dokumentacji istnieje strona ze szczegółowymi instrukcjami, nie tylko w zakresie przyznawania dostępu. Ograniczę się tylko do kilku spostrzeżeń praktycznych.

  • Przed rozpoczęciem współpracy ze specjalistą SEO może zachodzić potrzeba spojrzenia do SC w celu ustalenia warunków współpracy. Na tym etapie tylko dostęp ograniczony.
  • Jeśli masz już Search Console podłączone pod swoje konto Google to nie przyjmuj od żadnej firmy prośby o autoryzację polegającej na dodaniu pliku weryfikacyjnego czy tagu <meta ...>. Od tego jest proces opisany w linkowanym wyżej dokumencie pomocy.
  • Jeśli jeszcze nie masz - nie ceduj tego na firmę tylko załóż samodzielnie i wtedy przyznaj ich przedstawicielom odpowiedni dostęp.

Google Analytics

Zarządzanie użytkownikami w Google Analytics wygląda podobnie jak w Search Console, z tą różnicą, że pojawiają się tutaj dodatkowe poziomy:

  • Konto
  • Usługa
  • Widok

Użytkownika można dopisać na każdym z nich. Istnieją także różne opcje przy nadawaniu uprawnień. Szczegółowe informacje zawierają następujące strony pomocy: dodawanie/usuwanie użytkowników, poziomy uprawnień.

Praktycznie:

  • Pamiętaj, że Google Analytics nie działa wstecz. Modyfikacje np. dotyczące filtrów będą miały nieodwracalny wpływ na gromadzone dane. Dlatego firmy zewnętrzne dopuszczaj raczej do wydzielonych widoków jednocześnie zawsze trzymając jakiś widok zapasowy, gdzie nie będą wprowadzane żadne modyfikacje.
  • Jeśli do Analytics podłączone jest AdWords, raporty będą zawierać informacje o tym ile wydajesz i na co. To oczywiście cel linkowania obu tych usług, ale zależnie od tego co wykonuje dla Ciebie jakaś firma, ujawnianie tego konkretnego aspektu stronie trzeciej nie musi być już pożądane. W takim wypadku znów przyda się osobny widok, bez włączonego importu danych z AdWords.

Google AdWords

AdWords stanowi trochę inną bestię w kwestii dostępów jeśli porównać ją z dwiema opisanymi powyżej. Przede wszystkim dlatego, że jako jedyne ma koncept konta zbiorczego, zwanego kontem menedżera AdWords. Najczęściej używane przez agencje, nie jest jednakże jakimś dobrem reglamentowanym - każdy może takowe sobie założyć i w gruncie rzeczy rekomenduję taki pomysł. Szczegółowe informacje co i jak zrobić żeby je uzyskać zwiera strona pomocy.

Jeśli chcesz powierzyć prowadzenie kampanii PPC jakiejś firmie najlepiej zrobić to właśnie poprzez podanie im tylko identyfikatora usługi i potem zatwierdzenie dostępu do konta. Dzięki temu oni mogą prowadzić usługę, a Ty w każdej chwili możesz ich dostęp odebrać.

A co jeśli masz więcej niż jedno konto AdWords? To również nie jest problem - wystarczy stworzyć własne konto menedżera, podłączyć pod nie wszystkie konta, którymi ma się zająć agencja i udzielić dostępu poprzez podanie ID konta menedżera.

Wszystkich zainteresowanych praktycznymi stronami strukturyzowania kont AdWords odsyłam do drugiego odcinka SEOrii, w którym ten temat dogłębnie omówiliśmy.

Google Tag Manager

GTM to, po dostępie do hostingu, najważniejszy bastion, o bezpieczeństwo którego trzeba zadbać. Przyznawanie dostępów odbywa się podobnie jak w przypadkach już omówionych - strona pomocy wszystko wyjaśnia.

Od strony praktycznej trzeba jednakże wspomnieć o czymś, co nazywa się Niestandardowy tag HTML. Google pisze o nim tak:

Kwestie bezpieczeństwa i wydajności

Najlepszym sposobem na uniknięcie problemów z wydajnością i złośliwym oprogramowaniem jest używanie szablonów tagów wbudowanych w Menedżerze tagów Google. Menedżer tagów Google obsługuje wiele szablonów tagów innych producentów. Jeśli tag, który chcesz zaimplementować, nie jest jeszcze wbudowany w Menedżerze tagów Google, możesz zaproponować swojemu dostawcy tagów dołączenie do Programu dla dostawców tagów Menedżera tagów Google.

W przekładzie na polski brzmi to mniej więcej tak:

Poprzez GTM możesz tworzyć specjalny rodzaj tagu, który łyka jakikolwiek kod JavaScript. GTM załaduje go na każdej stronie, jeśli tak wskaże regułka uruchamiająca. Oznacza to, że nawet ktoś bez niecnych zamiarów może zupełnie wyłożyć Twoją witrynę wstawiając przez GTM popsuty kod JS. A ktoś o niecnych zamiarach? Nie musi nawet robić włamu bezpośrednio na hosting.

Z powyższego wynikają dwa aspekty do zważenia.

Po pierwsze - użytkowników trzeba trzymać krótko. Tylko firmowe domeny, tylko dwuetapowa weryfikacja i systemowe wymuszanie skomplikowanych haseł tam, gdzie się da. Poziomy dostępu ustawiane tylko na zasadzie zbliżonej do need to know.

Po drugie - jeżeli stoisz przed dylematem czy wstawiać na witrynę jakiś snippet kodu JS od jakiejś agencji czy sieci reklamowej, a nie ma go jako pre-definiowanego ustawienia w ramach GTM - zachodzi uzasadnione podejrzenie, że nie ma sensu tego robić. Oprócz potencjalnych niebezpieczeństw wymienionych powyżej narażasz się również na możliwość ataku poprzez skrypty dołączane z takich źródeł (por. niedawny przypadek infekowania malwarem przez tak duże serwisy jak msn.com, nytimes.com, bbc.com czy aol.com).