cloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir 48

CloudFlare Firewall Ayarları Nasıl Yapılır? CloudFlare Firewall ile WordPress Güvenliği Nasıl Sağlanır?

Genel Cloudflare Firewall Kuralları

Aşağıdaki kurallar WordPress kullanan web sitelerinin güvenliği için geliştirilmiştir, kuralların bazılarını cloudflare firewall üzerinde değiştirerek başka sistemler için de istediğiniz gibi kullanabilirsiniz.

Cloudflare’da güvenlik duvarı ayarı yapacağımız sitemize tıklıyoruz. “Security” menüsü altında bulunan WAF sekmesine tıklayıp “Create rule” diyoruz . Aşağıdaki eklemeleri teker teker yapın. Kural isimlerini dilediğiniz gibi düzenleyebilirsiniz.

  • Rule Name: General Content Protection [Genel İçerik Koruması]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
  • Üçüncü satırdaki eysar.net yazan yere kendi site isminizi yazın.
(cf.threat_score gt 14) or 
(not http.request.version in {"HTTP/1.0" "HTTP/1.1" "HTTP/1.2" "HTTP/2" "HTTP/3" "SPDY/3.1"}) or
(http.host eq "eysar.net" and not cf.edge.server_port in {80 443}) or
(http.request.uri.path contains "/phpunit") or 
(http.request.uri contains "<?php") or 
(http.cookie contains "<?php") or 
(http.request.full_uri contains "passwd") or 
(http.request.uri contains "/dfs/") or 
(http.request.uri contains "/autodiscover/") or 
(http.request.uri contains "/wpad.") or 
(http.request.uri contains "wallet.dat") or 
(http.request.uri contains "/.env") or
(http.request.uri contains "../") or
(http.request.full_uri contains "webconfig.txt") or 
(http.request.full_uri contains "vuln.") or 
(http.request.uri contains ".sql") or 
(http.request.uri contains ".bak") or 
(http.request.uri contains ".cfg") or 
(http.request.uri contains ".env") or 
(http.request.uri contains ".ini") or 
(http.request.uri contains ".log") or 
(http.request.uri.query contains "bin.com/") or 
(http.request.uri.query contains "bin.net/") or 
(raw.http.request.uri.query contains "?%00") or 
(http.request.uri.query contains "eval(") or 
(http.request.uri.query contains "base64") or 
(http.request.uri.query contains "var_dump") or 
(http.request.uri.query contains "<script") or 
(http.request.uri.query contains "%3Cscript") or 
(http.cookie contains "<script") or 
(http.referer contains "<script") or 
(upper(http.request.uri.query) contains " UNION ALL ") or 
(upper(http.request.uri.query)contains " SELECT ") or 
(raw.http.request.uri contains "../") or 
(raw.http.request.uri contains "..%2F") or
(http.request.uri.path contains ".js.map") or
(http.request.uri.query contains "$_GLOBALS[") or 
(http.request.uri.query contains "$_REQUEST[") or 
(http.request.uri.query contains "$_POST[")
  • Rule Name: Unwanted User-Agents [İstenmeyen Kullanıcı Aracıları]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
