Jak zapobiegać atakom polegającym na wstrzykiwaniu SQL WordPress (7 wskazówek)
Czy chcesz zapobiec atakom polegającym na wstrzykiwaniu SQL do WordPressa?
Wstrzykiwanie SQL to luka w zabezpieczeniach, którą hakerzy mogą wykorzystać do ataku na bazę danych Twojej witryny. Gdy to zrobi, osoba atakująca może odczytać poufne dane, zmodyfikować je i przejąć kontrolę nad całą bazą danych.
W tym artykule podzielimy się krok po kroku kilkoma praktycznymi wskazówkami, jak zapobiegać atakom polegającym na wstrzykiwaniu SQL w WordPress.
Dlaczego warto zapobiegać atakom typu SQL Injection na WordPress?
SQL oznacza Structured Query Language, który jest językiem programowania komunikującym się z bazą danych Twojej witryny WordPress. Bez tej funkcji Twoja witryna nie będzie w stanie wygenerować żadnej dynamicznej treści.
Jednak nieautoryzowane wprowadzanie danych przez użytkownika, nieaktualne oprogramowanie lub ujawnianie poufnych informacji może spowodować lukę w zabezpieczeniach i ułatwić hakerom przeprowadzanie ataków polegających na wstrzykiwaniu kodu SQL.
Celem tego ataku jest serwer bazy danych i dodanie złośliwego kodu lub instrukcji do kodu SQL. Robiąc to, hakerzy mogą wykorzystać poufne informacje przechowywane w bazie danych, takie jak dane użytkownika, do kradzieży tożsamości, przejęcia konta, oszustw finansowych i nie tylko.
Mogą także zmieniać wpisy w bazie danych lub uprawnienia konta oraz przeprowadzać ataki DDOS, utrudniając rzeczywistym użytkownikom odwiedzenie Twojej witryny.
Może to zaszkodzić zaufaniu klientów, negatywnie wpłynąć na wygodę użytkowników i zmniejszyć ruch w witrynie, co będzie niekorzystne dla rozwoju małej firmy.
Powiedziawszy to, rzućmy okiem na kilka praktycznych wskazówek, które mogą zapobiec atakom polegającym na wstrzykiwaniu SQL w WordPress.
Notatka: Przed wprowadzeniem jakichkolwiek zmian w bazie danych w celach zapobiegawczych, zalecamy utworzenie jej kopii zapasowej. Dzięki temu, jeśli coś pójdzie nie tak, możesz skorzystać z kopii zapasowej, aby to naprawić. Aby uzyskać szczegółowe informacje, zapoznaj się z naszym samouczkiem na temat ręcznego tworzenia kopii zapasowej bazy danych WordPress.
1. Regularnie aktualizuj witrynę i korzystaj z zapory sieciowej
Skutecznym sposobem zapobiegania atakom polegającym na wstrzykiwaniu SQL jest regularne aktualizowanie witryny WordPress do najnowszej wersji. Aktualizacje te często łatają luki w zabezpieczeniach, w tym problemy z oprogramowaniem baz danych, co utrudnia hakerom atak na Twoją witrynę.
Jeśli używasz przestarzałej wersji WordPressa, zalecamy włączenie automatycznych aktualizacji do najnowszej wersji, odwiedzając stronę Panel » Aktualizacje strona.
Tutaj wystarczy kliknąć link „Włącz automatyczne aktualizacje dla wszystkich nowych wersji WordPress”. Teraz wszystkie główne aktualizacje zostaną zainstalowane w Twojej witrynie po wydaniu.
Aby uzyskać więcej informacji, możesz zapoznać się z naszym przewodnikiem dla początkujących dotyczącym bezpiecznego aktualizowania WordPressa.
Gdy już to zrobisz, możesz także dodać zaporę sieciową dla dodatkowego bezpieczeństwa. Ta funkcja działa jak tarcza między Twoją witryną a ruchem przychodzącym i blokuje typowe zagrożenia bezpieczeństwa, w tym ataki SQL, zanim dotrą one do Twojej witryny.
Do tej funkcji polecamy Sucuri, które jest najlepszym oprogramowaniem firewall WordPress na rynku. Oferuje zaporę sieciową na poziomie aplikacji, ochronę przed brutalną siłą, a także usługi usuwania złośliwego oprogramowania i czarnych list, co czyni go doskonałym wyborem.
Ponadto narzędzie pomogło nam w przeszłości zablokować około 450 000 ataków WordPress na naszą witrynę.
Aby uzyskać więcej informacji, zapoznaj się z naszym pełnym przewodnikiem bezpieczeństwa WordPress.
2. Ukryj swoją wersję WordPressa
Domyślnie WordPress wyświetla aktualny numer wersji oprogramowania, którego używasz na swojej stronie. Na przykład, jeśli używasz WordPressa 6.4, ta wersja będzie wyświetlana w Twojej witrynie w celu śledzenia.
Jednak publiczna widoczność numeru wersji może powodować zagrożenia bezpieczeństwa i ułatwiać hakerom przeprowadzanie ataków polegających na wstrzykiwaniu SQL WordPress.
Dzieje się tak, ponieważ każda wersja WordPressa ma swoje własne, unikalne luki, które atakujący mogą wykorzystać po odkryciu Twojej wersji. Umożliwi im to dodanie fragmentów złośliwego kodu do Twojej witryny za pomocą wrażliwych pól wejściowych.
Możesz łatwo usunąć numer wersji ze swojej witryny, dodając następujący fragment kodu do plikufunctions.php.
add_filter('the_generator', '__return_empty_string');
Gdy to zrobisz, hakerzy nie będą mogli znaleźć numeru wersji WordPressa za pomocą automatycznych skanerów ani w żaden inny sposób.
Notatka: Pamiętaj, że drobny błąd podczas dodawania kodu może spowodować, że Twoja witryna stanie się niedostępna. Dlatego polecamy WPCode. Jest to najlepsza wtyczka do fragmentów kodu, która sprawia, że dodawanie niestandardowego kodu do witryny jest wyjątkowo bezpieczne i łatwe.
Aby uzyskać więcej informacji, zapoznaj się z naszym samouczkiem na temat prawidłowego usuwania numeru wersji WordPress.
3. Zmień prefiks bazy danych WordPress
Domyślnie WordPress dodaje prefiks wp_ do wszystkich plików bazy danych, co ułatwia hakerom zaplanowanie ataku poprzez wybranie prefiksu.
Najłatwiejszym sposobem zapobiegania atakom polegającym na wstrzykiwaniu SQL jest zmiana domyślnego prefiksu bazy danych na coś unikalnego, czego hakerzy nie będą w stanie odgadnąć.
Możesz to łatwo zrobić, łącząc swoją witrynę internetową za pomocą protokołu FTP. Następnie otwórz plik wp-config.php i znajdź zmianę $table_prefix
linia. Następnie możesz zmienić to ustawienie z domyślnego wp_
do czegoś innego, takiego jak to: wp_a123456_
.
$table_prefix = 'wp_a123456_';
Następnie musisz odwiedzić cPanel swojego konta hostingowego. W tym samouczku będziemy używać Bluehost, jednak Twój cPanel może wyglądać nieco inaczej w zależności od firmy hostingowej.
Tutaj przejdź do zakładki „Zaawansowane” i kliknij przycisk „Zarządzaj” obok sekcji „PHPMyAdmin”.
Spowoduje to otwarcie nowej strony, na której musisz wybrać nazwę bazy danych w lewej kolumnie i przejść do zakładki „SQL” u góry.
Następnie możesz dodać następujące zapytanie SQL do pola tekstowego.
Pamiętaj tylko, aby zmienić prefiks bazy danych na ten, który wybrałeś podczas edycji pliku wp-config.php.
RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;
Aby uzyskać więcej instrukcji, zapoznaj się z naszym samouczkiem na temat zmiany prefiksu bazy danych WordPress w celu poprawy bezpieczeństwa.
4. Zweryfikuj dane użytkownika
Hakerzy zazwyczaj wprowadzają ataki SQL na Twoją witrynę internetową, korzystając z pól służących do wprowadzania danych użytkownika, takich jak sekcje komentarzy lub pola formularzy kontaktowych.
Dlatego ważne jest, aby sprawdzić wszystkie dane przesyłane na blogu WordPress. Oznacza to, że dane użytkowników nie zostaną przesłane do Twojej witryny, jeśli nie będą miały określonego formatu.
Na przykład użytkownik nie będzie mógł przesłać formularza, jeśli pole adresu e-mail nie będzie zawierało symbolu „@”. Dodając tę weryfikację do większości pól formularza, możesz zapobiec atakom polegającym na wstrzykiwaniu kodu SQL.
Aby to zrobić, będziesz potrzebować Formidable Forms, czyli zaawansowanej wtyczki do tworzenia formularzy. Zawiera opcję „Format maski wprowadzania”, w której można dodać format, którego użytkownicy muszą przestrzegać, aby przesłać dane w polu formularza.
Możesz dodać określony format numerów telefonów lub pojedynczych pól tekstowych.
Jeśli nie chcesz sprawdzać poprawności pól formularza, zalecamy WPForms, ponieważ jest to najlepsza wtyczka do formularza kontaktowego z pełną ochroną przed spamem i obsługą Google reCAPTCHA.
Za jego pomocą możesz także dodawać menu rozwijane i pola wyboru do swoich formularzy. Utrudni to hakerom dodanie złośliwych danych.
Więcej szczegółów znajdziesz w naszym tutorialu na temat tworzenia bezpiecznego formularza kontaktowego w WordPress.
5. Ogranicz dostęp i uprawnienia roli użytkownika
Kolejną wskazówką, jak zapobiegać atakom polegającym na wstrzykiwaniu SQL WordPress, jest ograniczenie dostępu użytkowników do Twojej witryny.
Na przykład, jeśli masz bloga wielu autorów, będziesz mieć różnych autorów wraz z subskrybentami i administratorami. W takim przypadku możesz poprawić bezpieczeństwo witryny, ograniczając pełny dostęp administracyjny tylko do administratora.
Możesz ograniczyć wszystkie pozostałe role użytkowników do określonych funkcji, których będą potrzebować do wykonania swojej pracy. Ograniczy to dostęp użytkowników do bazy danych i zapobiegnie atakom polegającym na wstrzykiwaniu kodu SQL.
Możesz to zrobić za pomocą bezpłatnej wtyczki Usuń dostęp do pulpitu nawigacyjnego. Po aktywacji wystarczy odwiedzić stronę Ustawienia » Dostęp do pulpitu nawigacyjnego strona, na której możesz zdecydować, które role użytkowników uzyskają dostęp do dashboardu.
Jeśli chcesz ograniczyć użytkowników w zależności od ich możliwości, możesz zapoznać się z naszym samouczkiem na temat dodawania lub usuwania funkcji z ról użytkowników w WordPress.
Podobnie możesz także ograniczyć autorów do ich własnych postów w obszarze administracyjnym, aby zwiększyć bezpieczeństwo.
6. Utwórz niestandardowe komunikaty o błędach bazy danych
Czasami użytkownicy mogą natknąć się na błąd bazy danych w Twojej witrynie, który może wyświetlić ważne informacje o Twojej bazie danych, narażając ją na ataki polegające na wstrzykiwaniu SQL.
W takim przypadku zalecamy utworzenie niestandardowego komunikatu o błędzie bazy danych, który będzie wyświetlany użytkownikom, gdy napotkają ten typowy błąd. Aby to zrobić, skopiuj i wklej następującą treść do notatnika i zapisz plik jako „db-error.php”.
<?php // custom WordPress database error page
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hour = 3600 seconds
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
You got problems.
</body>
Następnie podłącz swoją witrynę do programu FTP i prześlij właśnie utworzony plik do katalogu /wp-content/ swojej witryny.
Teraz, gdy użytkownicy natkną się na błąd bazy danych w Twojej witrynie, zobaczą po prostu komunikat o błędzie informujący ich o problemie, nie ujawniając żadnych wrażliwych informacji.
Dodatkowo w zakładce przeglądarki internetowej wyświetli się tytuł „Błąd bazy danych”.
Aby uzyskać więcej informacji, zapoznaj się z naszym samouczkiem na temat dodawania niestandardowej strony błędu bazy danych w WordPress.
7. Usuń niepotrzebną funkcjonalność bazy danych
Aby zapobiec atakom polegającym na wstrzykiwaniu SQL, powinieneś także spróbować usunąć ze swojej witryny wszystkie funkcje bazy danych i pliki, których nie potrzebujesz.
Możesz na przykład usunąć niepotrzebne tabele, śmieci lub niezatwierdzone komentarze, które mogą narazić Twoją bazę danych na ataki hakerów.
Aby usunąć niepotrzebną funkcjonalność bazy danych, zalecamy WP-Optimize. To niesamowita wtyczka, która usuwa niepotrzebne tabele, poprawki postów, wersje robocze, usunięte komentarze, usunięte posty, pingbacki, metadane postów i wiele więcej.
Usuwa wszystkie niepotrzebne pliki i optymalizuje bazę danych, aby stała się bezpieczniejsza i szybsza. Aby uzyskać szczegółowe informacje, zobacz nasz przewodnik dla początkujących dotyczący optymalizacji bazy danych WordPress.
Bonus: Skorzystaj z usług WPBeginner Pro, aby utworzyć bezpieczną witrynę
Po podjęciu wszystkich środków zapobiegawczych przeciwko atakom polegającym na wstrzykiwaniu SQL, możesz także zdecydować się na usługi WPBeginner Pro.
Pomożemy Ci zidentyfikować i naprawić wszelkie inne luki w zabezpieczeniach, o których nie wiesz. Ponadto, jeśli spotkałeś się już z atakiem polegającym na wstrzykiwaniu SQL, nasi eksperci mogą pomóc Ci ograniczyć szkody i odzyskać systemy.
Możesz także zlecić nam poprawę optymalizacji szybkości witryny, zaprojektowanie, SEO, a nawet całkowitą przebudowę istniejącej witryny WordPress, niezależnie od tego, czy została zhakowana, czy nie.
Aby uzyskać więcej informacji, sprawdź wszystkie nasze usługi profesjonalne WPBeginner.
Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak zapobiegać atakom polegającym na wstrzykiwaniu SQL WordPress. Możesz także zapoznać się z naszym przewodnikiem dla początkujących na temat zarządzania bazami danych WordPress i naszymi najlepszymi wyborami najlepszych wtyczek do baz danych WordPress.
Jeśli spodobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube, aby zapoznać się z samouczkami wideo WordPress. Można nas znaleźć także na Świergot i Facebooku.