{"id":35751,"date":"2025-12-03T13:40:47","date_gmt":"2025-12-03T10:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35751"},"modified":"2025-12-03T13:40:47","modified_gmt":"2025-12-03T10:40:47","slug":"freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/","title":{"rendered":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar"},"content":{"rendered":"<p><body><\/p>\n<h2>FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar<\/h2>\n<p>G\u00fcvenlik, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden daha kritik bir \u00f6neme sahiptir. \u00d6zellikle internete a\u00e7\u0131k sunucular, s\u00fcrekli olarak k\u00f6t\u00fc niyetli sald\u0131r\u0131lar\u0131n hedefi olmaktad\u0131r. FreeBSD, kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi ile bilinen g\u00fc\u00e7l\u00fc bir i\u015fletim sistemi olsa da, \u00fczerinde \u00e7al\u0131\u015fan uygulamalar\u0131n, \u00f6zellikle de Apache HTTP Sunucusu gibi yayg\u0131n kullan\u0131lan servislerin, do\u011fru bir \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 ve g\u00fc\u00e7lendirilmesi hayati \u00f6nem ta\u015f\u0131r. Bu makale, FreeBSD 12.0 \u00fczerinde \u00e7al\u0131\u015fan Apache HTTP sunucusunun g\u00fcvenli\u011fini art\u0131rmak i\u00e7in at\u0131lmas\u0131 gereken temel ve ileri d\u00fczey ad\u0131mlar\u0131 detayland\u0131rmaktad\u0131r. Amac\u0131m\u0131z, sunucunuzu olas\u0131 tehditlere kar\u015f\u0131 daha diren\u00e7li hale getirmek ve veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc, gizlili\u011fini ve eri\u015filebilirli\u011fini sa\u011flamakt\u0131r.<\/p>\n<p>G\u00fcvenlik g\u00fc\u00e7lendirme s\u00fcreci, tek seferlik bir i\u015flemden ziyade s\u00fcrekli bir \u00e7aba gerektirir. Sistem g\u00fcncellemelerinin takibi, yap\u0131land\u0131rma denetimleri ve yeni g\u00fcvenlik tehditlerine kar\u015f\u0131 adaptasyon, g\u00fcvenli bir ortam\u0131n s\u00fcrd\u00fcr\u00fclmesi i\u00e7in elzemdir. A\u015fa\u011f\u0131daki ad\u0131mlar, bu s\u00fcrekli s\u00fcrecin temel ta\u015flar\u0131n\u0131 olu\u015fturmaktad\u0131r.<\/p>\n<h2>Temel Sistem G\u00fcvenli\u011fi<\/h2>\n<p>Apache HTTP sunucusunun g\u00fcvenli\u011fini sa\u011flamadan \u00f6nce, alt\u0131nda yatan i\u015fletim sistemi olan FreeBSD&#8217;nin kendisinin g\u00fcvenli oldu\u011fundan emin olmak esast\u0131r. Zira, zay\u0131f bir temel \u00fczerinde in\u015fa edilen hi\u00e7bir yap\u0131land\u0131rma tam anlam\u0131yla g\u00fcvenli olamaz.<\/p>\n<h3>FreeBSD G\u00fcncellemeleri<\/h3>\n<p>FreeBSD sisteminizi g\u00fcncel tutmak, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 korunman\u0131n ilk ve en \u00f6nemli ad\u0131m\u0131d\u0131r. FreeBSD projesi, i\u015fletim sistemindeki ve temel yaz\u0131l\u0131mlardaki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 d\u00fczenli olarak yamalarla kapat\u0131r.<\/p>\n<p>*   <strong>Sistem G\u00fcncellemeleri:<\/strong> <code>freebsd-update<\/code> arac\u0131, FreeBSD temel sisteminin g\u00fcncellemelerini y\u00f6netmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo freebsd-update fetch\n    sudo freebsd-update install<\/code><\/pre>\n<p>    Bu komutlar\u0131 d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131rmak, i\u015fletim sisteminizin en son g\u00fcvenlik yamalar\u0131na sahip olmas\u0131n\u0131 sa\u011flar. \u00d6zellikle b\u00fcy\u00fck g\u00fcncellemelerden sonra sunucunuzu yeniden ba\u015flatman\u0131z gerekebilir.<br \/>\n*   <strong>Paket G\u00fcncellemeleri:<\/strong> Apache ve di\u011fer t\u00fcm \u00fc\u00e7\u00fcnc\u00fc taraf yaz\u0131l\u0131mlar, <code>pkg<\/code> paketi y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla g\u00fcncellenmelidir.<\/p>\n<pre><code class=\"language-bash\">sudo pkg update\n    sudo pkg upgrade<\/code><\/pre>\n<p>    Bu komutlar, kurulu t\u00fcm paketlerin en son ve g\u00fcvenli s\u00fcr\u00fcmlerine g\u00fcncellenmesini sa\u011flar.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>G\u00fcvenlik duvar\u0131, sunucunuza gelen ve giden a\u011f trafi\u011fini kontrol eden ilk savunma hatt\u0131d\u0131r. FreeBSD, <code>pf<\/code> (Packet Filter) ve <code>ipfw<\/code> olmak \u00fczere iki g\u00fc\u00e7l\u00fc g\u00fcvenlik duvar\u0131 se\u00e7ene\u011fi sunar. <code>pf<\/code> genellikle daha modern ve esnek kabul edilir.<\/p>\n<p>*   <strong>PF (Packet Filter) Kullan\u0131m\u0131:<\/strong> <code>pf<\/code>&#8216;yi etkinle\u015ftirmek ve yap\u0131land\u0131rmak i\u00e7in <code>\/etc\/rc.conf<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">pf_enable=\"YES\"\n    pf_rules=\"\/etc\/pf.conf\"<\/code><\/pre>\n<p>    Ard\u0131ndan <code>\/etc\/pf.conf<\/code> dosyas\u0131n\u0131 olu\u015fturun veya d\u00fczenleyin. Minimum bir Apache sunucusu i\u00e7in, sadece SSH (port 22) ve HTTP\/HTTPS (port 80, 443) trafi\u011fine izin veren kurallar tan\u0131mlanmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-\"># Varsay\u0131lan olarak t\u00fcm trafi\u011fi engelle\n    block all\n\n    # Loopback trafi\u011fine izin ver\n    pass out quick on lo0 all\n    pass in quick on lo0 all\n\n    # SSH (22), HTTP (80) ve HTTPS (443) portlar\u0131na gelen trafi\u011fe izin ver\n    pass in on ext_if proto tcp from any to any port {22, 80, 443} flags S\/SA keep state\n    # Giden t\u00fcm trafi\u011fe izin ver (DNS sorgular\u0131, g\u00fcncellemeler vb. i\u00e7in)\n    pass out on ext_if proto {tcp, udp} from any to any keep state<\/code><\/pre>\n<p>    <code>ext_if<\/code> yerine a\u011f aray\u00fcz\u00fcn\u00fcz\u00fcn ad\u0131n\u0131 (\u00f6rne\u011fin <code>em0<\/code> veya <code>vtnet0<\/code>) yazmay\u0131 unutmay\u0131n. Kurallar\u0131 uygulad\u0131ktan sonra <code>sudo pfctl -f \/etc\/pf.conf<\/code> ile y\u00fckleyebilir ve <code>sudo pfctl -e<\/code> ile etkinle\u015ftirebilirsiniz.<\/p>\n<h3>SSH G\u00fcvenli\u011fi<\/h3>\n<p>SSH, sunucunuza uzaktan g\u00fcvenli bir \u015fekilde eri\u015fmek i\u00e7in kullan\u0131lan temel ara\u00e7t\u0131r. SSH ba\u011flant\u0131lar\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flamak, sunucu g\u00fcvenli\u011finin \u00f6nemli bir par\u00e7as\u0131d\u0131r.<\/p>\n<p>*   <strong>Varsay\u0131lan Portu De\u011fi\u015ftirme:<\/strong> SSH&#8217;nin varsay\u0131lan portu olan 22&#8217;yi de\u011fi\u015ftirmek, otomatik bot sald\u0131r\u0131lar\u0131n\u0131 azaltabilir. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131ndaki <code>Port 22<\/code> sat\u0131r\u0131n\u0131 farkl\u0131 bir port ile de\u011fi\u015ftirin (\u00f6rne\u011fin <code>Port 2222<\/code>).<br \/>\n*   <strong>Root Giri\u015fini Engelleme:<\/strong> Do\u011frudan root kullan\u0131c\u0131s\u0131yla SSH giri\u015fi yapmak yerine, yetkisiz bir kullan\u0131c\u0131yla giri\u015f yap\u0131p ard\u0131ndan <code>sudo<\/code> kullanmak daha g\u00fcvenlidir. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda <code>PermitRootLogin no<\/code> olarak ayarlay\u0131n.<br \/>\n*   <strong>Parola Tabanl\u0131 Kimlik Do\u011frulamay\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> Anahtar tabanl\u0131 kimlik do\u011frulama, parola tabanl\u0131 kimlik do\u011frulamadan \u00e7ok daha g\u00fcvenlidir. <code>PasswordAuthentication no<\/code> ve <code>ChallengeResponseAuthentication no<\/code> olarak ayarlay\u0131n.<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc Parolalar:<\/strong> E\u011fer parola tabanl\u0131 kimlik do\u011frulamay\u0131 kullanmak zorundaysan\u0131z, t\u00fcm kullan\u0131c\u0131lar i\u00e7in g\u00fc\u00e7l\u00fc ve karma\u015f\u0131k parolalar kullan\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Fail2Ban Kullan\u0131m\u0131:<\/strong> Tekrarlanan ba\u015far\u0131s\u0131z giri\u015f denemelerini alg\u0131lay\u0131p IP adreslerini ge\u00e7ici veya kal\u0131c\u0131 olarak engelleyen Fail2Ban gibi bir ara\u00e7 kurmak, kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ek bir koruma sa\u011flar.<\/p>\n<h3>Minimum Servis \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>Sunucunuzda yaln\u0131zca kesinlikle gerekli olan servisleri \u00e7al\u0131\u015ft\u0131rmak, sald\u0131r\u0131 y\u00fczeyini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Gereksiz servisler, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 yarat\u0131r. <code>\/etc\/rc.conf<\/code> dosyas\u0131n\u0131 inceleyerek ve yaln\u0131zca ihtiya\u00e7 duyulan servisleri etkinle\u015ftirerek bu prensibi uygulay\u0131n. \u00d6rne\u011fin, bir web sunucusu i\u00e7in posta sunucusu veya DNS sunucusu gibi servisler genellikle gereksizdir.<\/p>\n<h2>Apache Kurulum ve Yap\u0131land\u0131rma G\u00fcvenli\u011fi<\/h2>\n<p>FreeBSD \u00fczerinde Apache&#8217;nin kendisini nas\u0131l kurdu\u011funuz ve yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z, g\u00fcvenlik duru\u015funuzu do\u011frudan etkiler.<\/p>\n<h3>Apache Kurulumu<\/h3>\n<p>Apache&#8217;yi FreeBSD \u00fczerinde kurman\u0131n iki ana yolu vard\u0131r: <code>pkg<\/code> ile ikili paketlerden veya Ports sistemi ile kaynaktan derleyerek. <code>pkg<\/code> genellikle daha h\u0131zl\u0131 ve kolayd\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo pkg install apache24<\/code><\/pre>\n<p>Kurulumdan sonra, Apache&#8217;nin sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in <code>\/etc\/rc.conf<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">apache24_enable=\"YES\"<\/code><\/pre>\n<p>Ard\u0131ndan Apache&#8217;yi ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service apache24 start<\/code><\/pre>\n<h3>Kullan\u0131c\u0131 ve Grup Y\u00f6netimi<\/h3>\n<p>Apache&#8217;nin d\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131 ve grupla \u00e7al\u0131\u015fmas\u0131, g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. E\u011fer Apache <code>root<\/code> kullan\u0131c\u0131s\u0131 ile \u00e7al\u0131\u015f\u0131rsa ve bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 istismar edilirse, sald\u0131rgan t\u00fcm sisteme tam eri\u015fim sa\u011flayabilir.<\/p>\n<p>*   <strong><code>User<\/code> ve <code>Group<\/code> Direktifleri:<\/strong> Apache, yap\u0131land\u0131rma dosyas\u0131nda (<code>\/usr\/local\/etc\/apache24\/httpd.conf<\/code> veya ilgili dosyalarda) <code>User<\/code> ve <code>Group<\/code> direktifleri ile hangi kullan\u0131c\u0131 ve grupla \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler. Varsay\u0131lan olarak genellikle <code>www<\/code> kullan\u0131c\u0131s\u0131 ve <code>www<\/code> grubu kullan\u0131l\u0131r. Bu, iyi bir varsay\u0131land\u0131r ve de\u011fi\u015ftirilmesi genellikle \u00f6nerilmez, ancak Apache&#8217;nin asla <code>root<\/code> olarak \u00e7al\u0131\u015fmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<pre><code class=\"language-apache\">User www\n    Group www<\/code><\/pre>\n<p>    Bu kullan\u0131c\u0131 ve grubun minimum yetkilere sahip oldu\u011fundan ve Apache&#8217;nin \u00e7al\u0131\u015fma dizinleri d\u0131\u015f\u0131ndaki hi\u00e7bir yere yazma izni olmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>Dizin ve Dosya \u0130zinleri<\/h3>\n<p>Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizinlerin ve web k\u00f6k dizininin (DocumentRoot) do\u011fru dosya ve dizin izinlerine sahip olmas\u0131, yetkisiz eri\u015fimi ve dosya manip\u00fclasyonunu \u00f6nlemek i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n<p>*   <strong>Web K\u00f6k Dizini (DocumentRoot):<\/strong> Web sitenizin i\u00e7eri\u011finin bulundu\u011fu dizindir (\u00f6rne\u011fin <code>\/usr\/local\/www\/apache24\/data<\/code>). Bu dizin ve alt\u0131ndaki dosyalar, Apache&#8217;nin okuma yetkisine sahip olmal\u0131, ancak genellikle yazma yetkisine sahip olmamal\u0131d\u0131r.<br \/>\n    *   Dizinler i\u00e7in izinler <code>755<\/code> (<code>drwxr-xr-x<\/code>) olmal\u0131.<br \/>\n    *   Dosyalar i\u00e7in izinler <code>644<\/code> (<code>-rw-r--r--<\/code>) olmal\u0131.<br \/>\n    *   Sahiplik genellikle <code>root:www<\/code> veya <code>youruser:www<\/code> \u015feklinde olmal\u0131, b\u00f6ylece Apache (<code>www<\/code> grubu \u00fcyesi olarak) okuyabilir ancak yazamaz.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R root:www \/usr\/local\/www\/apache24\/data\n    sudo find \/usr\/local\/www\/apache24\/data -type d -exec chmod 755 {} +\n    sudo find \/usr\/local\/www\/apache24\/data -type f -exec chmod 644 {} +<\/code><\/pre>\n<p>    E\u011fer web uygulaman\u0131z\u0131n belirli dizinlere yazma izni olmas\u0131 gerekiyorsa (\u00f6rne\u011fin y\u00fcklemeler veya \u00f6nbellek i\u00e7in), bu dizinlere \u00f6zel olarak <code>www<\/code> kullan\u0131c\u0131s\u0131na yazma izni verin (<code>775<\/code> veya <code>770<\/code> ile <code>www<\/code> grubuna yazma izni).<\/p>\n<p>*   <strong>Apache Yap\u0131land\u0131rma Dizini:<\/strong> <code>\/usr\/local\/etc\/apache24<\/code> dizini ve i\u00e7indeki dosyalar yaln\u0131zca <code>root<\/code> taraf\u0131ndan okunabilir ve yaz\u0131labilir olmal\u0131d\u0131r (<code>root:wheel<\/code> veya <code>root:root<\/code> ve izinler <code>640<\/code> veya <code>600<\/code>).<\/p>\n<h3>Gereksiz Mod\u00fcllerin Devre D\u0131\u015f\u0131 B\u0131rak\u0131lmas\u0131<\/h3>\n<p>Apache, \u00e7ok say\u0131da mod\u00fcl ile gelir. Ancak, her mod\u00fcl potansiyel bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 ta\u015f\u0131yabilir. Kullan\u0131lmayan mod\u00fclleri devre d\u0131\u015f\u0131 b\u0131rakmak, sald\u0131r\u0131 y\u00fczeyini azalt\u0131r.<\/p>\n<p>*   <strong><code>httpd.conf<\/code> D\u00fczenleme:<\/strong> <code>\/usr\/local\/etc\/apache24\/httpd.conf<\/code> dosyas\u0131nda <code>LoadModule<\/code> sat\u0131rlar\u0131n\u0131 inceleyin. \u0130htiya\u00e7 duymad\u0131\u011f\u0131n\u0131z mod\u00fcllerin ba\u015flar\u0131na <code>#<\/code> koyarak yorum sat\u0131r\u0131 haline getirin.<br \/>\n    *   <strong>Devre D\u0131\u015f\u0131 B\u0131rak\u0131lmas\u0131 \u00d6nerilen Mod\u00fcller:<\/strong><br \/>\n        *   <code>mod_status<\/code>: Sunucu durum bilgilerini g\u00f6sterir. Y\u00f6netim ama\u00e7l\u0131 de\u011filse devre d\u0131\u015f\u0131 b\u0131rak\u0131n veya eri\u015fimi k\u0131s\u0131tlay\u0131n.<br \/>\n        *   <code>mod_info<\/code>: Sunucu yap\u0131land\u0131rma bilgilerini g\u00f6sterir. Kesinlikle devre d\u0131\u015f\u0131 b\u0131rak\u0131lmal\u0131 veya eri\u015fimi \u00e7ok s\u0131k\u0131 k\u0131s\u0131tlanmal\u0131d\u0131r.<br \/>\n        *   <code>mod_autoindex<\/code>: Dizin listelemeyi sa\u011flar. <code>Options -Indexes<\/code> ile zaten engellenebilir, ancak mod\u00fcl\u00fcn kendisini y\u00fcklememek daha iyidir.<br \/>\n        *   <code>mod_cgi<\/code>, <code>mod_cgid<\/code>: CGI komut dosyalar\u0131 \u00e7al\u0131\u015ft\u0131rm\u0131yorsan\u0131z devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n        *   <code>mod_dav<\/code>, <code>mod_dav_fs<\/code>: WebDAV kullanm\u0131yorsan\u0131z devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n    *   <strong>Sadece Gerekli Mod\u00fclleri Y\u00fckleyin:<\/strong> Yaln\u0131zca web uygulaman\u0131z\u0131n veya sunucunuzun i\u015flevselli\u011fi i\u00e7in kesinlikle gerekli olan mod\u00fclleri (<code>mod_ssl<\/code>, <code>mod_rewrite<\/code>, <code>mod_dir<\/code> vb.) etkin b\u0131rak\u0131n.<\/p>\n<h2>Apache Yap\u0131land\u0131rma Dosyas\u0131 G\u00fcvenli\u011fi<\/h2>\n<p>Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 olan <code>httpd.conf<\/code> ve sanal ana bilgisayar yap\u0131land\u0131rmalar\u0131, sunucu g\u00fcvenli\u011fi i\u00e7in en kritik ayarlamalar\u0131 i\u00e7erir.<\/p>\n<h3>Sunucu Bilgilerini Gizleme<\/h3>\n<p>Apache, varsay\u0131lan olarak hata sayfalar\u0131nda ve HTTP ba\u015fl\u0131klar\u0131nda sunucu yaz\u0131l\u0131m\u0131n\u0131n ad\u0131n\u0131 ve s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6sterir. Bu bilgiler, sald\u0131rganlara hedef sistem hakk\u0131nda de\u011ferli ipu\u00e7lar\u0131 verebilir.<\/p>\n<p>*   <strong><code>ServerTokens Prod<\/code>:<\/strong> Bu direktif, HTTP yan\u0131t ba\u015fl\u0131klar\u0131nda yaln\u0131zca &#8220;Apache&#8221; bilgisinin g\u00f6r\u00fcnmesini sa\u011flar, s\u00fcr\u00fcm numaras\u0131 veya i\u015fletim sistemi gibi detaylar\u0131 gizler.<\/p>\n<pre><code class=\"language-apache\">ServerTokens Prod<\/code><\/pre>\n<p>*   <strong><code>ServerSignature Off<\/code>:<\/strong> Bu direktif, Apache taraf\u0131ndan olu\u015fturulan sayfalarda (dizin listelemeleri, hata sayfalar\u0131) sunucu s\u00fcr\u00fcm bilgisinin g\u00f6sterilmesini engeller.<\/p>\n<pre><code class=\"language-apache\">ServerSignature Off<\/code><\/pre>\n<h3>Dizin Listelemeyi Engelleme<\/h3>\n<p>Web sunucunuzda bir dizinde <code>index.html<\/code> veya <code>index.php<\/code> gibi bir dizin dosyas\u0131 yoksa, Apache varsay\u0131lan olarak o dizindeki t\u00fcm dosyalar\u0131 listeler. Bu durum, hassas bilgilerin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131na neden olabilir.<\/p>\n<p>*   <strong><code>Options -Indexes<\/code>:<\/strong> Bu direktifi, <code>DocumentRoot<\/code> dizini i\u00e7in veya <code><Directory><\/code> bloklar\u0131 i\u00e7inde kullanarak dizin listelemeyi engelleyin.<\/p>\n<pre><code class=\"language-apache\"><Directory \"\/usr\/local\/www\/apache24\/data\">\n        Options -Indexes FollowSymLinks\n        AllowOverride None\n        Require all granted\n    <\/Directory><\/code><\/pre>\n<p>    Bu ayar\u0131 <code><VirtualHost><\/code> bloklar\u0131n\u0131zda da uygulad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<h3>Takip Sembolik Linkleri Engelleme<\/h3>\n<p>Sembolik linkler (symlinks), bir dizin i\u00e7indeki bir dosyan\u0131n veya dizinin ba\u015fka bir konumdaki dosyay\u0131\/dizini i\u015faret etmesini sa\u011flar. Yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda, sald\u0131rganlar sembolik linkler arac\u0131l\u0131\u011f\u0131yla web k\u00f6k dizini d\u0131\u015f\u0131ndaki dosyalara eri\u015febilir.<\/p>\n<p>*   <strong><code>Options -FollowSymLinks<\/code>:<\/strong> Bu direktif, Apache&#8217;nin sembolik linkleri takip etmesini engeller. Bu, en g\u00fcvenli yakla\u015f\u0131md\u0131r ancak uygulaman\u0131z\u0131n sembolik linklere ihtiyac\u0131 varsa sorunlara yol a\u00e7abilir.<br \/>\n*   <strong><code>Options SymLinksIfOwnerMatch<\/code>:<\/strong> Daha esnek bir alternatif olarak, sembolik linkin hedefi ile linkin sahibinin ayn\u0131 olmas\u0131 durumunda takibe izin verir. Bu, bir\u00e7ok senaryo i\u00e7in iyi bir denge sa\u011flar.<\/p>\n<pre><code class=\"language-apache\"><Directory \"\/usr\/local\/www\/apache24\/data\">\n        Options -Indexes SymLinksIfOwnerMatch\n        AllowOverride None\n        Require all granted\n    <\/Directory><\/code><\/pre>\n<h3>\u0130stek Metotlar\u0131n\u0131 K\u0131s\u0131tlama<\/h3>\n<p>Web uygulaman\u0131z\u0131n yaln\u0131zca belirli HTTP istek metotlar\u0131n\u0131 (GET, POST, HEAD) kullanmas\u0131 gerekiyorsa, di\u011fer metotlar\u0131 (PUT, DELETE, CONNECT, TRACE, OPTIONS) k\u0131s\u0131tlamak g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 azaltabilir.<\/p>\n<p>*   <strong><code>LimitExcept<\/code> Direktifi:<\/strong> Bu direktif, belirli HTTP metotlar\u0131na izin vermek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-apache\"><Directory \"\/usr\/local\/www\/apache24\/data\">\n        <LimitExcept GET POST HEAD>\n            Require all denied\n        <\/LimitExcept>\n    <\/Directory><\/code><\/pre>\n<p>    Bu, GET, POST ve HEAD d\u0131\u015f\u0131ndaki t\u00fcm metotlar\u0131 engeller.<\/p>\n<h3>Eri\u015fim Kontrol\u00fc<\/h3>\n<p>Apache, <code><Directory><\/code>, <code><Files><\/code>, <code><FilesMatch><\/code> ve <code><Location><\/code> direktifleri arac\u0131l\u0131\u011f\u0131yla \u00e7ok gran\u00fcler eri\u015fim kontrol\u00fc sa\u011flar. Bu, hassas dosyalara veya dizinlere yetkisiz eri\u015fimi engellemek i\u00e7in kullan\u0131labilir.<\/p>\n<p>*   <strong><code>AllowOverride None<\/code>:<\/strong> Bu direktif, <code>.htaccess<\/code> dosyalar\u0131n\u0131n i\u015flenmesini tamamen devre d\u0131\u015f\u0131 b\u0131rak\u0131r. <code>.htaccess<\/code> dosyalar\u0131, dizin baz\u0131nda yap\u0131land\u0131rma de\u011fi\u015fikliklerine izin verir, ancak g\u00fcvenlik a\u00e7\u0131klar\u0131 yaratabilir. E\u011fer uygulaman\u0131z\u0131n <code>.htaccess<\/code>&#8216;e ihtiyac\u0131 yoksa, <code>AllowOverride None<\/code> kullanmak en g\u00fcvenli se\u00e7enektir. E\u011fer ihtiya\u00e7 varsa, <code>AllowOverride AuthConfig FileInfo<\/code> gibi k\u0131s\u0131tl\u0131 bir set kullan\u0131n.<\/p>\n<pre><code class=\"language-apache\"><Directory \"\/usr\/local\/www\/apache24\/data\">\n        AllowOverride None\n        # ... di\u011fer ayarlar ...\n    <\/Directory><\/code><\/pre>\n<p>*   <strong>Hassas Dosyalara Eri\u015fimi Engelleme:<\/strong> Yedekleme dosyalar\u0131, yap\u0131land\u0131rma dosyalar\u0131, <code>.htpasswd<\/code>, <code>.htaccess<\/code> gibi dosyalar\u0131n do\u011frudan web \u00fczerinden eri\u015filememesi gerekir.<\/p>\n<pre><code class=\"language-apache\"><FilesMatch \"^\\.ht\">\n        Require all denied\n    <\/FilesMatch>\n    <FilesMatch \"\\.(bak|conf|orig|inc|log|sh|sql)$\">\n        Require all denied\n    <\/FilesMatch><\/code><\/pre>\n<p>    Bu kurallar, <code>.ht<\/code> ile ba\u015flayan veya belirli uzant\u0131lara sahip dosyalara web eri\u015fimini engeller.<\/p>\n<h3>SSL\/TLS Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Web sitenizin HTTPS \u00fczerinden sunulmas\u0131, kullan\u0131c\u0131 verilerinin \u015fifrelenmesini sa\u011flayarak gizlili\u011fi ve b\u00fct\u00fcnl\u00fc\u011f\u00fc korur. G\u00fcncel ve g\u00fc\u00e7l\u00fc SSL\/TLS yap\u0131land\u0131rmas\u0131 kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>HTTPS&#8217;ye Y\u00f6nlendirme:<\/strong> T\u00fcm HTTP isteklerini HTTPS&#8217;ye y\u00f6nlendirin. Bu, <code>\/usr\/local\/etc\/apache24\/extra\/httpd-vhosts.conf<\/code> veya benzeri bir dosyada yap\u0131labilir.<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n        ServerName example.com\n        Redirect permanent \/ https:\/\/example.com\/\n    <\/VirtualHost><\/code><\/pre>\n<p>*   <strong>G\u00fcncel TLS Protokolleri:<\/strong> Yaln\u0131zca g\u00fcvenli TLS protokollerini (TLSv1.2 ve TLSv1.3) etkinle\u015ftirin ve eski, zay\u0131f protokolleri (SSLv2, SSLv3, TLSv1.0, TLSv1.1) devre d\u0131\u015f\u0131 b\u0131rak\u0131n. Bu, <code>\/usr\/local\/etc\/apache24\/extra\/httpd-ssl.conf<\/code> dosyas\u0131nda <code>SSLProtocol<\/code> direktifi ile yap\u0131l\u0131r.<\/p>\n<pre><code class=\"language-apache\">SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1<\/code><\/pre>\n<p>    veya daha modern bir yakla\u015f\u0131m:<\/p>\n<pre><code class=\"language-apache\">SSLProtocol TLSv1.2 TLSv1.3<\/code><\/pre>\n<p>*   <strong>Zay\u0131f \u015eifrelerin Devre D\u0131\u015f\u0131 B\u0131rak\u0131lmas\u0131:<\/strong> G\u00fc\u00e7l\u00fc \u015fifre s\u00fcitleri kullan\u0131n ve bilinen zay\u0131f veya k\u0131r\u0131lm\u0131\u015f \u015fifreleri devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<\/p>\n<pre><code class=\"language-apache\">SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH\n    SSLHonorCipherOrder on<\/code><\/pre>\n<p>    Mozilla SSL Configuration Generator gibi ara\u00e7lar, g\u00fcncel ve g\u00fcvenli bir <code>SSLCipherSuite<\/code> olu\u015fturmak i\u00e7in kullan\u0131labilir.<br \/>\n*   <strong>HSTS (HTTP Strict Transport Security):<\/strong> HSTS, taray\u0131c\u0131lara web sitenize her zaman HTTPS \u00fczerinden ba\u011flanmalar\u0131n\u0131 s\u00f6yler, hatta kullan\u0131c\u0131 HTTP ba\u011flant\u0131s\u0131 denese bile. Bu, MITM (man-in-the-middle) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<pre><code class=\"language-apache\">Header always set Strict-Transport-Security \"max-age=63072000; includeSubDomains; preload\"<\/code><\/pre>\n<p>    Bu direktif genellikle <code>mod_headers<\/code> mod\u00fcl\u00fc etkinle\u015ftirildikten sonra <code><VirtualHost *:443><\/code> blo\u011funda kullan\u0131l\u0131r.<br \/>\n*   <strong>OCSP Stapling:<\/strong> OCSP Stapling, sunucunuzun OCSP yan\u0131tlar\u0131n\u0131 do\u011frudan istemciye sunarak SSL\/TLS el s\u0131k\u0131\u015fma s\u00fcresini k\u0131salt\u0131r ve gizlili\u011fi art\u0131r\u0131r.<\/p>\n<pre><code class=\"language-apache\">SSLUseStapling on\n    SSLStaplingCache \"shmcb:\/tmp\/stapling_cache(128)\"<\/code><\/pre>\n<p>*   <strong>Let&#8217;s Encrypt:<\/strong> \u00dccretsiz ve otomatik SSL\/TLS sertifikalar\u0131 sa\u011flayan Let&#8217;s Encrypt kullanmak, HTTPS&#8217;yi kolayca uygulaman\u0131za olanak tan\u0131r. FreeBSD \u00fczerinde <code>certbot<\/code> arac\u0131 ile kolayca entegre edilebilir.<\/p>\n<h2>Geli\u015fmi\u015f G\u00fcvenlik \u00d6nlemleri<\/h2>\n<p>Temel yap\u0131land\u0131rmalar\u0131n \u00f6tesinde, Apache sunucunuzu daha da g\u00fc\u00e7lendirmek i\u00e7in ileri d\u00fczey g\u00fcvenlik \u00f6nlemleri alabilirsiniz.<\/p>\n<h3>ModSecurity WAF (Web Application Firewall)<\/h3>\n<p>ModSecurity, Apache i\u00e7in a\u00e7\u0131k kaynakl\u0131 bir web uygulama g\u00fcvenlik duvar\u0131d\u0131r (WAF). SQL enjeksiyonu, XSS, dosya dahil etme gibi yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<p>*   <strong>Kurulum:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo pkg install security\/mod_security<\/code><\/pre>\n<p>*   <strong>Yap\u0131land\u0131rma:<\/strong> ModSecurity&#8217;yi etkinle\u015ftirdikten sonra, OWASP Core Rule Set (CRS) gibi g\u00fc\u00e7l\u00fc kural k\u00fcmelerini kullan\u0131n. Bu kural k\u00fcmeleri, bilinen bir\u00e7ok sald\u0131r\u0131 t\u00fcr\u00fcn\u00fc alg\u0131lamak ve engellemek i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<pre><code class=\"language-apache\"># httpd.conf i\u00e7ine ekleyin veya ayr\u0131 bir dosyada yap\u0131land\u0131r\u0131n\n    <IfModule security2_module>\n        SecRuleEngine On\n        # OWASP CRS kurallar\u0131n\u0131 dahil edin\n        Include \"\/usr\/local\/etc\/modsecurity-crs\/modsecurity_crs_10_setup.conf\"\n        Include \"\/usr\/local\/etc\/modsecurity-crs\/base_rules\/*.conf\"\n        # Kendi \u00f6zel kurallar\u0131n\u0131z\u0131 ekleyebilirsiniz\n    <\/IfModule><\/code><\/pre>\n<p>    Kurulum ve yap\u0131land\u0131rma, dikkatli bir test s\u00fcreci gerektirir, \u00e7\u00fcnk\u00fc yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f kurallar yasal trafi\u011fi de engelleyebilir.<\/p>\n<h3>DDoS Korumas\u0131<\/h3>\n<p>DDoS (Distributed Denial of Service) sald\u0131r\u0131lar\u0131, sunucuyu a\u015f\u0131r\u0131 y\u00fckleyerek hizmeti kesintiye u\u011fratmay\u0131 hedefler. Tamamen engellemek zor olsa da, baz\u0131 \u00f6nlemler al\u0131nabilir.<\/p>\n<p>*   <strong><code>mod_evasive<\/code>:<\/strong> Bu Apache mod\u00fcl\u00fc, belirli IP adreslerinden gelen a\u015f\u0131r\u0131 istekleri alg\u0131layarak ve ge\u00e7ici olarak engelleyerek basit DDoS ve kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo pkg install apache24-mod_evasive<\/code><\/pre>\n<p>    Yap\u0131land\u0131rma \u00f6rnekleri:<\/p>\n<pre><code class=\"language-apache\"><IfModule mod_evasive24.c>\n        DOSHashTableSize    3097\n        DOSPageCount        2\n        DOSSiteCount        50\n        DOSPageInterval     1\n        DOSSiteInterval     1\n        DOSBlockingPeriod   10\n    <\/IfModule><\/code><\/pre>\n<p>*   <strong>G\u00fcvenlik Duvar\u0131 ile Rate Limiting:<\/strong> <code>pf<\/code> veya <code>ipfw<\/code> kullanarak belirli bir IP adresinden gelen ba\u011flant\u0131 say\u0131s\u0131n\u0131 s\u0131n\u0131rlayabilirsiniz.<\/p>\n<pre><code class=\"language-\"># pf.conf i\u00e7inde \u00f6rnek kural:\n    table <attackers> persist\n    block in quick from <attackers>\n    pass in on ext_if proto tcp to any port {80, 443} \\\n        flags S\/SA keep state (max-src-conn 100, max-src-conn-rate 15\/5, overload <attackers> flush global)<\/code><\/pre>\n<p>    Bu kural, bir kaynaktan gelen maksimum ba\u011flant\u0131 say\u0131s\u0131n\u0131 ve ba\u011flant\u0131 oran\u0131n\u0131 s\u0131n\u0131rlar.<\/p>\n<h3>Loglama ve \u0130zleme<\/h3>\n<p>Sald\u0131r\u0131lar\u0131 tespit etmek, analiz etmek ve \u00f6nlemek i\u00e7in kapsaml\u0131 loglama ve d\u00fczenli izleme hayati \u00f6neme sahiptir.<\/p>\n<p>*   <strong>Eri\u015fim ve Hata Loglar\u0131:<\/strong> Apache, <code>access_log<\/code> ve <code>error_log<\/code> dosyalar\u0131na ayr\u0131nt\u0131l\u0131 bilgi kaydeder. Bu loglar\u0131 d\u00fczenli olarak inceleyin.<\/p>\n<pre><code class=\"language-apache\">CustomLog \"\/var\/log\/apache24\/access.log\" combined\n    ErrorLog \"\/var\/log\/apache24\/error.log\"\n    LogLevel warn<\/code><\/pre>\n<p>    <code>LogLevel<\/code> direktifi, loglanacak mesajlar\u0131n seviyesini belirler. <code>warn<\/code> veya <code>error<\/code> genellikle \u00fcretim ortamlar\u0131 i\u00e7in yeterlidir.<br \/>\n*   <strong><code>mod_log_forensic<\/code>:<\/strong> Bu mod\u00fcl, her iste\u011fin tam ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc loglayarak adli analiz i\u00e7in daha fazla bilgi sa\u011flar.<br \/>\n*   <strong>Merkezi Loglama:<\/strong> <code>syslog-ng<\/code> veya <code>rsyslog<\/code> gibi ara\u00e7larla loglar\u0131 merkezi bir sunucuya g\u00f6ndermek, sald\u0131rganlar\u0131n loglar\u0131 silmesini zorla\u015ft\u0131r\u0131r ve birden fazla sunucudan gelen loglar\u0131n analizini kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Log Rotasyonu:<\/strong> <code>newsyslog<\/code> (FreeBSD&#8217;de varsay\u0131lan) kullanarak log dosyalar\u0131n\u0131n d\u00fczenli olarak rotasyonunu sa\u011flay\u0131n. Bu, disk alan\u0131n\u0131n dolmas\u0131n\u0131 engeller ve log dosyalar\u0131n\u0131n y\u00f6netilebilir boyutta kalmas\u0131n\u0131 sa\u011flar. <code>\/etc\/newsyslog.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek Apache loglar\u0131 i\u00e7in kurallar ekleyebilirsiniz.<br \/>\n*   <strong>Log Analiz Ara\u00e7lar\u0131:<\/strong> <code>grep<\/code>, <code>awk<\/code> gibi komut sat\u0131r\u0131 ara\u00e7lar\u0131n\u0131n yan\u0131 s\u0131ra, <code>GoAccess<\/code> veya <code>ELK Stack<\/code> (Elasticsearch, Logstash, Kibana) gibi daha geli\u015fmi\u015f ara\u00e7lar log analizi i\u00e7in kullan\u0131labilir.<\/p>\n<h3>Otomatik G\u00fcncelleme ve Yama Y\u00f6netimi<\/h3>\n<p>Sistem ve yaz\u0131l\u0131m g\u00fcncellemelerini d\u00fczenli olarak yapmak \u00e7ok \u00f6nemlidir.<\/p>\n<p>*   <strong><code>freebsd-update cron<\/code>:<\/strong> <code>\/etc\/crontab<\/code> dosyas\u0131nda <code>freebsd-update cron<\/code> komutunu kullanarak sistem g\u00fcncellemelerini otomatik olarak kontrol edebilirsiniz.<br \/>\n*   <strong><code>pkg autoupdate<\/code>:<\/strong> Paket g\u00fcncellemelerini otomatik yapmak m\u00fcmk\u00fcnd\u00fcr, ancak bu dikkatli kullan\u0131lmal\u0131d\u0131r \u00e7\u00fcnk\u00fc baz\u0131 g\u00fcncellemeler uyumluluk sorunlar\u0131na yol a\u00e7abilir. Genellikle manuel <code>pkg upgrade<\/code> tercih edilir.<\/p>\n<h3>PHP G\u00fcvenli\u011fi (E\u011fer Kullan\u0131l\u0131yorsa)<\/h3>\n<p>E\u011fer Apache ile PHP kullan\u0131yorsan\u0131z, PHP yap\u0131land\u0131rmas\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flamak zorunludur.<\/p>\n<p>*   <strong><code>php.ini<\/code> Hardening:<\/strong><br \/>\n    *   <code>disable_functions<\/code>: Kullan\u0131lmayan veya riskli PHP fonksiyonlar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n (\u00f6rne\u011fin <code>exec<\/code>, <code>shell_exec<\/code>, <code>passthru<\/code>, <code>system<\/code>, <code>proc_open<\/code>, <code>phpinfo<\/code>).<br \/>\n    *   <code>open_basedir<\/code>: PHP betiklerinin yaln\u0131zca belirli dizinlere eri\u015fmesini sa\u011flay\u0131n. Bu, bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 durumunda dosya sistemine eri\u015fimi s\u0131n\u0131rlar.<br \/>\n    *   <code>expose_php = Off<\/code>: PHP s\u00fcr\u00fcm bilgisinin HTTP ba\u015fl\u0131klar\u0131nda veya hata sayfalar\u0131nda g\u00f6sterilmesini engelleyin.<br \/>\n    *   <code>display_errors = Off<\/code>: \u00dcretim ortam\u0131nda hata mesajlar\u0131n\u0131n taray\u0131c\u0131da g\u00f6sterilmesini kapat\u0131n. Hatalar log dosyas\u0131na yaz\u0131lmal\u0131d\u0131r.<br \/>\n    *   <code>log_errors = On<\/code>: Hatalar\u0131n log dosyalar\u0131na yaz\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>PHP-FPM Kullan\u0131m\u0131:<\/strong> Apache&#8217;nin <code>mod_php<\/code> yerine PHP-FPM ile \u00e7al\u0131\u015fmas\u0131 genellikle daha g\u00fcvenli ve performansl\u0131d\u0131r. PHP-FPM, PHP s\u00fcre\u00e7lerini ayr\u0131 bir havuzda \u00e7al\u0131\u015ft\u0131r\u0131r ve her havuz farkl\u0131 kullan\u0131c\u0131larla yap\u0131land\u0131r\u0131labilir.<\/p>\n<h2>Periyodik Kontroller ve Denetimler<\/h2>\n<p>G\u00fcvenlik, statik bir durum de\u011fil, dinamik bir s\u00fcre\u00e7tir. Sunucunuzun g\u00fcvenli\u011fini d\u00fczenli olarak kontrol etmek ve denetlemek, yeni tehditlere kar\u015f\u0131 haz\u0131rl\u0131kl\u0131 olman\u0131z\u0131 sa\u011flar.<\/p>\n<p>*   <strong>G\u00fcvenlik Taray\u0131c\u0131lar\u0131:<\/strong> Nessus, OpenVAS, Nikto, OWASP ZAP gibi ara\u00e7larla d\u00fczenli olarak web sunucunuzu ve web uygulamalar\u0131n\u0131z\u0131 taray\u0131n. Bu ara\u00e7lar, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 ve yanl\u0131\u015f yap\u0131land\u0131rmalar\u0131 tespit etmeye yard\u0131mc\u0131 olur.<br \/>\n*   <strong>Yap\u0131land\u0131rma Denetimi:<\/strong> Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131, dosya izinlerinizi ve di\u011fer g\u00fcvenlik ayarlar\u0131n\u0131z\u0131 periyodik olarak manuel olarak g\u00f6zden ge\u00e7irin.<br \/>\n*   <strong>Penetrasyon Testleri:<\/strong> Profesyonel penetrasyon testleri (pentest), sunucunuzdaki ve uygulaman\u0131zdaki zay\u0131fl\u0131klar\u0131 ger\u00e7ek bir sald\u0131rgan\u0131n g\u00f6z\u00fcnden g\u00f6rmenizi sa\u011flar.<br \/>\n*   <strong>G\u00fcvenlik Yamalar\u0131n\u0131n Takibi:<\/strong> FreeBSD ve Apache g\u00fcvenlik duyurular\u0131n\u0131 (FreeBSD Security Advisories, Apache Security Bulletins) d\u00fczenli olarak takip edin ve ilgili yamalar\u0131 derhal uygulay\u0131n.<br \/>\n*   <strong>SSL\/TLS Yap\u0131land\u0131rma Kontrol\u00fc:<\/strong> SSL Labs&#8217;\u0131n SSL Testi gibi \u00e7evrimi\u00e7i ara\u00e7lar\u0131 kullanarak SSL\/TLS yap\u0131land\u0131rman\u0131z\u0131n g\u00fcncel ve g\u00fcvenli oldu\u011fundan emin olun.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>FreeBSD 12.0 \u00fczerinde Apache HTTP sunucusunu g\u00fc\u00e7lendirmek, \u00e7ok katmanl\u0131 bir yakla\u015f\u0131mla ele al\u0131nmas\u0131 gereken kapsaml\u0131 bir s\u00fcre\u00e7tir. Temel sistem g\u00fcvenli\u011finden ba\u015flayarak, Apache&#8217;nin kurulum ve yap\u0131land\u0131rma ayarlar\u0131na, SSL\/TLS optimizasyonlar\u0131na ve geli\u015fmi\u015f g\u00fcvenlik mod\u00fcllerine kadar her ad\u0131m, sunucunuzun genel g\u00fcvenlik duru\u015funu iyile\u015ftirmeye katk\u0131da bulunur.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, hi\u00e7bir sistem %100 g\u00fcvenli de\u011fildir. Ancak yukar\u0131da belirtilen ad\u0131mlar\u0131 uygulayarak, sunucunuzu bilinen tehditlere kar\u015f\u0131 \u00e7ok daha diren\u00e7li hale getirebilir ve potansiyel sald\u0131r\u0131lar\u0131n etkisini \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilirsiniz. G\u00fcvenlik, s\u00fcrekli bir \u00f6\u011frenme, adapte olma ve iyile\u015ftirme d\u00f6ng\u00fcs\u00fcd\u00fcr. D\u00fczenli g\u00fcncellemeler, denetimler ve en iyi uygulamalar\u0131n takibi, dijital varl\u0131klar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flaman\u0131n anahtar\u0131d\u0131r. Bu makaledeki bilgiler, FreeBSD 12.0 \u00fczerinde g\u00fcvenli bir Apache ortam\u0131 olu\u015fturman\u0131z i\u00e7in sa\u011flam bir temel sunmaktad\u0131r.<br \/>\n<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar\nG\u00fcvenlik, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[874],"tags":[],"class_list":{"0":"post-35751","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-server","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar\" \/>\n<meta property=\"og:description\" content=\"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar G\u00fcvenlik, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-03T10:40:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar\",\"datePublished\":\"2025-12-03T10:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\"},\"wordCount\":3108,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Server\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\",\"name\":\"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-03T10:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/","og_locale":"tr_TR","og_type":"article","og_title":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar","og_description":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar G\u00fcvenlik, g\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda her zamankinden","og_url":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-03T10:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar","datePublished":"2025-12-03T10:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/"},"wordCount":3108,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Server"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/","url":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/","name":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-03T10:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/freebsd-12-0-uzerinde-apache-http-sunucusunu-guclendirmek-icin-onerilen-adimlar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"FreeBSD 12.0 \u00dczerinde Apache HTTP Sunucusunu G\u00fc\u00e7lendirmek \u0130\u00e7in \u00d6nerilen Ad\u0131mlar"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35751"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35751\/revisions"}],"predecessor-version":[{"id":35752,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35751\/revisions\/35752"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}