Jak skutecznie ukryć informację o wersji WordPress na swojej stronie

Po dłuuuuugiej nieobecności wracam z kolejnym wpisem na firmowym blogu. Tym razem temat podsunięty przez użytkownika FotoGuzik w komentarzach do wpisu poświęconego tematyce poprawienia bezpieczeństwa strony opartej na WP. A mianowicie jak ukryć informację o wersji WordPress-a na swojej stronie. Sprawa jest dość prosta i każdy średnio zaawansowany miłośnik WP powinien bez problemu poradzić sobie z tym tematem. Tak więc zaczynamy.

Po co mi to?

Odpowiedź na to zasadnicze pytanie jest bardzo prosta – dla bezpieczeństwa. Domyślnie WP udostępnia informację o numerze wersji oprogramowania zainstalowanego aktualnie na Twojej stronie. Znacznik wersji jest umieszczony w sekcji <head> w kodzie HTML strony i przedstawia się następująco:

<meta name="generator" content="WordPress 4.7.3" />

Bez problemu podejrzysz kod w swojej przeglądarce klikając PPM na stronie i wybierając opcję „Pokaż źródło strony”. Także pewnie już w tym momencie wiesz czy Twój WP chwali się światu swoją wersją oprogramowania, czy też nie.

Okey, ale co z tego? Niech sobie będzie, dla czego ma mi zależeć na ukryciu tej informacji?

Powinno Ci zależeć, jeżeli zależy Ci na bezproblemowym działaniu prowadzonej przez siebie strony, a tym samym na jej bezpieczeństwie. Oprócz zwykłych (ludzkich) odwiedzających na nasze strony wchodzą boty, roboty i wszelkiego rodzaju inne automaty, których zadaniem na zawsze jest tylko indeksacja nowych podstron. Internetowi przestępcy (tzw. Script Kiddies) często korzystają z tego typu oprogramowania do lokalizowania w sieci stron podatnych na ataki. Później znając luki w oprogramowaniu ( których jak każdy system nie uniknął także WP ) dokonują ataków wykorzystując gotowe skrypty.

Na tego typu ataki szczególnie narażone są starsze wersje WP. W myśl zasady – im starsza wersja, tym więcej znanych i nie zabezpieczonych luk. Problem dotyczy szczególne tych, którzy prowadzą wiele stron i często zapominają o ich aktualizowaniu, a także tych, którzy nie zbyt systematycznie zaglądają na swoje panele administracyjne.

Jeżeli logujesz się na dashboard swojej strony systematycznie i zawsze aktualizujesz WP do najnowszej wersji, możesz spać spokojnie. Sprawdź <header> naszego blog-a 😉 Jeżeli tak nie jest, radzę, żebyś wykonał  na swoje stronie poniższe czynności.

Ukrywamy informację o wersji naszego WP

Pośród wordpressowej społeczności krążą dwa dość popularne sposoby. Pierwszy polega na usunięciu odpowiedniej linijki w kodzie odpowiedzialnym za generowanie sekcji <head> strony. Wydaje się to z resztą logiczne. Kod ten znajdziesz w pliku header.php,  który znajduje się w katalogu z aktywnym szablonem (theme). Np. dla szablonu dostarczanego przez twórców WP będzie to:

/wp-content/themes/twentysixteen/

Odszukaj linijkę kodu odpowiedzialną za wyświetlanie wersji i ją usuń lub zakomentuj:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Drugi, trochę bardziej poprawny sposób wykorzystuje mechanizm haków (hooks) WP. Polega on an usunięciu jednej z akcji ustawionych dla haka wp_head:

remove_action('wp_head', 'wp_generator');

Powyższy kod dodaj na końcu w pliku functions.php, który także znajdziesz w katalogu z aktywnym szablonem.

I co sprawa załatwiona?

Nie całkiem. Powyższe zmiany rzeczywiście poskutkują usunięciem informacji z nagłówka <head> Twojej strony, ale ktoś, kto ma pojęcie o WP i tak bez trudu dowie się jakiej używasz wersji. Jakim cudem? Zajrzy na kanał RSS twojego bloga.

Jak się okazuje WP domyślnie tworzy kanały RSS dla Twoich postów. W zależności do tego czy masz ustawione przyjazne url-e, czy też nie znajdziesz go pod którymś z adresów:

twojastrona.pl/?feed=rss
twojastrona.pl/?feed=rss2
twojastrona.pl/?feed=rdf
twojastrona.pl/?feed=atom

lub

twojastrona.pl/feed/
twojastrona.pl/feed/rss/
twojastrona.pl/feed/rss2/
twojastrona.pl/feed/rdf/
twojastrona.pl/feed/atom/

 

I tutaj spotyka nas przykra niespodzianka. W kodzie z kanałem RSS (tym razem XML) niestety dalej widnieje wersja Twojego WP:

<generator>https://wordpress.org/?v=4.7.3</generator>

W takim razie jak żyć? Dobrze się domyślasz, na to również jest sposób. Wystarczy dodać w functions.php następującą funkcję:

function sd_usun_versje() {
   return '';
}
add_filter('the_generator', 'sd_usun_versje');

 

Dzięki temu prostemu trikowi usuniesz informację o wersji nie tylko z <head> Twojej strony, ale również z kanałów RSS. To poprawne rozwiązanie tej kwestii.

Jako ciekawostkę na koniec zostawiłem temat jednej z ostatnich dziur. Sprawa dotyczy wersji 4.7.1, także starszej od aktualnej tylko o 2 aktualizacje 😉 Otóż była to dość duża wtopa, ale na szczęście niezbyt niebezpieczna. Wykorzystując lukę atakujący mógł zmienić treść pierwszego posta na blogu. Na szczęście tylko pierwszego. Więcej info znajdziecie pod poniższym linkiem:

https://wordpress.org/support/topic/wordpress-4-7-1-hacked-by-ng689skw/

Oczywiście polecam wam przede wszystkim aktualizowanie swoich WP na bieżąco. Powyższe rozwiązania, traktujcie tylko i wyłącznie jako doraźny sposób lub ciekawostkę.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *