7 Güvenlik Açıkları WordPress güvenlik eklentileriniz sizi koruyamaz (ve bunları manuel olarak nasıl düzeltebilirsiniz)

Yayınlanan: 2025-01-27

Çoğu WordPress kullanıcısı gibiyseniz, muhtemelen web sitenizi güvende tutmak için bir güvenlik eklentisi yüklediniz. Bu mükemmel bir ilk adımdır ve özellikle iki faktörlü kimlik doğrulamasını etkinleştirdiyseniz, korumanızın çoğunu ele alacaktır.

Ama ilk adımı vurguladığım için fark edin. Bunu kasıtlı olarak yaptım çünkü birçok insan bunun atması gereken tek adım olduğunu düşünüyor. Sitenizin güvenliğini gerçekten önemsiyorsanız, o zaman olmamalıdır.

İyi haber şu ki, bazı hafif manuel yapılandırmalarla, WordPress güvenliğinizi sunucu düzeyinde geliştirebilir ve sitenizi saldırılara önemli ölçüde daha dirençli hale getirebilirsiniz. Ek bir bonus olarak, bunu yaparken bir WordPress güvenlik uzmanı gibi hissedeceksiniz - muhtemelen tüm sürecin en önemli kısmı. 😉

Bu nedenle, sıradan bir WordPress kullanıcısından bir profesyonel haline dönüşmeye ve web sitenizi kurşun geçirmez hale getirmeye hazırsanız, başlayalım.

İçindekiler

Araç kutusu

İster inanın ister inanmayın, bunu çıkarmak için, sadece üç (muhtemelen dört) araca ihtiyacınız olacak.

  • Sucuri Site Kontrolü : İlk taramanızı çalıştırmak ve değişikliklerinizi doğrulamak için ücretsiz araç.
  • Güvenlik başlıkları : Web sitesi güvenlik yapılandırmaları hakkında ayrıntılı geri bildirim sağlayan bir başka ücretsiz araç.
  • Barındırma kontrol panelinize erişim : CPanel kullanıyorum, ancak başka bir şey varsa ne yapacağımı ele alacağım.
  • Bir metin düzenleyicisi (belki): Barındırma kontrol panelinizde muhtemelen bir tane yerleşiktir, bu nedenle bu gerekli olmayabilir, ancak her ihtimale karşı burada listeliyorum.

Yukarıdaki listeden en karmaşık şey CPanel'e erişecek. Zor değil, ancak her barındırma şirketinin bunu yapmanın kendi yolu var ve daha önce hiç yapmadıysanız, bunu anlamanız gerekir.

Buna yaklaşmanın en kolay yolu (emin değilseniz) barındırma şirketinizin web sitesi bilgi tabanına gitmek ve “cpanel” aramaktır. Bu sizi hiçbir yere götürmezse, müşteri desteklerine ulaşın.

İlk Güvenlik Kontrollerinizi Çalıştırma

Sitenizin koduyla uğraşmaya başlamadan önce, önce şu anda güvenliği nasıl ele aldığını kontrol etmek istersiniz. Sizi göstereceğim değişiklikler çok spesifiktir, böylece aslında siteniz için gerekli olduklarından emin olmak istersiniz.

Çoğu durumda - özellikle paylaşılan barındırmaya güveniyorsanız - bunları yapmanız gerekir. Ancak, bazı üst düzey yönetilen WordPress barındırma planlarında, ev sahibinizin sizin adınıza ince ayar yapabilmesi mümkündür. Bu nedenle bu taramaları önceden çalıştırmanın neden önemlidir.

Sucuri Site Kontrolü

Başlamak için Sucuri'nin site kontrol aracına gidin ve web sitesi adresinizi tarayıcıya yapıştırın:

Sucuri Site Kontrol Sayfası.

Gönder'i tıklayın ve Sucuri'nin sihrini çalışmasına izin verin.

Bu öğreticinin amaçları doğrultusunda, standart WordPress yapılandırmasının neye benzediğini göstermek için kişisel sitemi kasıtlı olarak korumam (düzenlemeleri yapmadan önce):

Güvenlik güvenlik açıklarını gösteren ilk Sucuri taramasının sonuçları.

Gördüğünüz gibi, tarama, herhangi bir tipik WordPress kurulumunda göreceğiniz beş güvenlik boşluğunu ortaya çıkardı. Bir anda ne anlama geldiğini açıklayacağım.

