{"id":3005,"date":"2026-10-24T15:21:49","date_gmt":"2026-10-24T12:21:49","guid":{"rendered":"https:\/\/saviorhost.com\/blog\/waf-rate-limiting-yapilandirma\/"},"modified":"2026-10-24T15:30:02","modified_gmt":"2026-10-24T12:30:02","slug":"waf-rate-limiting-yapilandirma","status":"publish","type":"post","link":"https:\/\/saviorhost.com\/blog\/waf-rate-limiting-yapilandirma\/","title":{"rendered":"WAF Rate Limiting Yap\u0131land\u0131rma: Ad\u0131m Ad\u0131m Rehber"},"content":{"rendered":"<p>Web uygulamalar\u0131na gelen istekleri s\u0131n\u0131rland\u0131rmak, g\u00fcvenli\u011fin kritik ad\u0131mlar\u0131ndan biridir. WAF rate limiting yap\u0131land\u0131rma, tek bir IP adresinden veya oturumdan gelen a\u015f\u0131r\u0131 istekleri tespit edip ge\u00e7ici olarak engeller. Bu sayede brute force sald\u0131r\u0131lar\u0131, katman 7 DDoS ataklar\u0131 ve API istismar\u0131 daha b\u00fcy\u00fck hasara yol a\u00e7madan durdurulur.<\/p>\n<p>Web uygulama g\u00fcvenlik duvar\u0131 (WAF), HTTP trafi\u011fini filtreleyen ve k\u00f6t\u00fc niyetli istekleri engelleyen bir g\u00fcvenlik katman\u0131d\u0131r. Ancak WAF tek ba\u015f\u0131na tek bir kaynaktan gelen yo\u011fun istek ak\u0131\u015f\u0131n\u0131 her zaman kontrol edemez. Rate limiting, belirli bir zaman diliminde kabul edilebilir istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayarak hem uygulaman\u0131z\u0131 hem de sunucu kaynaklar\u0131n\u0131z\u0131 korur.<\/p>\n<p>A\u015fa\u011f\u0131da WAF rate limiting yap\u0131land\u0131rma s\u00fcrecini farkl\u0131 ortamlar i\u00e7in ad\u0131m ad\u0131m bulacaks\u0131n\u0131z. ModSecurity, Nginx ve bulut tabanl\u0131 WAF kullan\u0131m\u0131n\u0131 pratik \u00f6rneklerle \u00f6\u011freneceksiniz.<\/p>\n<div class=\"key-takeaways\">\n<p class=\"key-takeaways-title\"><strong>\u00d6nemli Noktalar<\/strong><\/p>\n<ul>\n<li>Rate limiting, tek bir kaynaktan gelen a\u015f\u0131r\u0131 istekleri tespit edip ge\u00e7ici olarak engeller.<\/li>\n<li>E\u015fik de\u011ferleri uygulaman\u0131z\u0131n normal trafi\u011fine g\u00f6re belirlenmeli; \u00e7ok d\u00fc\u015f\u00fck de\u011ferler ger\u00e7ek kullan\u0131c\u0131lar\u0131 bloke eder.<\/li>\n<li>ModSecurity, Nginx ve bulut tabanl\u0131 WAF \u00e7\u00f6z\u00fcmleri farkl\u0131 yap\u0131land\u0131rma dosyalar\u0131 kullan\u0131r.<\/li>\n<li>Yap\u0131land\u0131rma sonras\u0131 loglar\u0131 d\u00fczenli izleyerek yanl\u0131\u015f pozitifleri azaltabilirsiniz.<\/li>\n<li>Rate limiting tek ba\u015f\u0131na yeterli de\u011fildir; g\u00fcncel yama y\u00f6netimi ve giri\u015f do\u011frulama ile birlikte kullan\u0131lmal\u0131d\u0131r.<\/li>\n<\/ul>\n<\/div>\n<div class=\"table-of-contents\" role=\"navigation\" aria-label=\"\u0130\u00e7indekiler\">\n<p class=\"toc-title\"><strong>\u0130\u00e7indekiler<\/strong><\/p>\n<ul>\n<li><a href=\"#waf-rate-limiting-nedir\">WAF Rate Limiting Nedir?<\/a><\/li>\n<li><a href=\"#hangi-saldirilari-engeller\">Hangi Sald\u0131r\u0131lar\u0131 Engeller?<\/a><\/li>\n<li><a href=\"#yapilandirma-oncesi-gereksinimler\">Yap\u0131land\u0131rma \u00d6ncesi Gereksinimler<\/a><\/li>\n<li><a href=\"#modsecurity-ile-adim-adim-kurulum\">ModSecurity ile Ad\u0131m Ad\u0131m Kurulum<\/a><\/li>\n<li><a href=\"#nginx-ile-rate-limiting\">Nginx ile Rate Limiting<\/a><\/li>\n<li><a href=\"#bulut-tabanli-waf-kullanimi\">Bulut Tabanl\u0131 WAF Kullan\u0131m\u0131<\/a><\/li>\n<li><a href=\"#sik-karsilasilan-sorunlar\">S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar<\/a><\/li>\n<li><a href=\"#hangi-yontemi-secmelisiniz\">Hangi Y\u00f6ntemi Se\u00e7melisiniz?<\/a><\/li>\n<li><a href=\"#sikca-sorulan-sorular\">S\u0131k\u00e7a Sorulan Sorular<\/a><\/li>\n<\/ul>\n<\/div>\n<h2 id=\"waf-rate-limiting-nedir\">WAF Rate Limiting Nedir?<\/h2>\n<p>WAF rate limiting, belirli bir IP adresi, oturum veya API anahtar\u0131ndan belirli bir s\u00fcre i\u00e7inde kabul edilecek istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlayan bir g\u00fcvenlik kural\u0131d\u0131r. Bu kural, a\u015f\u0131r\u0131 istek g\u00f6nderen kayna\u011f\u0131 ge\u00e7ici olarak bloke eder veya isteklere hata kodu d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>Normal kullan\u0131c\u0131lar bir login sayfas\u0131na dakikada birka\u00e7 istek g\u00f6nderir. Bir brute force sald\u0131r\u0131s\u0131nda ise sald\u0131rgan saniyede onlarca farkl\u0131 \u015fifre deneyebilir. Rate limiting bu anormal trafi\u011fi fark eder ve sald\u0131rgan\u0131n IP adresini belirli bir s\u00fcreli\u011fine engeller. Bu, uygulaman\u0131n performans\u0131n\u0131 korur ve g\u00fcvenlik algoritmalar\u0131na zaman kazand\u0131r\u0131r.<\/p>\n<p>Rate limiting yaln\u0131zca g\u00fcvenlik i\u00e7in de\u011fil, kaynak y\u00f6netimi i\u00e7in de \u00f6nemlidir. Payla\u015f\u0131ml\u0131 bir <a href=\"https:\/\/saviorhost.com\/linux-web-hosting\" class=\"sm-cta-link\">hosting<\/a> ortam\u0131nda tek bir web sitesinin a\u015f\u0131r\u0131 istek g\u00f6ndermesi di\u011fer siteleri etkileyebilir. WAF \u00fczerindeki s\u0131n\u0131rlamalar bu t\u00fcr kazalar\u0131 da \u00f6nler. \u00d6zellikle e-ticaret sitelerinde \u00f6deme ad\u0131mlar\u0131, API u\u00e7lar\u0131 ve y\u00f6netim panelleri i\u00e7in ayr\u0131 s\u0131n\u0131rlar tan\u0131mlamak gerekir.<\/p>\n<h2 id=\"hangi-saldirilari-engeller\">Hangi Sald\u0131r\u0131lar\u0131 Engeller?<\/h2>\n<p>Rate limiting, birden fazla sald\u0131r\u0131 t\u00fcr\u00fcne kar\u015f\u0131 ilk savunma hatt\u0131d\u0131r. En yayg\u0131n kullan\u0131m alan\u0131 brute force sald\u0131r\u0131lar\u0131d\u0131r. Sald\u0131rgan, bir kullan\u0131c\u0131 ad\u0131 ve farkl\u0131 \u015fifre kombinasyonlar\u0131 deneyerek hesaba eri\u015fmeye \u00e7al\u0131\u015f\u0131r. Login sayfas\u0131na uygulanan s\u0131n\u0131rlama, deneme say\u0131s\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr ve sald\u0131r\u0131y\u0131 etkisiz hale getirir.<\/p>\n<p>\u0130kinci yayg\u0131n tehdit credential stuffing sald\u0131r\u0131lar\u0131d\u0131r. Sald\u0131rgan, daha \u00f6nce s\u0131zd\u0131r\u0131lm\u0131\u015f kullan\u0131c\u0131 ad\u0131 ve \u015fifre listesini farkl\u0131 sitelerde dener. API u\u00e7lar\u0131na ve giri\u015f sayfalar\u0131na uygulanan rate limiting, bu otomatik denemeleri yava\u015flat\u0131r.<\/p>\n<p>Katman 7 DDoS sald\u0131r\u0131lar\u0131nda ise binlerce bot, uygulama sunucusuna ayn\u0131 anda istek g\u00f6nderir. Rate limiting, tek bir kaynaktan gelen a\u015f\u0131r\u0131 istekleri tespit ederek sald\u0131r\u0131n\u0131n etkisini azalt\u0131r. Ancak \u00e7ok say\u0131da farkl\u0131 IP kullanan geni\u015f \u00e7apl\u0131 DDoS sald\u0131r\u0131lar\u0131nda tek ba\u015f\u0131na yeterli olmayabilir. B\u00f6yle durumlarda bulut tabanl\u0131 WAF veya CDN katman\u0131 gerekir.<\/p>\n<p>API k\u00f6t\u00fcye kullan\u0131m\u0131 da s\u0131n\u0131rlamayla kontrol alt\u0131na al\u0131n\u0131r. \u00d6rne\u011fin a\u00e7\u0131k bir arama API&#8217;sine saniyede y\u00fczlerce istek g\u00f6nderen bir script, sunucunun CPU ve RAM kaynaklar\u0131n\u0131 t\u00fcketebilir. API ba\u015f\u0131na dakikal\u0131k istek limiti koymak, hizmet kalitesini korur.<\/p>\n<figure class=\"wp-block-image size-large sm-inline-image\"><img width=\"1024\" height=\"576\" src=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-bir-giris-FoqL.webp\" class=\"sm-ai-image wp-image-3006\" alt=\"Bir giri\u015f sayfas\u0131na eri\u015fmeye \u00e7al\u0131\u015fan bot simgeleri ve onlar\u0131 engelleyen \u0131\u015f\u0131k bariyeri\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-bir-giris-FoqL.webp 1024w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-bir-giris-FoqL-300x169.webp 300w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-bir-giris-FoqL-768x432.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<h2 id=\"yapilandirma-oncesi-gereksinimler\">Yap\u0131land\u0131rma \u00d6ncesi Gereksinimler<\/h2>\n<p>WAF rate limiting yap\u0131land\u0131rmaya ba\u015flamadan \u00f6nce ortam\u0131n\u0131z\u0131 netle\u015ftirmeniz gerekir. \u0130lk ad\u0131m, hangi WAF t\u00fcr\u00fcn\u00fc kulland\u0131\u011f\u0131n\u0131z\u0131 belirlemektir. Sunucu tabanl\u0131 \u00e7\u00f6z\u00fcmler aras\u0131nda ModSecurity ve Nginx WAF bulunur. Bulut tabanl\u0131 se\u00e7eneklerde ise CDN sa\u011flay\u0131c\u0131n\u0131z\u0131n g\u00fcvenlik paneli kullan\u0131l\u0131r.<\/p>\n<p>Yap\u0131land\u0131rma i\u00e7in sunucuya SSH eri\u015fiminiz veya kontrol paneli yetkiniz olmal\u0131d\u0131r. K\u00f6k kullan\u0131c\u0131 yetkisi, Nginx veya Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemek i\u00e7in gereklidir. Payla\u015f\u0131ml\u0131 hosting kullan\u0131yorsan\u0131z bu ayarlar\u0131 genellikle hosting paneliniz \u00fczerinden yapars\u0131n\u0131z. Yeni bir sunucu kurulumuna ihtiyac\u0131n\u0131z varsa Ubuntu ilk kurulum ad\u0131mlar\u0131n\u0131 g\u00f6zden ge\u00e7irebilirsiniz.<\/p>\n<p>Normal trafik profilinizi bilmeniz de \u00f6nemlidir. Hangi sayfalara dakikada ka\u00e7 istek geldi\u011fini analiz etmeden e\u015fik de\u011ferleri belirlemek yanl\u0131\u015f pozitiflere yol a\u00e7ar. Sunucu g\u00fcnl\u00fcklerinden veya izleme ara\u00e7lar\u0131ndan bu verileri \u00e7\u0131karabilirsiniz. \u00d6zellikle login, kay\u0131t, arama ve \u00f6deme sayfalar\u0131 i\u00e7in ayr\u0131 s\u0131n\u0131rlar d\u00fc\u015f\u00fcnmelisiniz.<\/p>\n<p>Yap\u0131land\u0131rma sonras\u0131 hatalar\u0131 g\u00f6rebilmek i\u00e7in loglama mutlaka a\u00e7\u0131k olmal\u0131d\u0131r. WAF&#8217;\u0131n engelledi\u011fi istekleri ve olu\u015fturdu\u011fu hata kodlar\u0131n\u0131 kay\u0131t alt\u0131na almak, ileride sorun gidermeyi kolayla\u015ft\u0131r\u0131r. <a href=\"https:\/\/saviorhost.com\/blog\/modsecurity-nedir-ve-yapilandirmasi-nasil-yapilir-2026\/\">ModSecurity yap\u0131land\u0131rmas\u0131<\/a> hakk\u0131nda daha fazla bilgi alabilirsiniz.<\/p>\n<figure class=\"wp-block-image size-large sm-inline-image\"><img width=\"1024\" height=\"576\" src=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-konfigurasyon-dosyasini-7Wrq.webp\" class=\"sm-ai-image wp-image-3007\" alt=\"Konfig\u00fcrasyon dosyas\u0131n\u0131 d\u00fczenleyen bir yaz\u0131l\u0131mc\u0131 monit\u00f6r\u00fcn ba\u015f\u0131nda\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-konfigurasyon-dosyasini-7Wrq.webp 1024w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-konfigurasyon-dosyasini-7Wrq-300x169.webp 300w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-konfigurasyon-dosyasini-7Wrq-768x432.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<h2 id=\"modsecurity-ile-adim-adim-kurulum\">ModSecurity ile Ad\u0131m Ad\u0131m Kurulum<\/h2>\n<p>ModSecurity, Apache ve Nginx \u00fczerinde \u00e7al\u0131\u015fan a\u00e7\u0131k kaynakl\u0131 bir web uygulama g\u00fcvenlik duvar\u0131d\u0131r. Sunucu \u00fczerinde rate limiting kurmak i\u00e7in \u00f6nce ModSecurity&#8217;nin aktif oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. Kurulu de\u011filse \u00f6ncelikle sunucunuza uygun paket y\u00f6neticisiyle kurulum yap\u0131n.<\/p>\n<p><strong>Ad\u0131m 1: ModSecurity kurulumunu do\u011frulay\u0131n.<\/strong> SSH \u00fczerinden a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak mod\u00fcl\u00fcn y\u00fcklendi\u011fini kontrol edin.<\/p>\n<pre><code class=\"language-bash\">apachectl -M | grep security<\/code><\/pre>\n<p>Komut \u00e7\u0131kt\u0131s\u0131nda <code>security2_module<\/code> ifadesi g\u00f6r\u00fcn\u00fcyorsa ModSecurity y\u00fckl\u00fcd\u00fcr.<\/p>\n<p><strong>Ad\u0131m 2: Kural dosyan\u0131z\u0131 a\u00e7\u0131n.<\/strong> Genellikle <code>\/etc\/modsecurity\/modsecurity.conf<\/code> veya <code>\/etc\/httpd\/conf.d\/mod_security.conf<\/code> yolunda bulunur. Kural motorunu a\u00e7t\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/modsecurity\/modsecurity.conf<\/code><\/pre>\n<p><strong>Ad\u0131m 3: IP ba\u015f\u0131na istek sayac\u0131n\u0131 tan\u0131mlay\u0131n.<\/strong> A\u015fa\u011f\u0131daki kural\u0131 ekleyin. Bu \u00f6rnek, ayn\u0131 IP adresinden 60 saniye i\u00e7inde 50&#8217;den fazla istek gelirse engelleme yapar.<\/p>\n<pre><code class=\"language-bash\">SecAction \"id:100, phase:1, nolog, pass, initcol:ip=%{REMOTE_ADDR}, setvar:ip.requests=+1, expirevar:ip.requests=60\"\nSecRule ip:requests \"@gt 50\" \"id:101, phase:1, deny, status:429, log, msg:'IP rate limit exceeded'\"<\/code><\/pre>\n<p>Bu kurallar t\u00fcm istekler i\u00e7in ge\u00e7erlidir. Yaln\u0131zca login sayfas\u0131n\u0131 korumak istiyorsan\u0131z <code>SecRule REQUEST_URI<\/code> ko\u015fulu ekleyebilirsiniz.<\/p>\n<p><strong>Ad\u0131m 4: Yap\u0131land\u0131rmay\u0131 test edin ve yeniden ba\u015flat\u0131n.<\/strong> \u00d6nce syntax hatas\u0131 olmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n, ard\u0131ndan servisi yeniden ba\u015flat\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo apachectl configtest\nsudo systemctl restart apache2<\/code><\/pre>\n<p>Beklenen sonu\u00e7, a\u015f\u0131r\u0131 istek g\u00f6nderen bir IP adresinin 429 Too Many Requests hatas\u0131 almas\u0131d\u0131r. Yanl\u0131\u015f pozitif olu\u015fursa e\u015fik de\u011ferini art\u0131rabilir veya baz\u0131 URL&#8217;leri hari\u00e7 tutabilirsiniz.<\/p>\n<figure class=\"wp-block-image size-large sm-inline-image\"><img width=\"1024\" height=\"576\" src=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-sunucu-rafindaki-ZO5X.webp\" class=\"sm-ai-image wp-image-3008\" alt=\"Sunucu raf\u0131ndaki g\u00fcvenlik duvar\u0131 kural motorundan ge\u00e7en veri paketleri\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-sunucu-rafindaki-ZO5X.webp 1024w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-sunucu-rafindaki-ZO5X-300x169.webp 300w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-sunucu-rafindaki-ZO5X-768x432.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<h2 id=\"nginx-ile-rate-limiting\">Nginx ile Rate Limiting<\/h2>\n<p>Nginx, rate limiting i\u00e7in yerle\u015fik bir mod\u00fcl sunar. Bu mod\u00fcl, harici bir WAF gerektirmeden HTTP isteklerini s\u0131n\u0131rland\u0131rabilir. Nginx&#8217;in resmi dok\u00fcmantasyonuna g\u00f6re <a href=\"https:\/\/nginx.org\" target=\"_blank\" rel=\"noopener nofollow\">nginx.org<\/a> \u00fczerindeki bilgiler her zaman g\u00fcncel tutulur.<\/p>\n<p><strong>Ad\u0131m 1: Limit payla\u015f\u0131m b\u00f6lgesini tan\u0131mlay\u0131n.<\/strong> Nginx yap\u0131land\u0131rma dosyan\u0131z\u0131n <code>http<\/code> blo\u011fu i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin. Bu sat\u0131r, her IP adresi i\u00e7in saniyede 5 istek h\u0131z\u0131n\u0131 belirler.<\/p>\n<pre><code class=\"language-bash\">limit_req_zone $binary_remote_addr zone=login_limit:10m rate=5r\/s;<\/code><\/pre>\n<p><strong>Ad\u0131m 2: \u0130lgili location blo\u011funa kural\u0131 uygulay\u0131n.<\/strong> \u00d6rne\u011fin login sayfas\u0131n\u0131 korumak i\u00e7in <code>limit_req<\/code> y\u00f6nergesini kullan\u0131n. <code>burst<\/code> parametresi, k\u0131sa s\u00fcreli ani art\u0131\u015flara izin verir.<\/p>\n<pre><code class=\"language-bash\">location \/login {\n    limit_req zone=login_limit burst=10 nodelay;\n    proxy_pass http:\/\/backend;\n}<\/code><\/pre>\n<p><strong>Ad\u0131m 3: Yap\u0131land\u0131rmay\u0131 test edip yeniden y\u00fckleyin.<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nginx -t\nsudo systemctl reload nginx<\/code><\/pre>\n<p>Test sonucu ba\u015far\u0131l\u0131ysa Nginx, limit a\u015f\u0131m\u0131nda otomatik olarak 503 Service Temporarily Unavailable hatas\u0131 d\u00f6nd\u00fcr\u00fcr. \u0130sterseniz \u00f6zel bir hata sayfas\u0131 tan\u0131mlayarak kullan\u0131c\u0131 deneyimini iyile\u015ftirebilirsiniz.<\/p>\n<p>Nginx rate limiting, login sayfalar\u0131 ve API u\u00e7lar\u0131 i\u00e7in hafif ve etkili bir \u00e7\u00f6z\u00fcmd\u00fcr. Ancak Nginx yaln\u0131zca sunucuya gelen istekleri s\u0131n\u0131rlar; uygulama katman\u0131ndaki injection gibi sald\u0131r\u0131lara kar\u015f\u0131 ayr\u0131ca ModSecurity veya benzeri bir WAF \u00f6nerilir.<\/p>\n<figure class=\"wp-block-image size-large sm-inline-image\"><img width=\"1024\" height=\"576\" src=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-gelen-istekleri-Ab0c.webp\" class=\"sm-ai-image wp-image-3009\" alt=\"Gelen istekleri s\u0131n\u0131rlayan bir bariyer benzetmesiyle web sunucusu\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-gelen-istekleri-Ab0c.webp 1024w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-gelen-istekleri-Ab0c-300x169.webp 300w, https:\/\/saviorhost.com\/blog\/wp-content\/uploads\/2026\/10\/waf-rate-limiting-yapilandirma-gelen-istekleri-Ab0c-768x432.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<h2 id=\"bulut-tabanli-waf-kullanimi\">Bulut Tabanl\u0131 WAF Kullan\u0131m\u0131<\/h2>\n<p>Bulut tabanl\u0131 WAF hizmetleri, trafi\u011fi sunucunuza ula\u015fmadan \u00f6nce filtreler. Bu mimari, kaynak t\u00fcketimini azalt\u0131r ve sald\u0131r\u0131lar\u0131n sunucuya eri\u015fmesini engeller. Rate limiting kurallar\u0131 genellikle web aray\u00fcz\u00fc \u00fczerinden tan\u0131mlan\u0131r ve sunucuda dosya d\u00fczenlemesi gerektirmez.<\/p>\n<p>Bulut WAF kullan\u0131rken \u00f6nce alan ad\u0131n\u0131z\u0131n trafi\u011fini bu hizmete y\u00f6nlendirmeniz gerekir. DNS ayarlar\u0131n\u0131z\u0131 g\u00fcncelledikten sonra g\u00fcvenlik panelinden rate limiting kural\u0131 olu\u015fturabilirsiniz. Kural olu\u015ftururken IP adresi, oturum, oturum kimli\u011fi veya kullan\u0131c\u0131 ad\u0131 gibi farkl\u0131 kriterler se\u00e7ebilirsiniz.<\/p>\n<p>E\u015fik de\u011ferini belirlerken t\u00fcm site trafi\u011fini de\u011fil, korumak istedi\u011finiz sayfan\u0131n trafi\u011fini d\u00fc\u015f\u00fcn\u00fcn. \u00d6rne\u011fin bir arama sayfas\u0131na dakikada 30 istek normal olabilirken, bir \u00f6deme sayfas\u0131 i\u00e7in bu say\u0131 10&#8217;u ge\u00e7memelidir. \u0130lk kurulumda daha y\u00fcksek de\u011ferler ba\u015flat\u0131p loglar\u0131 izledikten sonra de\u011ferleri s\u0131k\u0131la\u015ft\u0131rmak daha g\u00fcvenlidir.<\/p>\n<p>Bulut tabanl\u0131 \u00e7\u00f6z\u00fcmlerin bir avantaj\u0131, sald\u0131r\u0131 kayna\u011f\u0131n\u0131 k\u00fcresel a\u011f \u00fczerinde engelleyebilmesidir. Ancak bu hizmetler genellikle \u00fccretli planlara tabidir. Kurulu\u015funuzun ihtiyac\u0131na g\u00f6re sunucu tabanl\u0131 ve bulut tabanl\u0131 y\u00f6ntemleri birlikte kullanabilirsiniz. \u00d6zellikle e-ticaret siteleri i\u00e7in <a href=\"https:\/\/saviorhost.com\/blog\/e-ticaret-sunucu-gereksinimleri-kesintisiz-satis-altyapisi\/\">sunucu gereksinimleri<\/a> iyi planlanmal\u0131d\u0131r.<\/p>\n<h2 id=\"sik-karsilasilan-sorunlar\">S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar<\/h2>\n<p>Rate limiting yap\u0131land\u0131rmas\u0131nda en s\u0131k rastlanan sorun yanl\u0131\u015f pozitiflerdir. Ger\u00e7ek kullan\u0131c\u0131lar, \u00f6zellikle kurumsal a\u011flardan gelenler, ayn\u0131 IP adresinden \u00e7ok say\u0131da istek g\u00f6nderebilir. Bu durumda kullan\u0131c\u0131lar 429 veya 503 hatalar\u0131yla kar\u015f\u0131la\u015f\u0131r. \u00c7\u00f6z\u00fcm i\u00e7in e\u015fik de\u011ferini y\u00fckseltebilir veya kurumsal IP aral\u0131klar\u0131n\u0131 beyaz listeye alabilirsiniz.<\/p>\n<p>\u0130kinci yayg\u0131n sorun, CDN arkas\u0131nda \u00e7al\u0131\u015fan sunucularda ger\u00e7ek IP adresinin tespit edilememesidir. T\u00fcm istekler CDN&#8217;in IP adresinden geliyormu\u015f gibi g\u00f6r\u00fcn\u00fcr ve rate limiting t\u00fcm kullan\u0131c\u0131lar\u0131 tek bir kaynak olarak de\u011ferlendirir. Bunu \u00f6nlemek i\u00e7in <code>X-Forwarded-For<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 do\u011fru \u015fekilde i\u015flemelisiniz. Nginx i\u00e7in <code>real_ip_header<\/code> y\u00f6nergesi bu sorunu \u00e7\u00f6zer.<\/p>\n<p>Baz\u0131 durumlarda rate limiting, me\u015fru botlar\u0131n eri\u015fimini de engelleyebilir. Arama motoru botlar\u0131 veya API entegrasyonlar\u0131 belirli h\u0131zlarda istek g\u00f6nderir. Bu kaynaklar\u0131 tan\u0131mlay\u0131p ayr\u0131 kurallarla s\u0131n\u0131rland\u0131rmak gerekir. Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir kural sunucuda <a href=\"https:\/\/saviorhost.com\/blog\/500-internal-server-error-cozumu-2\/\">500 Internal Server Error<\/a> gibi hatalara yol a\u00e7abilir. Bu nedenle her de\u011fi\u015fiklikten \u00f6nce yap\u0131land\u0131rma dosyas\u0131n\u0131 test etmek \u015fartt\u0131r.<\/p>\n<p>Loglar\u0131n izlenmemesi de b\u00fcy\u00fck bir eksikliktir. Engellenen istekleri d\u00fczenli incelemek, sald\u0131r\u0131 desenlerini anlaman\u0131za ve kurallar\u0131 g\u00fcncellemenize yard\u0131mc\u0131 olur.<\/p>\n<h2 id=\"hangi-yontemi-secmelisiniz\">Hangi Y\u00f6ntemi Se\u00e7melisiniz?<\/h2>\n<p>Se\u00e7iminiz, altyap\u0131n\u0131za ve y\u00f6netim becerilerinize ba\u011fl\u0131d\u0131r. Sunucunuza tam eri\u015fim sahibiyseniz ve d\u00fc\u015f\u00fck maliyetli bir \u00e7\u00f6z\u00fcm ar\u0131yorsan\u0131z, ModSecurity veya Nginx yerle\u015fik mod\u00fcl\u00fc iyi bir ba\u015flang\u0131\u00e7t\u0131r. Bu y\u00f6ntemler ek \u00fccret gerektirmez ve tam kontrol sa\u011flar. Ancak yap\u0131land\u0131rma ve bak\u0131m sorumlulu\u011fu size aittir.<\/p>\n<p>Payla\u015f\u0131ml\u0131 hosting kullananlar i\u00e7in sunucu tabanl\u0131 ayarlara eri\u015fim k\u0131s\u0131tl\u0131d\u0131r. Bu durumda hosting panelinizde sunulan g\u00fcvenlik ara\u00e7lar\u0131n\u0131 kullanman\u0131z gerekir. Linux hosting ortamlar\u0131nda genellikle temel WAF ve rate limiting se\u00e7enekleri bulunur.<\/p>\n<p>Yo\u011fun trafik alan veya s\u0131k sald\u0131r\u0131ya u\u011frayan siteler i\u00e7in bulut tabanl\u0131 WAF daha uygundur. Global a\u011f \u00fczerinde trafi\u011fi filtreler, yanl\u0131\u015f pozitifleri daha kolay y\u00f6netirsiniz. Ancak maliyeti daha y\u00fcksek olabilir.<\/p>\n<p>Hangi y\u00f6ntemi se\u00e7erseniz se\u00e7in, rate limiting kurallar\u0131n\u0131 d\u00fczenli g\u00f6zden ge\u00e7irin. Uygulaman\u0131z b\u00fcy\u00fcd\u00fck\u00e7e normal trafik profili de\u011fi\u015fir ve e\u015fik de\u011ferleri g\u00fcncellenmelidir. Rate limiting&#8217;i ModSecurity gibi kural tabanl\u0131 bir WAF ile birle\u015ftirmek \u00e7ok katmanl\u0131 bir savunma sa\u011flar.<\/p>\n<h2 id=\"sikca-sorulan-sorular\">S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<h3 id=\"rate-limiting-ne-zaman-devreye-girer\">Rate limiting ne zaman devreye girer?<\/h3>\n<p>Belirlenen zaman diliminde e\u015fik de\u011feri a\u015f\u0131ld\u0131\u011f\u0131nda devreye girer. \u00d6rne\u011fin ayn\u0131 IP adresi 60 saniyede 50 istekten fazla g\u00f6nderirse, sonraki istekler engellenir veya hata kodu al\u0131r.<\/p>\n<h3 id=\"brute-force-saldirilarini-tek-basina-engeller-mi\">Brute force sald\u0131r\u0131lar\u0131n\u0131 tek ba\u015f\u0131na engeller mi?<\/h3>\n<p>B\u00fcy\u00fck \u00f6l\u00e7\u00fcde engeller. Sald\u0131rgan\u0131n \u015fifre deneme h\u0131z\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr ve hesaba eri\u015fimi zorla\u015ft\u0131r\u0131r. Ancak farkl\u0131 IP adresleri kullanan sald\u0131r\u0131larda ek \u00f6nlemler gerekebilir.<\/p>\n<h3 id=\"nginx-limit_req-ile-modsecurity-rate-limiting-arasindaki-fark-nedir\">Nginx limit_req ile ModSecurity rate limiting aras\u0131ndaki fark nedir?<\/h3>\n<p>Nginx limit_req, sunucuya gelen istek say\u0131s\u0131n\u0131 h\u0131zl\u0131ca s\u0131n\u0131rlar. ModSecurity ise uygulama katman\u0131nda daha ayr\u0131nt\u0131l\u0131 g\u00fcvenlik kurallar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r. \u0130kisi birlikte kullan\u0131labilir.<\/p>\n<h3 id=\"esik-degerlerini-nasil-belirlerim\">E\u015fik de\u011ferlerini nas\u0131l belirlerim?<\/h3>\n<p>\u00d6nce normal trafi\u011finizi analiz edin. Login ve \u00f6deme sayfalar\u0131 i\u00e7in daha d\u00fc\u015f\u00fck, statik i\u00e7erikler i\u00e7in daha y\u00fcksek limitler belirleyin. Ard\u0131ndan loglar\u0131 izleyerek de\u011ferleri ayarlay\u0131n.<\/p>\n<div class=\"sm-related-posts\" style=\"background:#f8fafc; border:1px solid #e2e8f0; padding:20px; border-radius:8px; margin-top:30px; clear:both;\">\n<p class=\"sm-related-posts-title\" style=\"margin-top:0; color:#1e293b;\"><strong>\u0130lgili yaz\u0131lar<\/strong><\/p>\n<ul style=\"margin-bottom:0; padding-left:20px;\">\n<li><a href=\"https:\/\/saviorhost.com\/blog\/e-ticaret-sunucu-gereksinimleri-kesintisiz-satis-altyapisi\/\">E-Ticaret Siteleri \u0130\u00e7in Sunucu Gereksinimleri Nelerdir? Kesintisiz Sat\u0131\u015f Altyap\u0131s\u0131<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>WAF rate limiting yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 \u00f6\u011frenin; brute force ve DDoS sald\u0131r\u0131lar\u0131n\u0131 engelleyin, sunucu kaynaklar\u0131n\u0131 koruyun.<\/p>\n","protected":false},"author":1,"featured_media":3011,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[],"class_list":["post-3005","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guvenlik"],"_links":{"self":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/3005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/comments?post=3005"}],"version-history":[{"count":1,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/3005\/revisions"}],"predecessor-version":[{"id":3010,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/3005\/revisions\/3010"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media\/3011"}],"wp:attachment":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media?parent=3005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/categories?post=3005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/tags?post=3005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}