(lower(http.user_agent) contains "?%00") or 
(lower(http.user_agent) contains "$[") or 
(lower(http.user_agent) contains "${") or 
(lower(http.user_agent) contains "absinthe") or 
(lower(http.user_agent) contains "appinsights") or
(lower(http.user_agent) contains "mj12bot") or
(lower(http.user_agent) contains "semrushbot") or 
(lower(http.user_agent) contains "dotbot") or 
(lower(http.user_agent) contains "whatcms") or 
(lower(http.user_agent) contains "rogerbot") or 
(lower(http.user_agent) contains "trendictionbot") or 
(lower(http.user_agent) contains "blexbot") or 
(lower(http.user_agent) contains "linkfluence") or 
(lower(http.user_agent) contains "magpie-crawler") or 
(lower(http.user_agent) contains "mediatoolkitbot") or 
(lower(http.user_agent) contains "aspiegelbot") or 
(lower(http.user_agent) contains "domainstatsbot") or 
(lower(http.user_agent) contains "coccocbot") or 
(lower(http.user_agent) contains "commix") or 
(lower(http.user_agent) contains "crimscanner") or 
(lower(http.user_agent) contains "davclnt") or 
(lower(http.user_agent) contains "datacha0s") or 
(lower(http.user_agent) contains "dirbuster") or 
(lower(http.user_agent) contains "cincraw") or 
(lower(http.user_agent) contains "nimbostratus") or 
(lower(http.user_agent) contains "httrack") or 
(lower(http.user_agent) contains "serpstatbot") or 
(lower(http.user_agent) contains "omgili") or 
(lower(http.user_agent) contains "grapeshotcrawler") or 
(lower(http.user_agent) contains "megaindex") or 
(lower(http.user_agent) contains "petalbot") or 
(lower(http.user_agent) contains "semanticbot") or 
(lower(http.user_agent) contains "cocolyzebot") or 
(lower(http.user_agent) contains "domcopbot") or 
(lower(http.user_agent) contains "traackr") or 
(lower(http.user_agent) contains "bomborabot") or 
(lower(http.user_agent) contains "linguee") or 
(lower(http.user_agent) contains "webtechbot") or 
(lower(http.user_agent) contains "domainstatsbot") or 
(lower(http.user_agent) contains "clickagy") or 
(lower(http.user_agent) contains "sqlmap") or 
(lower(http.user_agent) contains "internet-structure-research-project-bot") or 
(lower(http.user_agent) contains "seekport") or 
(lower(http.user_agent) contains "awariosmartbot") or 
(lower(http.user_agent) contains "onalyticabot") or 
(lower(http.user_agent) contains "buck") or 
(lower(http.user_agent) contains "riddler") or 
(lower(http.user_agent) contains "sbl-bot") or 
(lower(http.user_agent) contains "df bot 1.0") or 
(lower(http.user_agent) contains "pubmatic crawler bot") or 
(lower(http.user_agent) contains "restsharp") or 
(lower(http.user_agent) contains "bvbot") or 
(lower(http.user_agent) contains "sogou") or 
(lower(http.user_agent) contains "barkrowler") or 
(lower(http.user_agent) contains "admantx") or 
(lower(http.user_agent) contains "adbeat") or 
(lower(http.user_agent) contains "embed.ly") or 
(lower(http.user_agent) contains "semantic-visions") or 
(lower(http.user_agent) contains "voluumdsp") or 
(lower(http.user_agent) contains "wc-test-dev-bot") or 
(lower(http.user_agent) contains "gulperbot") or
(lower(http.user_agent) contains "360Spider") or
(lower(http.user_agent) contains "/bin/bash") or 
(lower(http.user_agent) contains "[email protected]") or 
(lower(http.user_agent) contains "eval(") or 
(lower(http.user_agent) contains "env:") or 
(lower(http.user_agent) contains "fhscan") or 
(lower(http.user_agent) contains "floodgate") or 
(lower(http.user_agent) contains "go-http-client/") or 
(lower(http.user_agent) contains "nikto") or  
(lower(http.user_agent) contains "python") or
(lower(http.user_agent) contains "masscan") or 
(lower(http.user_agent) contains "mail.ru") or 
(lower(http.user_agent) contains "scrapy") or 
(lower(http.user_agent) contains "webdav-miniredir") or 
(lower(http.user_agent) contains "winhttp.winhttprequest") or 
(lower(http.user_agent) contains "zmeu") or
(lower(http.user_agent) contains "fuzz") or 
(lower(http.user_agent) contains "wp_is_mobile") or 
(lower(http.user_agent) contains "sqlninja") or 
(lower(http.user_agent) contains "yaanibot")

Cloudflare Firewall üzerinde ASN engelleme işlemi istenmeyen sonuçlara sebebiyet verebilir bu sebeple kullanırken çok dikkat etmenizde fayda var. Sitenizi bozabilir DİKKAT

  • Rule Name: Unwanted ASN [İstenmeyen ASN]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
(ip.geoip.asnum eq 16276) or 
(ip.geoip.asnum eq 14618) or 
(ip.geoip.asnum eq 16509) or 
(ip.geoip.asnum eq 24940) or 
(ip.geoip.asnum eq 37153) or 
(ip.geoip.asnum eq 32244) or 
(ip.geoip.asnum eq 22611) or 
(ip.geoip.asnum eq 54641) or 
(ip.geoip.asnum eq 47583) or 
(ip.geoip.asnum eq 55293)

Daha geniş kapsamlı bir ASN engelleme listesi yapacaksanız bad-asn-list kullanmanızı şiddetle öneririm.

  • Rule Name: Block Scanners [Tarayıcıları Engelle]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