Güvenlik başlıkları

Sucuri bize iyi bir kuşbakışı görüşü verirken, bir an için gerçekten nerdy alalım ve güvenlik başlıklarının ne söylediğini kontrol edelim. İlk adım Sucuri ile tamamen aynıdır - sadece web sitenizin adresini yazın veya yapıştırın ve taramaya tıklayın.

Sitenizin ne kadar büyük olduğuna bağlı olarak, sonuçlar bir saniyeden ... iyi, daha uzun sürebilir. 😅 İlk sonucum şöyle görünüyordu:

SecurityHeaders.com Başarısız Güvenlik Taraması.

Tüm kırmızı renkler ve dev F biraz korkutucu görünebilir, ancak aslında bize çok yararlı bilgiler veriyor. Bu kırmızı işaretlerin her biri, sitenizi daha savunmasız hale getiren eksik bir güvenlik başlığına işaret ediyor.

Ayrıca, Sitenizde WordFence veya başka bir güvenlik eklentisi yüklü olsa bile bu sonuçları göreceğinizi yeniden vurgulamak istiyorum. İstisna, barındırma şirketiniz veya başka biri sizden önce yapacağımız düzenlemeleri yapıyorsa.

Tüm kırmızı bayrakları anlamak

Şimdi taramalarımızın bulduğu her şeyi düzenleyelim - araçlar arasında bir miktar örtüşme var, ancak her biri de bazı benzersiz sorunlar yakaladı.

Her iki aracı da yakaladı 🤝

  • İçerik-güvenlik politikası tamamen eksik-yani sitede hangi komut dosyalarının ve içeriğin yükleyebileceğini kontrol eden hiçbir şey yok. ℹadım neden bu kötü? Bu kontroller olmadan, kötü amaçlı kod enjekte edilebilir ve sayfalarınıza çalıştırılabilir, potansiyel olarak sitenizi ve ziyaretçilerinizi ödün verebilir.
  • X-Frame-Options eksiktir, bu da siteyi yetkisiz gömme yoluyla tıklama girişimlerine karşı savunmasız bırakır. ℹadım neden bu kötü? ClickJacking, saldırganların kullanıcıları, genellikle meşru sitenizi kötü niyetli içerik altında görünmez bir şekilde katlayarak, gördüklerinden farklı bir şeyi tıklamaya kandırmasıdır.
  • MIME tipi karışıklık saldırılarını sağlayabilecek içerik tipi opsiyonlar ayarlanmamıştır. ℹadım neden bu kötü? MIME tipi karışıklık, bir tarayıcı bir tür dosyayı diğeri olarak tedavi etmek için kandırıldığında, potansiyel olarak zararlı kod yürüttüğünde meydana gelir.

Sucuri'nin eşsiz bulguları 🔍

  • PHP sürümü HTTP başlıklarında görünür. ℹadım neden bu kötü? Saldırganlar PHP sürümünüzü görebildiklerinde, güvenlik sisteminizin bir planına sahip olmak gibi, sitenize karşı hangi güvenlik açıklarının çalışabileceğini tam olarak bilirler.

Güvenlik başlığının ekstra görüşleri 🔬

  • Yetkilendirme politikası yok. ℹadım neden bu kötü? Bu politika olmadan, siteniz kullanıcılarınızın tarama modelleri hakkında diğer web sitelerine duyarlı bilgileri sızdırabilir.
  • İzin politikası yapılandırılmamıştır. ℹadım neden bu kötü? Bu, sitenizdeki herhangi bir sayfanın potansiyel olarak ziyaretçilerin kameralarına, mikrofonlarına veya konum verilerine kısıtlama olmadan erişim isteyebileceği anlamına gelir.
  • Sıkı-İadiye-Güvenlik eksik. ℹadım neden bu kötü? Bu başlık olmadan, sitenize bağlantılar HTTP'lerden HTTP'ye düşebilir ve bu da onları müdahaleye karşı savunmasız hale getirebilir.

Bu sorunları düzeltmenin güzelliği, her teknik ayrıntıyı anlamanıza gerek olmamasıdır - çözümleri doğru bir şekilde uygulamanız gerekir. Bu, uygun bir şekilde, tam olarak yapmak üzereyiz.

Sunucu dosyalarına giden yolu bulmak

Benim gibi CPanel'iniz olduğunu varsayarsak, gösterge panelinizdeki Dosya Yöneticisi'ne tıklayın:

CPanel üzerinden dosya yöneticisine erişme.

CPanel dışında bir şey kullanıyorsanız, FileZilla'yı indirebilirsiniz (ücretsizdir ve işte nasıl kullanılacağına dair hızlı bir rehber). Yükledikten sonra, sunucunuza bağlanmak için barındırma panounuzdaki FTP ayrıntılarınızı kullanın:

  • Ana bilgisayar: ftp.yoursite.com - CPanel'in FTP bölümünde doğru adres olup olmadığını iki kez kontrol edin
  • Kullanıcı Adı: your-username
  • Şifre: your-password
  • Port: 21 - Ayrıca kurulumunuzun kullandığı bağlantı noktası olup olmadığını da kontrol edin (CPanel'de FTP)

Bazı ana bilgisayarlar size benzer şekilde çalışabilecek kendi cpanel alternatiflerini de sağlayacaktır. Başka bir deyişle, Filezilla'yı kesinlikle kullanmanız gerekmeyebilir. Emin değilseniz, müşteri desteğini sorun.

.Htaccess dosyasını bulmak

Giriş yaptıktan sonra, bilgisayarınızın dosya tarayıcısına benzeyen bir şey göreceksiniz. .htaccess adlı belirli bir dosya bulmalıyız - sunucunuzun çeşitli güvenlik ayarlarını nasıl işlediğini denetler. Bunu bulmanın en kolay yolu, sağ üstte cpanel dosya yöneticisi arama işlevini kullanmaktır. FileZilla kullanıcıları benzer bir özelliğe güvenebilir.

Pencereye .htaccess yazın ve Git'i tıklayın.

CPanel dosya yöneticisinde .htaccess dosyasını arıyor.

Barındırma hesabınıza bağlı yalnızca bir web siteniz varsa, bu oldukça basit olmalıdır. Birden fazla siteniz varsa, bu düzenlemeleri yapacağınız siteyle ilişkili .htaccess dosyasına tıkladığınızdan emin olun.

Dikkat edilmesi gereken bir başka potansiyel Tripwire detayı, tek bir site kurulumunda bile, muhtemelen başka .htaccess -ish dosyalarına sahip olmanızdır. Temel olarak adlarında .htaccess sahip olan dosyaları değil, daha sonra başka kelimeler veya karakterler.

Bunlardan hiçbirini istemiyorsun. Sadece .htaccess olarak adlandırılan olanı ve başka bir şey olmasını istiyorsunuz.

Güvenlik sorunlarını çözmek için .htaccess dosyasına kod ekleme

Dosyayı bulduktan sonra, herhangi bir düzenleme yapmadan önce indirmek istersiniz. Bu şekilde bir şeyler ters giderse, klasöre geri yükleyebileceğiniz bir yedeklemeniz vardır.

Düzenlemeden önce .htaccess dosyasını indirin.

Hiçbir şey yanlış gitmemeli, ama güvende olmak , bildiğinizden daha iyidir.

Yedeklemeniz güvenli bir şekilde indirildikten sonra .htaccess dosyasını düzenlemeye devam edebilirsiniz. CPanel'in Dosya Yöneticisi'nde dosyayı sağ tıklatın ve Düzenle'yi seçin. FileZilla kullanıyorsanız, sağ tıklayın ve görünüm/düzenle'yi seçin-bu, dosyayı varsayılan metin düzenleyicinizdeki açacaktır.

Bir sonraki bölüm tüm bu görevin zirvesidir. Kısa bir süre için bir WordPress güvenlik uzmanı gibi hissedeceğiniz yer burası. Sürerken tadını çıkarın.

Kodu .htaccess dosyanıza nereye koyabilirsiniz 👨🏻‍💻

WordPress kurulumlarında genellikle # BEGIN ve # END ile başlayan yorumlarla işaretlenmiş birkaç bölüm vardır.

Şunu yazan bir satır arayın:

 # END WordPress

En güvenli yaklaşım, güvenlik başlıklarını bundan hemen sonra eklemektir . Tam satırı görmüyorsanız veya emin değilseniz, dosyanın en ucuna başlıkları ekleyebilirsiniz - mevcut herhangi bir kod ile yeni eklemeler arasında boş bir satır bıraktığınızdan emin olun.

İşte kod:

 # BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers

İşiniz bittikten sonra, sağ üstteki değişiklikleri kaydet'i tıklayın. Canel olmayan kullanıcılar için, kendi arayüzünüzde eşdeğer düğmenin ne olursa olsun bulun.

Bu şekilde, değişikliklerinizin etkisini görmek için güvenlik taramalarını tekrar çalıştırabilirsiniz.

Güvenlik kontrollerini yeniden çalıştırıyor

İlk olarak, güvenlik başlıklarını kontrol edin:

SecurityHeaders.com Güvenlik Taraması'nı geçti.

Çok kötü değil, ha?

Bir F'den A'ya gittik.

Bir parıltı hakkında konuşun!

Yapılandırdığımız her güvenlik üstbilgisi düzgün uygulandığı gibi gösterilmiştir.

Sonra, Sucuri'yi kontrol edelim:

Başlık kodu ekledikten sonra Sucuri taraması.

Çok daha iyi ama garip bir şekilde hala iki uyarı var.

Birincisi aslında yanlış bir pozitiftir, çünkü sitemin WordFence çalıştığını biliyorum. Bunun için hiçbir açıklamam yok, belki de Sucuri herhangi bir nedenle WordFence'ı tanımıyor. Aynı uyarıyı görürseniz ve ayrıca bir WAF yüklü olduğunu da biliyorsanız, onu görmezden gelin.

İkinci mesaj biraz farklı. Ayrıca, güvenlik başlıkları sonucunda da ortaya çıkıyor, yıldızların altında size gösterdiğim bir not raporu:

SecurityHeaders.com güvenlik taramasını geçti, ancak uyarılarla.

İşte şu:

Her iki araç tarafından “tehlikeli” olarak işaretlenmesine rağmen, güvensiz bir yan hat kullanımı aslında mükemmeldir.

WordPress, özellikle Block Düzenleyicisi ve Eklentileri için işlev görmesi için belirli JavaScript ve CSS yeteneklerine ihtiyaç duyar. Yani bunu halledmenin teknik olarak daha katı yolları olsa da (bu olmayan referansların bununla ilgili olduğu), bunu yapmak sitenizi kıracaktır. Gerçekten.

Buradaki en iyi benzetme bir evi düşünmektir. Tüm pencerelerinizi ve kapılarınızı çimento ile kapatarak evinizi teknik olarak “daha ​​güvenli” hale getirebilirsiniz, ancak bu evinizi işlevsel değildir. Bu aynı fikir.

Sarma

WordPress güvenlik eklentileri iyi bir güvenlik stratejisinin temelidir - ancak belirli kritik korumaların ayarlanması gereken sunucu seviyesine ulaşamazlar.

7 Güvenlik Açıkları #WordPress #Security eklentileriniz sizi 🔐'dan koruyamaz
Tweet'e tıklayın

Gördüğünüz güvenlik taramalarından önceki ve sonra ekran görüntüleri bunun kanıtıdır.

Ve şimdi bu öğreticiyi okuduğunuza göre, WordPress güvenliğinizi “eklenti korumalı” dan “sunucu düzeyinde güvenli” e götürebilirsiniz.

Son bir notta, güvenlik en iyi uygulama olarak, aşağıdakileri de yapmanızı öneririm:

  • Bu güvenlik taramalarını aylık olarak çalıştırın.
  • Güvenlik yapılandırmalarınızın belgelerini saklayın.
  • Her şeyin hala amaçlandığı gibi çalıştığından emin olmak için büyük WordPress güncellemelerinden sonra test edin.
  • Giriş sayfası adresinizi değiştirin.
  • Oturum açma girişimlerini sınırlayın.
  • İki faktörlü kimlik doğrulamayı etkinleştirin (veya kısaca 2FA).
  • Eklentileri ve temaları güncel tutun ve kullanmadığınızları silin.

… Ve çok daha fazlası. WordPress Security sizi derin bir tavşan deliğine indirebilir, ancak burada öğrendikleriniz başlamak için yeterlidir ve sitenizi çoğu saldırıdan koruyacaktır.

Herhangi bir sorunuz var mı? Yorumlarda bana bildirin. Sana yardım etmekten mutluluk duyarım.

Yay! Makalenin sonuna geldin!