{"id":2477,"date":"2026-10-04T20:00:00","date_gmt":"2026-10-04T17:00:00","guid":{"rendered":"https:\/\/narhost.com\/destek\/?p=2477"},"modified":"2026-10-04T20:00:00","modified_gmt":"2026-10-04T17:00:00","slug":"ufw-guvenlik-duvari-kurulumu","status":"publish","type":"post","link":"https:\/\/narhost.com\/destek\/ufw-guvenlik-duvari-kurulumu\/","title":{"rendered":"UFW G\u00fcvenlik Duvar\u0131 Kurulumu ve Kural Y\u00f6netimi (Ubuntu)"},"content":{"rendered":"<p class=\"kb-dogrulama\">Son g\u00f6zden ge\u00e7irme: Eyl\u00fcl 2026 \u00b7 Ubuntu 24.04 resm\u00ee dok\u00fcman\u0131na g\u00f6re<\/p>\n<div id=\"hizli-cozum\" class=\"ai-box ai-box--cozum\">\n<p class=\"ai-box-title\">H\u0131zl\u0131 \u00e7\u00f6z\u00fcm<\/p>\n<p><strong>UFW g\u00fcvenlik duvar\u0131 kurulumu<\/strong> Ubuntu&#8217;da tek kurala ba\u011fl\u0131d\u0131r: g\u00fcvenlik duvar\u0131n\u0131 a\u00e7madan \u00f6nce SSH iznini ekleyin. S\u0131ra \u015f\u00f6yledir:<\/p>\n<ol>\n<li><code>sudo ufw allow OpenSSH<\/code> (SSH portunu de\u011fi\u015ftirdiyseniz <code>sudo ufw allow 2222\/tcp<\/code>).<\/li>\n<li><code>sudo ufw default deny incoming<\/code> ve <code>sudo ufw default allow outgoing<\/code>.<\/li>\n<li>Web sunucusu varsa <code>sudo ufw allow 80\/tcp<\/code> ve <code>sudo ufw allow 443\/tcp<\/code>.<\/li>\n<li><code>sudo ufw enable<\/code>, ard\u0131ndan <code>sudo ufw status verbose<\/code> ile kontrol.<\/li>\n<\/ol>\n<\/div>\n<table class=\"kb-uyg\">\n<tr>\n<th>Panel<\/th>\n<td>Yok \u2014 VPS\/VDS y\u00f6netimsizdir; kurallar sunucunuzda SSH ile yaz\u0131l\u0131r<\/td>\n<\/tr>\n<tr>\n<th>Sistem<\/th>\n<td>Ubuntu 22.04\/24.04 (UFW \u00f6nceden kurulu, kapal\u0131 gelir), Debian 12&#8217;de <code>apt install ufw<\/code><\/td>\n<\/tr>\n<tr>\n<th>Yetki<\/th>\n<td>root ya da sudo yetkili kullan\u0131c\u0131<\/td>\n<\/tr>\n<tr>\n<th>Narhost \u00fcr\u00fcn\u00fc<\/th>\n<td><a href=\"https:\/\/narhost.com\/vps-sunucu\" title=\"Narhost VPS Sunucu paketleri\">VPS Sunucu<\/a>, VDS Sunucu<\/td>\n<\/tr>\n<\/table>\n<div class=\"kb-once\">\n<p class=\"label\">Ba\u015flamadan \u00f6nce<\/p>\n<ul>\n<li>SSH&#8217;\u0131n hangi portta \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 bilin: <code>sudo ss -tlnp | grep ssh<\/code>.<\/li>\n<li>Sunucuda d\u0131\u015far\u0131ya a\u00e7\u0131k olmas\u0131 gereken servisleri listeleyin (web, e-posta, panel, veritaban\u0131 uzaktan eri\u015fimi).<\/li>\n<li>A\u00e7\u0131k SSH oturumunuzu kapatmay\u0131n; kurallar tamamlan\u0131nca ikinci bir pencereden ba\u011flant\u0131y\u0131 test edeceksiniz.<\/li>\n<\/ul>\n<\/div>\n<h2>UFW Ne \u0130\u015fe Yarar<\/h2>\n<p>UFW (Uncomplicated Firewall), Ubuntu&#8217;nun \u00e7ekirdekteki paket filtresini tek sat\u0131rl\u0131k komutlarla y\u00f6netmenizi sa\u011flayan \u00f6n y\u00fczd\u00fcr. A\u00e7\u0131k bir VPS, siz kurmasan\u0131z da \u00e7al\u0131\u015fan her servisi internete g\u00f6sterir: test i\u00e7in kurdu\u011funuz bir veritaban\u0131 ya da y\u00f6netim aray\u00fcz\u00fc herkesin taramas\u0131na a\u00e7\u0131k kal\u0131r. Varsay\u0131lan olarak gelen ba\u011flant\u0131lar\u0131 reddeden, yaln\u0131z izin verdi\u011finiz portlar\u0131 a\u00e7an bir politika bu riski kapat\u0131r.<\/p>\n<p>Ubuntu 24.04&#8217;te paket kurulu ama kapal\u0131 gelir. Komutlar\u0131n tamam\u0131 <a href=\"https:\/\/ubuntu.com\/server\/docs\/how-to\/security\/firewalls\/\" title=\"Ubuntu Server resm\u00ee dok\u00fcman\u0131 \u2014 G\u00fcvenlik duvar\u0131 (UFW)\" target=\"_blank\" rel=\"noopener\">Ubuntu Server g\u00fcvenlik duvar\u0131 dok\u00fcman\u0131nda<\/a> anlat\u0131l\u0131r.<\/p>\n<h2>Ad\u0131m Ad\u0131m UFW G\u00fcvenlik Duvar\u0131 Kurulumu<\/h2>\n<div class=\"warn-box\">\n<p class=\"label\">Dikkat<\/p>\n<p>SSH iznini eklemeden <code>ufw enable<\/code> \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z varsay\u0131lan politika SSH ba\u011flant\u0131n\u0131z\u0131 da reddeder ve sunucudan kilitlenirsiniz. Bu durumda tek yol \u00fcr\u00fcnle gelen taray\u0131c\u0131 terminali ya da <a href=\"https:\/\/narhost.com\/destek\/konsol-baglantisi-ile-sunucuya-nasil-erisilir\/\" title=\"Konsol Ba\u011flant\u0131s\u0131 ile Sunucuya Nas\u0131l Eri\u015filir (SSH \u00c7al\u0131\u015fmad\u0131\u011f\u0131nda) \u2014 Narhost Destek\">konsol ba\u011flant\u0131s\u0131d\u0131r<\/a>; oradan <code>sudo ufw allow OpenSSH<\/code> ya da <code>sudo ufw disable<\/code> \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/p>\n<\/div>\n<ol class=\"kb-adimlar\">\n<li><strong>Durumu ve haz\u0131r uygulama profillerini g\u00f6r\u00fcn:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw status\nsudo ufw app list<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>Status: inactive<\/code> ve profil listesinde <code>OpenSSH<\/code>. Nginx ya da Apache kuruluysa onlar\u0131n profilleri de g\u00f6r\u00fcn\u00fcr.<\/p>\n<\/li>\n<li><strong>SSH iznini ilk kural olarak ekleyin:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>Rules updated<\/code> ve <code>Rules updated (v6)<\/code>. SSH&#8217;\u0131 22 d\u0131\u015f\u0131nda bir porta ta\u015f\u0131d\u0131ysan\u0131z profil yerine <code>sudo ufw allow 2222\/tcp<\/code> yaz\u0131n; <code>OpenSSH<\/code> profili yaln\u0131z 22&#8217;yi a\u00e7ar.<\/p>\n<\/li>\n<li><strong>Varsay\u0131lan politikay\u0131 belirleyin:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw default deny incoming\nsudo ufw default allow outgoing<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>Default incoming policy changed to 'deny'<\/code>; politika hen\u00fcz uygulanmaz, UFW kapal\u0131d\u0131r.<\/p>\n<\/li>\n<li><strong>\u0130htiyac\u0131n\u0131z olan servisleri a\u00e7\u0131n:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp\nsudo ufw allow from 203.0.113.10 to any port 3306 proto tcp<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: her sat\u0131r i\u00e7in <code>Rules updated<\/code>. Son sat\u0131r veritaban\u0131n\u0131 yaln\u0131z tek bir IP adresine a\u00e7ar; veritaban\u0131n\u0131 herkese a\u00e7may\u0131n.<\/p>\n<\/li>\n<li><strong>G\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirin:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>Command may disrupt existing ssh connections. Proceed with operation (y|n)?<\/code> sorusuna <code>y<\/code> yan\u0131t\u0131 verince <code>Firewall is active and enabled on system startup<\/code>.<\/p>\n<\/li>\n<li><strong>Kurallar\u0131 numaral\u0131 listeleyin, gereksizi silin:<\/strong>\n<pre><code class=\"language-bash\">sudo ufw status numbered\nsudo ufw delete 3<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: silme onay ister; her silmeden sonra numaralar kayar, bir sonraki silmeden \u00f6nce listeyi yeniden al\u0131n.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"nh-sema\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/09\/ufw-guvenlik-duvari-kurulumu-sema-narhost.webp\" alt=\"UFW g\u00fcvenlik duvar\u0131 kurulumu ak\u0131\u015f \u015femas\u0131 \u2014 \u00f6nce SSH izni, varsay\u0131lan politika, servis portlar\u0131 ve ufw enable ile etkinle\u015ftirme\" width=\"1200\" height=\"500\" loading=\"lazy\" decoding=\"async\"><figcaption>S\u0131ra \u00f6nemli: SSH izni ilk kural olur, etkinle\u015ftirme en son yap\u0131l\u0131r.<\/figcaption><\/figure>\n<h2>Do\u011frulama<\/h2>\n<div class=\"success-box\">\n<p class=\"label\">Sonu\u00e7<\/p>\n<p><code>sudo ufw status verbose<\/code> \u00e7\u0131kt\u0131s\u0131nda <code>Status: active<\/code> ve <code>Default: deny (incoming), allow (outgoing)<\/code> g\u00f6r\u00fcnmeli, izin verdi\u011finiz portlar listede olmal\u0131d\u0131r. A\u00e7\u0131k oturumu kapatmadan ikinci bir pencerede SSH ile ba\u011flan\u0131n; ba\u011flant\u0131 a\u00e7\u0131l\u0131yorsa UFW g\u00fcvenlik duvar\u0131 kurulumu tamamlanm\u0131\u015ft\u0131r.<\/p>\n<\/div>\n<h2>H\u00e2l\u00e2 \u00c7\u00f6z\u00fclmediyse<\/h2>\n<ul>\n<li><strong>SSH ba\u011flant\u0131s\u0131 kesildi.<\/strong> SSH izni eksik ya da port yanl\u0131\u015f. Taray\u0131c\u0131 terminali veya konsoldan girip do\u011fru portu a\u00e7\u0131n; port de\u011fi\u015fikli\u011fi i\u00e7in <a href=\"https:\/\/narhost.com\/destek\/ssh-portu-nasil-degistirilir\/\" title=\"SSH Portu Nas\u0131l De\u011fi\u015ftirilir (VPS \u0130lk Kurulum 3\/10) \u2014 Narhost Destek\">SSH portu kart\u0131ndaki<\/a> s\u0131ray\u0131 izleyin.<\/li>\n<li><strong>Kapatt\u0131\u011f\u0131n\u0131z port h\u00e2l\u00e2 d\u0131\u015far\u0131dan eri\u015filebiliyor.<\/strong><a href=\"https:\/\/narhost.com\/destek\/ubuntu-docker-kurulumu\/\" title=\"Ubuntu&#039;da Docker Kurulumu \u2014 Narhost Destek\">Docker<\/a> ile yay\u0131mlanan portlar UFW kurallar\u0131n\u0131 atlar; yaln\u0131z sunucu i\u00e7inden eri\u015filecek bir konteyneri <code>-p 127.0.0.1:8080:80<\/code> bi\u00e7iminde yerel adrese ba\u011flay\u0131n.<\/li>\n<li><strong>Kurallar kar\u0131\u015ft\u0131.<\/strong><code>sudo ufw reset<\/code> t\u00fcm kurallar\u0131 siler ve UFW&#8217;yi kapat\u0131r; ard\u0131ndan SSH izniyle ba\u015ftan ba\u015flay\u0131n.<\/li>\n<\/ul>\n<div class=\"cta-box\">\n<p class=\"label\">Narhost deste\u011fi<\/p>\n<p>Talebe \u015funlar\u0131 ekleyin: sunucunuzun IP adresi, <code>sudo ufw status verbose<\/code> \u00e7\u0131kt\u0131s\u0131, eri\u015femedi\u011finiz port ve denedi\u011finiz komutlar. Kilitlendiyseniz konsol eri\u015fimi i\u00e7in bize yaz\u0131n; kurallar\u0131n kendisi sizin y\u00f6netiminizdedir.<\/p>\n<p><a class=\"cta-btn\" href=\"https:\/\/narhost.com\/submitticket.php\" title=\"Narhost destek talebi a\u00e7\">Destek talebi a\u00e7<\/a><\/div>\n<div class=\"kb-ilgili\">\n<p class=\"label\">Sonraki ad\u0131mlar<\/p>\n<ul>\n<li><a href=\"https:\/\/narhost.com\/destek\/web-sitesi-ve-sunucu-guvenligi-rehberi\/\" title=\"Web Sitesi ve Sunucu G\u00fcvenli\u011fi Rehberi (Narhost Destek)\">Web sitesi ve sunucu g\u00fcvenli\u011fi rehberi<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/vps-vds-ilk-kurulum-rehberi\/\" title=\"VPS VDS Sunucu \u0130lk Kurulum Rehberi (10 Ad\u0131mda G\u00fcvenli Kurulum) \u2014 Narhost Destek\">VPS VDS ilk kurulum rehberi<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/ssh-anahtari-nasil-eklenir\/\" title=\"SSH Anahtar\u0131 Nas\u0131l Eklenir (VPS \u0130lk Kurulum 4\/10) \u2014 Narhost Destek\">SSH anahtar\u0131 ekleme<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"kb-faq\">\n<h2>S\u0131k\u00e7a sorulan sorular<\/h2>\n<h3>UFW a\u00e7\u0131kken SSH sald\u0131r\u0131lar\u0131n\u0131 da s\u0131n\u0131rlayabilir miyim?<\/h3>\n<p>Evet. <code>sudo ufw limit OpenSSH<\/code> kural\u0131 ayn\u0131 adresten 30 saniyede 6 ve \u00fczeri ba\u011flant\u0131 denemesini reddeder. Daha ayr\u0131nt\u0131l\u0131 koruma i\u00e7in g\u00fcnl\u00fck tabanl\u0131 bir engelleme arac\u0131 eklenir.<\/p>\n<h3>UFW&#8217;yi ge\u00e7ici olarak nas\u0131l kapat\u0131r\u0131m?<\/h3>\n<p><code>sudo ufw disable<\/code> g\u00fcvenlik duvar\u0131n\u0131 kapat\u0131r ama kurallar\u0131 silmez; <code>sudo ufw enable<\/code> ile ayn\u0131 kurallarla geri a\u00e7\u0131l\u0131r.<\/p>\n<h3>IPv6 i\u00e7in ayr\u0131 kural yazmam gerekir mi?<\/h3>\n<p>Hay\u0131r. <code>\/etc\/default\/ufw<\/code> dosyas\u0131nda <code>IPV6=yes<\/code> varsay\u0131land\u0131r; her kural IPv4 ve IPv6 i\u00e7in birlikte eklenir, \u00e7\u0131kt\u0131daki <code>(v6)<\/code> sat\u0131rlar\u0131 bunu g\u00f6sterir.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ubuntu&#8217;da UFW g\u00fcvenlik duvar\u0131 kurulumu: kilitlenmemek i\u00e7in \u00f6nce SSH iznini eklemek, default deny incoming, 80\/443 ve tek IP&#8217;ye veritaban\u0131 izni, ufw enable, numaral\u0131 listeleme, kural silme ve kilitlenince taray\u0131c\u0131 terminali ya da konsoldan kurtarma.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79,13],"tags":[179],"class_list":["post-2477","post","type-post","status-publish","format-standard","hentry","category-guvenlik-duvari","category-vps-server","tag-guvenlik-2"],"meta_box":[],"_links":{"self":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/comments?post=2477"}],"version-history":[{"count":1,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2477\/revisions"}],"predecessor-version":[{"id":2854,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2477\/revisions\/2854"}],"wp:attachment":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/media?parent=2477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/categories?post=2477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/tags?post=2477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}