(http.user_agent contains "Acunetix") or
(lower(http.user_agent) contains "apache") or
(http.user_agent contains "BackDoorBot") or
(http.user_agent contains "cobion") or
(http.user_agent contains "masscan") or 
(http.user_agent contains "FHscan") or 
(http.user_agent contains "scanbot") or 
(http.user_agent contains "Gscan") or 
(http.user_agent contains "Researchscan") or 
(http.user_agent contains "WPScan") or 
(http.user_agent contains "ScanAlert") or 
(http.user_agent contains "Wprecon") or
(lower(http.user_agent) contains "virusdie") or
(http.user_agent contains "VoidEYE") or
(http.user_agent contains "WebShag") or
(http.user_agent contains "Zeus") or
(http.user_agent contains "zgrab") or
(lower(http.user_agent) contains "zmap") or 
(lower(http.user_agent) contains "nmap") or 
(lower(http.user_agent) contains "fimap") or
(http.user_agent contains "ZmEu") or
(http.user_agent contains "ZumBot") or
(http.user_agent contains "Zyborg")

WordPress için CloudFlare Kuralları

Genel kuralları ekledikten hemen sonra web sitenizde wordpress kullanıyorsanız aşağıdaki kuralları cloudflare firewall üzerinde ekleyerek ek güvenlik atmanı oluşturabilirsiniz.

  • Rule Name: WordPress Stufs [Wordpress Stuf’ları]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
    • Aşağıdaki eysar.net yazan yere kendi linkinizi koyunuz.
(http.request.uri.query contains "author_name=") or 
(http.request.uri.query contains "author=" and not http.request.uri.path contains "/wp-admin/export.php") or 
(http.request.uri contains "wp-config.") or 
(http.request.uri contains "setup-config.") or
(http.request.uri.path eq "/wp-comments-post.php" and http.request.method eq "POST" and not http.referer contains "eysar.net") or
(http.request.uri.path contains "/xmlrpc.php")
  • Not: Cloudflare 5 taneye izin verdiği için ücretsiz sürümünde seçim yapmak en yararlıları almak gerekiyor. Ben aldıklarımı işaretleyeceğim ASN kısmı bende hatalara neden oldu.

    WordPress Cloudflare’de Kontrol Paneli Neden ve Nasıl Korunmalı?

    Bilinmeyen yabancıların yönetici alanınıza erişmesini ve bilginiz veya izniniz olmadan değişiklik yapmasını istemediğinizi söylemeye gerek yok.

    Gibi, panonuza dışarıdan erişimi engelleyen bir güvenlik duvarı kuralı yapmanız gerekir.

    Bununla birlikte, önce sen kilitle WordPress Gösterge Paneli, iki önemli istisna yapmanız gerekecek.

    1. /wp-admin/admin-ajax.php. Bu komut, web sitenizin dinamik içeriği görüntülemesine izin verir ve bu nedenle, çalışması için belirli eklentiler tarafından dışarıdan erişilmesi gerekir. Bu nedenle, /wp-admin/ klasöründe saklansa da, web sitenizin ziyaretçilere hata mesajları göstermesini istemiyorsanız buna dışarıdan erişilebilir olması gerekir.
    2. /wp-admin/tema-editor.php. Bu komut etkinleştirir WordPress sitenizin temasını her değiştirdiğinizde veya düzenlediğinizde bir hata kontrolü yapmak için. Bunu bir istisna olarak eklemeyi ihmal ederseniz, değişiklikleriniz kaydedilmez ve “Önemli hataları kontrol etmek için siteyle iletişim kurulamıyor” yazan bir hata mesajı alırsınız.

    Güvenlik duvarı kuralı oluşturmak için önce Cloudflare panonuzda Güvenlik > WAF seçeneğine gidin, ardından “Güvenlik Duvarı Kuralı Oluştur” düğmesine tıklayın.

  • Rule Name: WordPress İmportant Areas [Wordpress Önemli Alanlar]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz DİKKAT bu da diğer kullanıcıları engelleyebiliyor. onun için türkiyeyi beyaz listeye alabilrisiniz
(http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-admin/admin-ajax.php" and not http.request.uri.path contains "/wp-admin/theme-editor.php")
  • Kötü botlarla savaşmak için kod eklemeye gerek yok burdan açabiliriz. Bunda dikkatli olmak lazım bir yerden api çekiyorsak, bu ayarları kapalı tutmakta fayda var. Açınca mutlaka sitenizi bir test edin:
    cloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir 1
    Ancak bu şu hataya neden olur Wp Cron hatası alabilirsiniz:
    There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron events on your site may not work. The problem was: Unexpected HTTP response code: 403

    Buraya bakılabilir: https://www.webnots.com/how-to-fix-wp-cron-not-working-issue-with-cloudflare/

    cloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir
    Ben bunu Ip numaramı ekleyerek aşaya çalıştım yine de olmadı

  • Rule Name: Login Protection [Giriş Koruması]
  • Rule Action: Captcha
  • Edit expression kısmına aşağıdakileri ekliyoruz ve “Deploy” diyoruz
(not ip.src in {1.1.1.1/32} and http.request.uri.path contains "/wp-login.php")
  • Rule Name: Hotlink Protection [Hotlink Koruması]
  • Rule Action: Block
  • Edit expression kısmına aşağıdakileri ekliyoruz ve “Deploy” diyoruz

Bu kuralı kullanırken dikkatli olun bütün site içeriğini yanlışlıkla engelleyebilirsiniz. Aşağıdaki eysar.net yazan yere kendi linkinizi koyunuz.

not (http.referer contains "eysar.net" or http.referer eq "cdn.eysar.net" or http.referer eq "www.cloudflare.com")
  • Rule Name: Port Block [Bağlantı Noktası Bloğu]
  • Rule Action: Block
  • Edit expression kısmına aşağıdakileri ekliyoruz ve “Deploy” diyoruz
  • Aşağıdaki eysar.net yazan yere kendi linkinizi koyunuz.
(http.host eq "eysar.net") and not cf.edge.server_port in {80 443}
  • Rule Name: WordPress Admin IP Whitelist [Wordpress Yönetici IP Beyaz Listesi]
  • Rule Action: Block
  • Edit expression kısmına aşaıdakileri ekliyoruz ve “Deploy” diyoruz
(not ip.src in {1.1.1.1/32} and lower(http.request.uri.path) contains "/wp-admin" and lower(http.request.uri.path) contains "/wp-login.php")

Cloudflare’nin ayrıca ön tanımlı olarak yayınladığı kurallardan faydalanmak isterseniz Common use cases for firewall rules içeriğine göz atabilirsiniz.,

Cloudflare Firewall Üzerinde Page Rules Kullanımı

Bunların hemen ardından “CloudFlare Page rules” kısmını kullanıp birkaç değişiklik yapacağız. Bu yapacağımız değişikliğin ana amacı Layer 7 saldırılarına karşı web sitesine yük binmemesini sağlanmasıdır. Gelen saldırılar önbellek üzerinden yayınlanacak ve yükü dağıtmış olacağız.
İlk önce alwaysonlie seçeneğini açalım:
cloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir 46
Wordpress sitenizin admin alanı için yani wp-admin için aşağıdaki gibi ayarlamayı ihmal etmeyincloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir 48

Layer 7 Saldırıları için Cloudflare Firewall Ayarları

Site geneli Layer 7 yani HTTP GET ve türevi saldırılar için cloudflare üzerinde aşağıdaki ayarların yapılması ve site geneli cache ayarlanması yeterlidir, sunucu üzerinde CPU kullanımı yükselmediği sürece genel olarak HTTP saldırılarından etkilenmeyeceksiniz.cloudflare firewall ayarlari nasil yapilir cloudflare firewall ile wordpress guvenligi nasil saglanir

Ayrıca şuraya bakılabilir:

https://www.websiterating.com/tr/online-security/how-to-secure-wordpress-with-cloudflare-firewall-rules/

https://tipsnfreeware.com/best-cloudflare-page-rules-for-wordpress/

İlginizi Çekebilir

sahifa temada embed kodundaki tirnaklarin yok olmasi

SAHİFA TEMADA EMBED KODUNDAKİ TIRNAKLARIN YOK OLMASI " sorunu

Sahifa temada ana sayfaya yazdığınız koddaki tırnaklar şu hale dönüşürse çözümü basit bu kod kaydettiğimde …

w3 total cache ayarlari

W3 Total Cache Ayarları

W3 Total Cache Ayarları W3 Total CacheWordPress için statik bir önbellekleme eklentisidir. W3 Total Cache eklentisi sitenizin …

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir