{"id":33056,"date":"2025-10-29T02:41:20","date_gmt":"2025-10-28T23:41:20","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33056"},"modified":"2025-10-29T02:41:20","modified_gmt":"2025-10-28T23:41:20","slug":"firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/","title":{"rendered":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma"},"content":{"rendered":"<p><body><\/p>\n<h2>Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>WordPress, d\u00fcnya genelinde milyonlarca web sitesine g\u00fc\u00e7 veren, kullan\u0131m\u0131 kolay ve son derece esnek bir i\u00e7erik y\u00f6netim sistemidir (CMS). Bloglardan e-ticaret sitelerine, kurumsal web sayfalar\u0131ndan portfolyolara kadar geni\u015f bir yelpazede kullan\u0131labilen bu platform, pop\u00fclerli\u011finin getirdi\u011fi baz\u0131 g\u00fcvenlik risklerini de beraberinde ta\u015f\u0131r. A\u00e7\u0131k kaynak kodlu yap\u0131s\u0131, geni\u015f eklenti ve tema ekosistemi, k\u00f6t\u00fc niyetli sald\u0131rganlar i\u00e7in potansiyel bir hedef haline gelmesine neden olabilir. Bir WordPress kurulumunda ortaya \u00e7\u0131kabilecek bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131, yaln\u0131zca web sitesinin kendisini de\u011fil, ayn\u0131 zamanda sunucunun tamam\u0131n\u0131 ve di\u011fer uygulamalar\u0131 da tehlikeye atabilir. Bu nedenle, WordPress kurulumlar\u0131n\u0131 izole edilmi\u015f ve g\u00fcvenli bir ortamda \u00e7al\u0131\u015ft\u0131rmak, olas\u0131 sald\u0131r\u0131lar\u0131n etkisini s\u0131n\u0131rlamak a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<p>Bu makalede, bir Linux g\u00fcvenlik sandbox program\u0131 olan Firejail kullanarak WordPress kurulumunu nas\u0131l &#8220;jail&#8221; (hapsedilmi\u015f) bir ortamda \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Firejail, uygulamalar\u0131n sistem kaynaklar\u0131na eri\u015fimini k\u0131s\u0131tlayarak, olas\u0131 bir g\u00fcvenlik ihlalinin sistemin geneline yay\u0131lmas\u0131n\u0131 engeller. Bu y\u00f6ntem, WordPress&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan t\u00fcm bile\u015fenleri (web sunucusu, PHP-FPM, veritaban\u0131 istemcisi) belirli s\u0131n\u0131rlar i\u00e7inde tutarak, g\u00fcvenlik duru\u015funuzu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirecektir. Amac\u0131m\u0131z, WordPress&#8217;in performans\u0131ndan \u00f6d\u00fcn vermeden, maksimum g\u00fcvenlik sa\u011flamakt\u0131r.<\/p>\n<h3>Firejail Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h3>\n<p>Firejail, Linux sistemlerde uygulamalar\u0131 izole etmek i\u00e7in tasarlanm\u0131\u015f, \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131 bir SUID program\u0131d\u0131r. Temel olarak, Linux \u00e7ekirde\u011finin sa\u011flad\u0131\u011f\u0131 ad alanlar\u0131 (namespaces), seccomp-bpf filtreleri ve chroot mekanizmalar\u0131n\u0131 kullanarak bir uygulama i\u00e7in g\u00fcvenli bir &#8220;sandbox&#8221; ortam\u0131 olu\u015fturur. Bu sandbox, uygulaman\u0131n yaln\u0131zca kendisine izin verilen dosya sistemine, a\u011f kaynaklar\u0131na ve sistem \u00e7a\u011fr\u0131lar\u0131na eri\u015fmesine olanak tan\u0131r.<\/p>\n<h4>Firejail&#8217;in \u00c7al\u0131\u015fma Mant\u0131\u011f\u0131 ve Avantajlar\u0131<\/h4>\n<p>Firejail, her bir uygulaman\u0131n kendi izole edilmi\u015f ortam\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayarak a\u015fa\u011f\u0131daki temel avantajlar\u0131 sunar:<\/p>\n<p>*   <strong>\u0130zolasyon (Sandbox):<\/strong> Uygulamalar, sistemin geri kalan\u0131ndan tamamen izole edilir. Bir uygulaman\u0131n g\u00fcvenlik a\u00e7\u0131\u011f\u0131 bulunsa bile, bu a\u00e7\u0131\u011f\u0131n etkisi sandbox&#8217;\u0131n d\u0131\u015f\u0131na \u00e7\u0131kamaz ve di\u011fer uygulamalar\u0131 veya sistemin \u00e7ekirdek bile\u015fenlerini etkileyemez.<br \/>\n*   <strong>Sald\u0131r\u0131 Y\u00fczeyini Azaltma:<\/strong> Uygulaman\u0131n eri\u015febilece\u011fi dosya sistemi, a\u011f ve sistem \u00e7a\u011fr\u0131lar\u0131 k\u0131s\u0131tland\u0131\u011f\u0131 i\u00e7in, sald\u0131rganlar\u0131n kullanabilece\u011fi potansiyel zay\u0131fl\u0131klar\u0131n say\u0131s\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azal\u0131r.<br \/>\n*   <strong>Veri Koruma:<\/strong> Hassas verilerin bulundu\u011fu dizinlere (\u00f6rne\u011fin <code>\/home<\/code>, <code>\/etc<\/code>) uygulaman\u0131n eri\u015fimi engellenerek, bu verilerin k\u00f6t\u00fc niyetli yaz\u0131l\u0131mlar taraf\u0131ndan ele ge\u00e7irilmesi riski minimize edilir.<br \/>\n*   <strong>Kaynak Kontrol\u00fc:<\/strong> Uygulaman\u0131n kullanabilece\u011fi CPU, bellek gibi kaynaklar \u00fczerinde de k\u0131s\u0131tlamalar getirilebilir, bu da hizmet reddi (DoS) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 bir miktar koruma sa\u011flar.<br \/>\n*   <strong>Kullan\u0131m Kolayl\u0131\u011f\u0131:<\/strong> Firejail, \u00f6nceden tan\u0131mlanm\u0131\u015f bir\u00e7ok uygulama profiliyle birlikte gelir ve yeni profiller olu\u015fturmak veya mevcutlar\u0131 \u00f6zelle\u015ftirmek olduk\u00e7a kolayd\u0131r.<\/p>\n<h4>Di\u011fer \u0130zolasyon Y\u00f6ntemleriyle Kar\u015f\u0131la\u015ft\u0131rma<\/h4>\n<p>Firejail, izolasyon sa\u011flayan tek ara\u00e7 de\u011fildir, ancak belirli senaryolarda benzersiz avantajlar sunar:<\/p>\n<p>*   <strong>Sanal Makineler (VMs):<\/strong> Sanal makineler, en g\u00fc\u00e7l\u00fc izolasyon y\u00f6ntemlerinden biridir \u00e7\u00fcnk\u00fc her VM kendi i\u015fletim sistemine sahiptir. Ancak, kaynak t\u00fcketimi (CPU, RAM, disk) olduk\u00e7a y\u00fcksektir ve ba\u015flatma s\u00fcreleri uzundur. WordPress gibi nispeten hafif bir uygulama i\u00e7in a\u015f\u0131r\u0131ya ka\u00e7an bir \u00e7\u00f6z\u00fcm olabilir.<br \/>\n*   <strong>Docker\/Kapsay\u0131c\u0131lar:<\/strong> Docker gibi kapsay\u0131c\u0131 teknolojileri, VM&#8217;lere g\u00f6re daha hafif ve h\u0131zl\u0131d\u0131r. Uygulamalar\u0131 kendi ba\u011f\u0131ms\u0131z ortamlar\u0131nda \u00e7al\u0131\u015ft\u0131rmak i\u00e7in i\u015fletim sistemi d\u00fczeyinde izolasyon sa\u011flarlar. WordPress&#8217;i Docker i\u00e7inde \u00e7al\u0131\u015ft\u0131rmak yayg\u0131n ve etkili bir y\u00f6ntemdir. Ancak, Firejail, bir sistemdeki mevcut uygulamalar\u0131 kapsay\u0131c\u0131ya d\u00f6n\u00fc\u015ft\u00fcrmeden, do\u011frudan \u00e7al\u0131\u015ft\u0131klar\u0131 ortamda izole etme yetene\u011fi sunar. Ayr\u0131ca, Firejail&#8217;in g\u00fcvenlik modeli, temel olarak \u00e7ekirdek d\u00fczeyindeki mekanizmalara daha do\u011frudan odaklan\u0131r ve baz\u0131 durumlarda daha gran\u00fcler kontrol sa\u011flayabilir.<br \/>\n*   <strong>chroot:<\/strong> chroot, bir uygulaman\u0131n dosya sistemini belirli bir dizinle s\u0131n\u0131rlayan daha basit bir mekanizmad\u0131r. Ancak, a\u011f eri\u015fimi, sistem \u00e7a\u011fr\u0131lar\u0131 ve di\u011fer kaynaklar \u00fczerinde kontrol sa\u011flamaz. Firejail, chroot&#8217;un sundu\u011fu izolasyonun \u00e7ok \u00f6tesine ge\u00e7er.<\/p>\n<p>WordPress gibi tek bir uygulaman\u0131n veya bir servis grubunun (PHP-FPM, MySQL istemcisi) daha hafif ve entegre bir \u015fekilde izole edilmesi gerekti\u011finde, Firejail, VM&#8217;ler ve Docker&#8217;a g\u00f6re daha az kaynak t\u00fcketimiyle g\u00fc\u00e7l\u00fc bir g\u00fcvenlik katman\u0131 sunar. \u00d6zellikle mevcut bir sunucu \u00fczerinde \u00e7al\u0131\u015fan WordPress&#8217;i ek bir sanalla\u015ft\u0131rma katman\u0131 olmadan g\u00fcvenli hale getirmek istiyorsan\u0131z ideal bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>\u00d6n Ko\u015fullar ve Gerekli Bile\u015fenler<\/h3>\n<p>WordPress&#8217;i Firejail ile g\u00fcvenli bir \u015fekilde kurmak i\u00e7in belirli \u00f6n ko\u015fullar\u0131n ve yaz\u0131l\u0131m bile\u015fenlerinin sisteminizde haz\u0131r olmas\u0131 gerekir. Bu makalede Ubuntu\/Debian tabanl\u0131 bir Linux da\u011f\u0131t\u0131m\u0131 kullan\u0131ld\u0131\u011f\u0131n\u0131 varsayaca\u011f\u0131z.<\/p>\n<h4>1. Linux \u0130\u015fletim Sistemi<\/h4>\n<p>*   Ubuntu, Debian veya bu da\u011f\u0131t\u0131mlardan t\u00fcretilmi\u015f (Linux Mint gibi) herhangi bir g\u00fcncel Linux s\u00fcr\u00fcm\u00fc.<br \/>\n*   Sistemde <code>sudo<\/code> yetkisine sahip bir kullan\u0131c\u0131.<\/p>\n<h4>2. Web Sunucusu<\/h4>\n<p>WordPress dinamik bir web sitesi oldu\u011fu i\u00e7in bir web sunucusuna ihtiya\u00e7 duyar.<br \/>\n*   <strong>Apache2:<\/strong> Geni\u015f \u00f6zellik setine sahip, yayg\u0131n olarak kullan\u0131lan bir web sunucusu.<br \/>\n*   <strong>Nginx:<\/strong> Daha hafif ve performans odakl\u0131, genellikle PHP-FPM ile birlikte kullan\u0131l\u0131r.<br \/>\nBu makalede Apache2 \u00fczerinde duraca\u011f\u0131z, ancak Nginx i\u00e7in de benzer ad\u0131mlar uygulanabilir.<\/p>\n<h4>3. Veritaban\u0131 Sunucusu<\/h4>\n<p>WordPress, i\u00e7eriklerini ve ayarlar\u0131n\u0131 depolamak i\u00e7in bir veritaban\u0131na ihtiya\u00e7 duyar.<br \/>\n*   <strong>MySQL:<\/strong> Pop\u00fcler a\u00e7\u0131k kaynak veritaban\u0131 y\u00f6netim sistemi.<br \/>\n*   <strong>MariaDB:<\/strong> MySQL&#8217;in topluluk taraf\u0131ndan geli\u015ftirilen, uyumlu bir \u00e7atal\u0131 (fork). Genellikle MySQL yerine tercih edilir.<\/p>\n<h4>4. PHP ve Gerekli Mod\u00fclleri<\/h4>\n<p>WordPress, PHP ile yaz\u0131lm\u0131\u015ft\u0131r ve \u00e7al\u0131\u015fmak i\u00e7in belirli PHP s\u00fcr\u00fcm\u00fcne ve \u00e7e\u015fitli mod\u00fcllere ihtiya\u00e7 duyar.<br \/>\n*   <strong>PHP 7.4 veya \u00fczeri:<\/strong> WordPress&#8217;in \u00f6nerdi\u011fi ve destekledi\u011fi g\u00fcncel bir PHP s\u00fcr\u00fcm\u00fc.<br \/>\n*   <strong>PHP-FPM:<\/strong> Web sunucusu ile PHP aras\u0131ndaki ileti\u015fimi sa\u011flayan FastCGI Process Manager. \u00d6zellikle Nginx ile kullan\u0131l\u0131r, ancak Apache&#8217;de de <code>mod_proxy_fcgi<\/code> ile kullan\u0131labilir ve genellikle daha iyi performans sunar.<br \/>\n*   <strong>Gerekli PHP Mod\u00fclleri:<\/strong><br \/>\n    *   <code>php-mysql<\/code> (veya <code>php-mysqli<\/code>): Veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in.<br \/>\n    *   <code>php-curl<\/code>: Baz\u0131 WordPress eklentileri ve harici servislerle ileti\u015fim i\u00e7in.<br \/>\n    *   <code>php-gd<\/code>: G\u00f6rsel i\u015fleme (resim boyutland\u0131rma, thumbnail olu\u015fturma) i\u00e7in.<br \/>\n    *   <code>php-mbstring<\/code>: \u00c7ok baytl\u0131 karakter dizileri (UTF-8) i\u00e7in.<br \/>\n    *   <code>php-xml<\/code>: XML i\u015fleme i\u00e7in.<br \/>\n    *   <code>php-zip<\/code>: Tema ve eklenti y\u00fcklemeleri i\u00e7in.<br \/>\n    *   <code>php-intl<\/code>: Uluslararas\u0131la\u015ft\u0131rma i\u00e7in.<br \/>\n    *   <code>php-soap<\/code>: Baz\u0131 eklentiler ve API entegrasyonlar\u0131 i\u00e7in.<\/p>\n<h4>5. Firejail Kurulumu<\/h4>\n<p>*   Sisteminizde Firejail&#8217;in kurulu olmas\u0131 gerekmektedir. Kurulum ad\u0131mlar\u0131 a\u015fa\u011f\u0131da detayland\u0131r\u0131lacakt\u0131r.<\/p>\n<h4>6. WordPress Dosyalar\u0131<\/h4>\n<p>*   WordPress&#8217;in en g\u00fcncel s\u00fcr\u00fcm\u00fcn\u00fcn <code>.zip<\/code> veya <code>.tar.gz<\/code> ar\u015fivi.<\/p>\n<p>Bu bile\u015fenlerin t\u00fcm\u00fc, Firejail kurulumuna ba\u015flamadan \u00f6nce sisteminizde d\u00fczg\u00fcn bir \u015fekilde kurulmu\u015f ve yap\u0131land\u0131r\u0131lm\u0131\u015f olmal\u0131d\u0131r.<\/p>\n<h3>Firejail Kurulumu<\/h3>\n<p>Firejail&#8217;in kurulumu, \u00e7o\u011fu Linux da\u011f\u0131t\u0131m\u0131nda paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla olduk\u00e7a basittir.<\/p>\n<h4>Ubuntu\/Debian \u00dczerinde Kurulum<\/h4>\n<p>\u00d6ncelikle sistem paket listesini g\u00fcncelleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Ard\u0131ndan Firejail&#8217;i kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install firejail firejail-profiles<\/code><\/pre>\n<p><code>firejail-profiles<\/code> paketi, yayg\u0131n uygulamalar i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f bir\u00e7ok Firejail profilini i\u00e7erir. Bu profiller, kendi \u00f6zel profilimizi olu\u015ftururken iyi bir ba\u015flang\u0131\u00e7 noktas\u0131 veya referans olabilir.<\/p>\n<h4>Kurulumun Do\u011frulanmas\u0131<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Firejail&#8217;in s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabiliriz:<\/p>\n<pre><code class=\"language-bash\">firejail --version<\/code><\/pre>\n<p>Ayr\u0131ca, herhangi bir komutu Firejail i\u00e7inde \u00e7al\u0131\u015ft\u0131rarak temel i\u015flevselli\u011fini test edebiliriz:<\/p>\n<pre><code class=\"language-bash\">firejail firefox<\/code><\/pre>\n<p>Bu komut, Firefox taray\u0131c\u0131s\u0131n\u0131 izole edilmi\u015f bir ortamda ba\u015flatacakt\u0131r. E\u011fer Firefox ba\u015far\u0131yla a\u00e7\u0131l\u0131rsa, Firejail&#8217;in temel kurulumu tamamlanm\u0131\u015f demektir.<\/p>\n<h3>WordPress Ortam\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h3>\n<p>Firejail ile WordPress&#8217;i g\u00fcvenli hale getirmeden \u00f6nce, WordPress&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan t\u00fcm altyap\u0131y\u0131 kurmam\u0131z ve yap\u0131land\u0131rmam\u0131z gerekiyor.<\/p>\n<h4>1. Web Sunucusu Kurulumu (Apache2)<\/h4>\n<p>Apache2&#8217;yi kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2<\/code><\/pre>\n<p>Apache&#8217;nin PHP-FPM ile \u00e7al\u0131\u015fabilmesi i\u00e7in gerekli mod\u00fclleri etkinle\u015ftirelim:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod proxy_fcgi setenvif\nsudo a2enconf phpX.X-fpm # X.X yerine PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc yaz\u0131n, \u00f6rn: php7.4-fpm\nsudo systemctl restart apache2<\/code><\/pre>\n<p>Varsay\u0131lan Apache yap\u0131land\u0131rmas\u0131 genellikle <code>\/var\/www\/html<\/code> dizinini kullan\u0131r. WordPress i\u00e7in \u00f6zel bir dizin olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/wordpress\nsudo chown -R www-data:www-data \/var\/www\/wordpress\nsudo chmod -R 755 \/var\/www\/wordpress<\/code><\/pre>\n<p>WordPress i\u00e7in bir Apache Virtual Host dosyas\u0131 olu\u015ftural\u0131m. \u00d6rne\u011fin, <code>\/etc\/apache2\/sites-available\/wordpress.conf<\/code>:<\/p>\n<pre><code class=\"language-apacheconf\"><VirtualHost *:80>\n    ServerAdmin webmaster@localhost\n    DocumentRoot \/var\/www\/wordpress\n    ServerName your_domain_or_ip\n\n    <Directory \/var\/www\/wordpress>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    ErrorLog ${APACHE_LOG_DIR}\/wordpress_error.log\n    CustomLog ${APACHE_LOG_DIR}\/wordpress_access.log combined\n\n    <FilesMatch \\.php$>\n        # Apache 2.4.10+ i\u00e7in PHP-FPM'i kullan\n        SetHandler \"proxy:unix:\/run\/php\/phpX.X-fpm.sock|fcgi:\/\/localhost\/\"\n    <\/FilesMatch>\n<\/VirtualHost><\/code><\/pre>\n<p><code>your_domain_or_ip<\/code> k\u0131sm\u0131n\u0131 kendi alan ad\u0131n\u0131z veya sunucunuzun IP adresi ile de\u011fi\u015ftirin. <code>phpX.X-fpm.sock<\/code> k\u0131sm\u0131n\u0131 da kurulu PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re g\u00fcncelleyin (\u00f6rn: <code>php7.4-fpm.sock<\/code>).<br \/>\nVirtual Host&#8217;u etkinle\u015ftirip Apache&#8217;yi yeniden ba\u015flatal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite wordpress.conf\nsudo a2dissite 000-default.conf # Varsay\u0131lan siteyi devre d\u0131\u015f\u0131 b\u0131rakabiliriz\nsudo systemctl restart apache2<\/code><\/pre>\n<h4>2. PHP Kurulumu ve Mod\u00fclleri<\/h4>\n<p>PHP ve gerekli mod\u00fclleri kural\u0131m (\u00f6rnek olarak PHP 7.4):<\/p>\n<pre><code class=\"language-bash\">sudo apt install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-curl php7.4-mbstring php7.4-xml php7.4-zip php7.4-intl php7.4-soap<\/code><\/pre>\n<p>PHP-FPM servisini ba\u015flatal\u0131m ve etkinle\u015ftirelim:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php7.4-fpm\nsudo systemctl enable php7.4-fpm<\/code><\/pre>\n<p>PHP yap\u0131land\u0131rmas\u0131 genellikle <code>\/etc\/php\/X.X\/fpm\/php.ini<\/code> dosyas\u0131nda bulunur. G\u00fcvenlik ve performans i\u00e7in baz\u0131 ayarlar\u0131 kontrol etmek isteyebilirsiniz (\u00f6rn: <code>upload_max_filesize<\/code>, <code>post_max_size<\/code>, <code>memory_limit<\/code>, <code>max_execution_time<\/code>).<\/p>\n<h4>3. Veritaban\u0131 Sunucusu Kurulumu (MariaDB)<\/h4>\n<p>MariaDB&#8217;yi kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install mariadb-server<\/code><\/pre>\n<p>MariaDB kurulumunu g\u00fcvenli hale getirelim:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>Bu komut, root parolas\u0131n\u0131 ayarlaman\u0131za, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rman\u0131za, root uzaktan giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakman\u0131za ve test veritaban\u0131n\u0131 silmenize olanak tan\u0131r.<\/p>\n<h4>4. WordPress i\u00e7in Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/h4>\n<p>MariaDB&#8217;ye root kullan\u0131c\u0131s\u0131 olarak ba\u011flanal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki SQL komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak WordPress i\u00e7in bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015ftural\u0131m. <code>your_db_name<\/code>, <code>your_db_user<\/code> ve <code>your_db_password<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi se\u00e7ti\u011finiz g\u00fcvenli de\u011ferlerle de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE your_db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'your_db_user'@'localhost' IDENTIFIED BY 'your_db_password';\nGRANT ALL PRIVILEGES ON your_db_name.* TO 'your_db_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<h4>5. WordPress Dosyalar\u0131n\u0131 \u0130ndirme ve Yap\u0131land\u0131rma<\/h4>\n<p>WordPress&#8217;in en g\u00fcncel s\u00fcr\u00fcm\u00fcn\u00fc indirelim:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/wordpress.org\/latest.tar.gz\ntar -xzvf latest.tar.gz<\/code><\/pre>\n<p>\u00c7\u0131kar\u0131lan WordPress dosyalar\u0131n\u0131 web k\u00f6k dizinimize ta\u015f\u0131yal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mv wordpress\/* \/var\/www\/wordpress\/<\/code><\/pre>\n<p>WordPress&#8217;in yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/var\/www\/wordpress\/wp-config-sample.php \/var\/www\/wordpress\/wp-config.php<\/code><\/pre>\n<p><code>wp-config.php<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek veritaban\u0131 bilgilerini girelim:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/wordpress\/wp-config.php<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 kendi veritaban\u0131 bilgilerinizle g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-php\">define( 'DB_NAME', 'your_db_name' );\ndefine( 'DB_USER', 'your_db_user' );\ndefine( 'DB_PASSWORD', 'your_db_password' );\ndefine( 'DB_HOST', 'localhost' ); \/\/ MariaDB ayn\u0131 sunucuda oldu\u011fu i\u00e7in localhost<\/code><\/pre>\n<p>WordPress g\u00fcvenlik anahtarlar\u0131n\u0131 olu\u015fturmak i\u00e7in <code>https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/<\/code> adresinden yeni anahtarlar al\u0131p <code>wp-config.php<\/code> dosyas\u0131na yap\u0131\u015ft\u0131r\u0131n.<br \/>\nSon olarak, WordPress dosyalar\u0131n\u0131n sahipli\u011fini ve izinlerini ayarlayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/wordpress\nsudo find \/var\/www\/wordpress -type d -exec chmod 755 {} \\;\nsudo find \/var\/www\/wordpress -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>Bu ad\u0131mlardan sonra, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini veya alan ad\u0131n\u0131 ziyaret ederek WordPress kurulum sihirbaz\u0131n\u0131 tamamlayabilirsiniz. Her \u015fey yolundaysa, WordPress ba\u015far\u0131yla kurulmu\u015f olmal\u0131d\u0131r. \u015eimdi bu kurulumu Firejail ile g\u00fcvenli hale getirme zaman\u0131.<\/p>\n<h3>Firejail Profili Olu\u015fturma ve Yap\u0131land\u0131rma<\/h3>\n<p>Firejail, uygulamalar\u0131n nas\u0131l izole edilece\u011fini tan\u0131mlayan profil dosyalar\u0131n\u0131 kullan\u0131r. Bu profiller, uygulaman\u0131n hangi dosyalara, a\u011f kaynaklar\u0131na ve sistem \u00e7a\u011fr\u0131lar\u0131na eri\u015febilece\u011fini belirler.<\/p>\n<h4>Firejail Profil Mekanizmas\u0131<\/h4>\n<p>Firejail profilleri genellikle iki ana konumda bulunur:<br \/>\n*   <code>\/etc\/firejail\/<\/code>: Sistem genelindeki profiller. Bu profiller genellikle paket y\u00f6neticisi taraf\u0131ndan sa\u011flan\u0131r.<br \/>\n*   <code>~\/.config\/firejail\/<\/code>: Kullan\u0131c\u0131ya \u00f6zel profiller. Kullan\u0131c\u0131lar kendi profillerini buraya yerle\u015ftirebilir.<br \/>\n*   Ayr\u0131ca, herhangi bir dizinde <code>appname.profile<\/code> ad\u0131yla bir profil olu\u015fturup <code>firejail --profile=.\/appname.profile<\/code> komutuyla da kullanabilirsiniz.<\/p>\n<p>WordPress i\u00e7in, PHP-FPM servisini izole edece\u011fimizden, sistem genelinde bir profil olu\u015fturmak en mant\u0131kl\u0131 yakla\u015f\u0131md\u0131r.<\/p>\n<h4>WordPress i\u00e7in \u00d6zel Bir Profil Olu\u015fturma (php-fpm.profile)<\/h4>\n<p>WordPress&#8217;in PHP-FPM ile \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 varsayarsak, Firejail profilini <code>phpX.X-fpm<\/code> servisi i\u00e7in olu\u015fturaca\u011f\u0131z. Bu, Apache\/Nginx&#8217;in PHP-FPM soketi arac\u0131l\u0131\u011f\u0131yla Firejail i\u00e7indeki PHP-FPM s\u00fcrecine ba\u011flanaca\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>Yeni bir profil dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/firejail\/phpX.X-fpm.profile # X.X yerine PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc yaz\u0131n<\/code><\/pre>\n<p>\u015eimdi bu profil dosyas\u0131n\u0131n i\u00e7eri\u011fini ad\u0131m ad\u0131m olu\u015ftural\u0131m. Temel prensip, &#8220;en az ayr\u0131cal\u0131k&#8221; (least privilege) ilkesini uygulamakt\u0131r. Yani, PHP-FPM&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in kesinlikle gerekli olan her \u015feye eri\u015fimine izin verilecek, geri kalan her \u015fey engellenecektir.<\/p>\n<pre><code class=\"language-firejail\"># phpX.X-fpm.profile\n\n<h2>Bu profil, WordPress'i \u00e7al\u0131\u015ft\u0131ran PHP-FPM s\u00fcrecini izole etmek i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/h2>\n<h2>En az ayr\u0131cal\u0131k ilkesini benimser.<\/h2>\n\n<h2>Temel G\u00fcvenlik Ayarlar\u0131<\/h2>\n<h2>----------------------------------------------------------------------------------<\/h2>\n<h2>Uygulaman\u0131n kendi \u00f6zel \/dev dizinini kullanmas\u0131n\u0131 sa\u011flar.<\/h2>\nprivate-dev\n\n<h2>Uygulaman\u0131n kendi \u00f6zel \/tmp dizinini kullanmas\u0131n\u0131 sa\u011flar.<\/h2>\nprivate-tmp\n\n<h2>Uygulaman\u0131n kendi \u00f6zel \/etc dizinini kullanmas\u0131n\u0131 sa\u011flar.<\/h2>\n<h2>Sadece gerekli yap\u0131land\u0131rma dosyalar\u0131na eri\u015fim verilir.<\/h2>\nprivate-etc hosts,resolv.conf,php\/X.X\/fpm\/php.ini,php\/X.X\/cli\/php.ini,php\/X.X\/mods-available\n\n<h2>Uygulaman\u0131n kendi \u00f6zel \u00f6nbellek dizinini kullanmas\u0131n\u0131 sa\u011flar.<\/h2>\nprivate-cache\n\n<h2>Uygulaman\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli ikili dosyalar\u0131 belirtir.<\/h2>\n<h2>Bu ikili dosyalar sandbox i\u00e7inde kopyalan\u0131r ve orijinal sistemdeki dosyalara eri\u015fim engellenir.<\/h2>\nprivate-bin php-fpmX.X,phpX.X,php\n\n<h2>Uygulaman\u0131n ana dosya sisteminin (\/) sadece okunabilir olmas\u0131n\u0131 sa\u011flar.<\/h2>\n<h2>Bu, uygulaman\u0131n sistem dosyalar\u0131n\u0131 de\u011fi\u015ftirmesini engeller.<\/h2>\nread-only \/\n\n<h2>K\u00f6k dizin d\u0131\u015f\u0131ndaki t\u00fcm dizinlere eri\u015fimi engeller.<\/h2>\n<h2>Yaln\u0131zca a\u00e7\u0131k\u00e7a izin verilen dizinlere eri\u015filebilir.<\/h2>\ndisable-mnt\n\n<h2>Uygulaman\u0131n sistemdeki di\u011fer kullan\u0131c\u0131lar\u0131n IPC kaynaklar\u0131na eri\u015fimini engeller.<\/h2>\nipc-namespace\n\n<h2>Uygulaman\u0131n yeni ayr\u0131cal\u0131klar kazanmas\u0131n\u0131 engeller (\u00f6rne\u011fin setuid bitli programlar\u0131 \u00e7al\u0131\u015ft\u0131rmak).<\/h2>\nno-new-privs\n\n<h2>Uygulaman\u0131n yeteneklerini (capabilities) d\u00fc\u015f\u00fcr\u00fcr.<\/h2>\n<h2>Varsay\u0131lan olarak t\u00fcm yetenekler d\u00fc\u015f\u00fcr\u00fcl\u00fcr, yaln\u0131zca gerekli olanlar b\u0131rak\u0131l\u0131r.<\/h2>\n<h2>WordPress PHP-FPM i\u00e7in genellikle \u00f6zel yeteneklere ihtiya\u00e7 duyulmaz.<\/h2>\ncaps.drop all\n\n<h2>T\u00fcm a\u011f eri\u015fimini engeller ve sadece belirli bir k\u00f6pr\u00fc (bridge) \u00fczerinden ileti\u015fim kurmas\u0131na izin verir.<\/h2>\n<h2>Bu, PHP-FPM'in veritaban\u0131 sunucusu ve harici API'lerle ileti\u015fim kurmas\u0131 i\u00e7in gereklidir.<\/h2>\n<h2>E\u011fer MySQL\/MariaDB ayn\u0131 makinede ise, localhost'a eri\u015fim i\u00e7in net none yerine net filter veya net bridge kullan\u0131n.<\/h2>\n<h2>Veya sadece <code>net<\/code> komutunu kullanarak varsay\u0131lan a\u011f eri\u015fimine izin verin ve firewall ile k\u0131s\u0131tlay\u0131n.<\/h2>\n<h2>En g\u00fcvenli yol, sadece gerekli portlara ve IP adreslerine izin veren bir <code>net filter<\/code> veya <code>net bridge<\/code> kullanmakt\u0131r.<\/h2>\n<h2>Bu \u00f6rnekte, d\u0131\u015f d\u00fcnyaya eri\u015fim i\u00e7in izin veriyoruz, ancak daha sonra UFW\/iptables ile k\u0131s\u0131tlayabiliriz.<\/h2>\n<h2>E\u011fer sadece localhost'a eri\u015fim gerekiyorsa:<\/h2>\n<h2>net none<\/h2>\n<h2>Ancak WordPress d\u0131\u015f API'lere eri\u015febilir, bu y\u00fczden net filter veya net bridge daha uygun olabilir.<\/h2>\n<h2>Veya basit\u00e7e:<\/h2>\nnet\n<h2>Ard\u0131ndan UFW\/iptables ile k\u0131s\u0131tlamalar yap\u0131labilir.<\/h2>\n\n<h2>Seccomp-bpf filtrelerini etkinle\u015ftirir. Bu, uygulaman\u0131n yapabilece\u011fi sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 k\u0131s\u0131tlar.<\/h2>\n<h2>Varsay\u0131lan seccomp filtresi genellikle yeterlidir, ancak daha s\u0131k\u0131 filtreler tan\u0131mlanabilir.<\/h2>\nseccomp\n\n<h2>Uygulaman\u0131n makine kimli\u011fine (machine-id) eri\u015fimini engeller.<\/h2>\nmachine-id\n\n<h2>\u0130zin Verilen Dizinler (Whitelisting)<\/h2>\n<h2>----------------------------------------------------------------------------------<\/h2>\n<h2>WordPress dosyalar\u0131n\u0131n bulundu\u011fu dizine okuma ve yazma eri\u015fimi sa\u011flar.<\/h2>\nwhitelist \/var\/www\/wordpress\n\n<h2>PHP-FPM soketinin bulundu\u011fu dizine eri\u015fim sa\u011flar.<\/h2>\n<h2>Bu, web sunucusunun PHP-FPM ile ileti\u015fim kurmas\u0131 i\u00e7in gereklidir.<\/h2>\nwhitelist \/run\/php\n\n<h2>MySQL\/MariaDB soketinin bulundu\u011fu dizine eri\u015fim sa\u011flar.<\/h2>\n<h2>Bu, WordPress'in veritaban\u0131 sunucusu ile ileti\u015fim kurmas\u0131 i\u00e7in gereklidir.<\/h2>\nwhitelist \/run\/mysqld\n\n<h2>E\u011fer WordPress log dosyalar\u0131 yaz\u0131yorsa (\u00f6rne\u011fin debug loglar\u0131), bu dizinlere eri\u015fim izni verin.<\/h2>\n<h2>Genellikle web sunucusu loglar\u0131 ayr\u0131 tutulur, ancak WordPress'in kendi loglar\u0131 olabilir.<\/h2>\n<h2>whitelist \/var\/log\/wordpress<\/h2>\n\n<h2>WordPress'in y\u00fckledi\u011fi resimler, eklentiler ve temalar i\u00e7in yaz\u0131labilir olmas\u0131 gereken dizin.<\/h2>\n<h2>Bu dizinde \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya olmamal\u0131d\u0131r, bu y\u00fczden noexec k\u0131s\u0131tlamas\u0131 kald\u0131r\u0131labilir.<\/h2>\nignore noexec \/var\/www\/wordpress\/wp-content\/uploads\nwhitelist \/var\/www\/wordpress\/wp-content\/uploads\n\n<h2>Eklentilerin ve temalar\u0131n ge\u00e7ici olarak indirildi\u011fi ve y\u00fcklendi\u011fi dizinler.<\/h2>\n<h2>Bu dizinlere yazma eri\u015fimi gereklidir.<\/h2>\nwhitelist \/var\/www\/wordpress\/wp-content\/plugins\nwhitelist \/var\/www\/wordpress\/wp-content\/themes\nwhitelist \/var\/www\/wordpress\/wp-content\/upgrade\n\n<h2>Kara Liste (Blacklisting) - Zaten read-only \/ ve disable-mnt ile \u00e7o\u011fu engellenir,<\/h2>\n<h2>ancak ek olarak belirtmek isteyebilirsiniz.<\/h2>\n<h2>----------------------------------------------------------------------------------<\/h2>\n<h2>Kullan\u0131c\u0131 ev dizinlerine eri\u015fimi engeller.<\/h2>\nblacklist \/home\n\n<h2>K\u00f6k dizinindeki di\u011fer hassas dizinlere eri\u015fimi engeller.<\/h2>\nblacklist \/boot\nblacklist \/media\nblacklist \/mnt\nblacklist \/srv\nblacklist \/root\nblacklist \/opt\nblacklist \/usr\/local\/bin\nblacklist \/usr\/local\/sbin\n\n<h2>Ek A\u011f K\u0131s\u0131tlamalar\u0131 (Opsiyonel)<\/h2>\n<h2>----------------------------------------------------------------------------------<\/h2>\n<h2>E\u011fer sadece belirli portlara veya IP'lere izin vermek istiyorsan\u0131z:<\/h2>\n<h2>net filter<\/h2>\n<h2>net none<\/h2>\n<h2>no-internet # \u0130nternet eri\u015fimini tamamen engeller (WordPress i\u00e7in uygun de\u011fil)<\/h2>\n\n<h2>E\u011fer sadece localhost'a eri\u015fim gerekiyorsa (veritaban\u0131 i\u00e7in):<\/h2>\n<h2>net none<\/h2>\n<h2># Ard\u0131ndan localhost'a eri\u015fim i\u00e7in bridge kullanmak gerekebilir<\/h2>\n<h2># Veya mysql client i\u00e7in ayr\u0131 bir profil olu\u015fturulabilir.<\/h2>\n<h2># Bu senaryoda genellikle PHP-FPM'in d\u0131\u015far\u0131ya da ba\u011flanmas\u0131 gerekir.<\/h2>\n\n<h2>Daha s\u0131k\u0131 seccomp filtreleri (geli\u015fmi\u015f kullan\u0131c\u0131lar i\u00e7in)<\/h2>\n<h2>----------------------------------------------------------------------------------<\/h2>\n<h2>seccomp.drop @chroot,@mount,@swap,@reboot<\/code><\/pre>\n<\/h2>\n<p>Yukar\u0131daki profil, PHP-FPM s\u00fcrecinin minimum ayr\u0131cal\u0131klarla \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. <code>X.X<\/code> yerine PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc (\u00f6rn. <code>7.4<\/code>) yazmay\u0131 unutmay\u0131n. \u00d6zellikle <code>private-etc<\/code> ve <code>private-bin<\/code> k\u0131s\u0131mlar\u0131, Firejail&#8217;in sandbox i\u00e7ine kopyalayaca\u011f\u0131 ve uygulaman\u0131n kullanaca\u011f\u0131 dosyalar\u0131 belirtir. Bu, uygulaman\u0131n sistemdeki orijinal dosyalar\u0131 de\u011fi\u015ftirmesini engeller.<\/p>\n<p><strong>\u00d6nemli Notlar:<\/strong><br \/>\n*   <strong>A\u011f Eri\u015fimi (<code>net<\/code>):<\/strong> WordPress genellikle d\u0131\u015f API&#8217;lere (\u00f6rne\u011fin Gravatar, eklenti g\u00fcncellemeleri, harici servisler) eri\u015fime ihtiya\u00e7 duyar. Bu nedenle <code>net none<\/code> kullanmak \u00e7o\u011fu durumda uygun de\u011fildir. <code>net<\/code> komutunu kullanmak ve a\u011f eri\u015fimini UFW\/iptables ile k\u0131s\u0131tlamak daha esnektir. E\u011fer MySQL\/MariaDB ayn\u0131 sunucuda ve <code>localhost<\/code> \u00fczerinden ileti\u015fim kuruyorsa, PHP-FPM&#8217;in <code>localhost<\/code>&#8216;a eri\u015febilmesi i\u00e7in <code>net<\/code> komutu yeterlidir.<br \/>\n*   <strong><code>ignore noexec<\/code>:<\/strong> <code>wp-content\/uploads<\/code> dizini, kullan\u0131c\u0131lar\u0131n y\u00fckledi\u011fi medya dosyalar\u0131n\u0131 i\u00e7erir. Baz\u0131 eklentiler bu dizinde PHP dosyalar\u0131 \u00e7al\u0131\u015ft\u0131rabilir (ki bu bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131d\u0131r), ancak genel olarak burada \u00e7al\u0131\u015ft\u0131r\u0131labilir dosya olmamas\u0131 gerekir. Ancak, Firejail&#8217;in <code>noexec<\/code> kural\u0131, bu dizinde herhangi bir dosyan\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 engeller. E\u011fer bir eklenti bu dizinde bir PHP dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak zorunda kal\u0131yorsa (ki bu nadir ve tehlikeli bir durumdur), <code>ignore noexec<\/code> kural\u0131n\u0131 kullanman\u0131z gerekebilir. G\u00fcvenlik i\u00e7in, <code>noexec<\/code> kural\u0131n\u0131 m\u00fcmk\u00fcn oldu\u011funca geni\u015f tutmak ve yaln\u0131zca kesinlikle gerekli olan yerlerde kald\u0131rmak en iyisidir.<br \/>\n*   <strong><code>whitelist<\/code> ve <code>blacklist<\/code>:<\/strong> Bu kurallar, uygulaman\u0131n dosya sistemine eri\u015fimini kontrol etmek i\u00e7in kullan\u0131l\u0131r. <code>whitelist<\/code> ile izin verilenler d\u0131\u015f\u0131nda her \u015fey engellenir. <code>blacklist<\/code> ise belirli dizinlere eri\u015fimi a\u00e7\u0131k\u00e7a engeller. <code>read-only \/<\/code> ve <code>disable-mnt<\/code> ile zaten \u00e7o\u011fu \u015fey engellendi\u011fi i\u00e7in <code>blacklist<\/code> kullan\u0131m\u0131 daha \u00e7ok ek bir g\u00fcvenlik katman\u0131 sa\u011flar.<\/p>\n<h4>Profilin Test Edilmesi<\/h4>\n<p>Profilinizi olu\u015fturduktan sonra, PHP yorumlay\u0131c\u0131s\u0131n\u0131 bu profil i\u00e7inde manuel olarak \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyerek test edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo firejail --profile=\/etc\/firejail\/phpX.X-fpm.profile \/usr\/bin\/phpX.X -v<\/code><\/pre>\n<p>E\u011fer PHP s\u00fcr\u00fcm bilgisi do\u011fru bir \u015fekilde g\u00f6r\u00fcnt\u00fclenirse, profilin temel olarak \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Daha kapsaml\u0131 testler i\u00e7in, sandbox i\u00e7inde bir <code>phpinfo()<\/code> dosyas\u0131 olu\u015fturup eri\u015fmeyi deneyebilirsiniz.<\/p>\n<h3>WordPress&#8217;i Firejail ile \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>WordPress&#8217;i Firejail i\u00e7inde \u00e7al\u0131\u015ft\u0131rman\u0131n en etkili yolu, PHP-FPM servisini Firejail ile sarmalamakt\u0131r. Bu, PHP-FPM&#8217;in her zaman izole edilmi\u015f bir ortamda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar ve web sunucusu (Apache\/Nginx) ile olan ileti\u015fimini etkilemez.<\/p>\n<h4>PHP-FPM Servisini Firejail \u0130\u00e7inde \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p><code>systemd<\/code> servislerini Firejail ile sarmalamak i\u00e7in servis dosyalar\u0131nda de\u011fi\u015fiklik yapmam\u0131z gerekir. Bu, <code>systemd<\/code> override mekanizmas\u0131 kullan\u0131larak en g\u00fcvenli \u015fekilde yap\u0131l\u0131r.<\/p>\n<p>1.  <strong>PHP-FPM Servisini Durdurun:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop phpX.X-fpm<\/code><\/pre>\n<p>2.  <strong><code>systemd<\/code> Override Dizini Olu\u015fturun:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/systemd\/system\/phpX.X-fpm.service.d\/<\/code><\/pre>\n<p>    (X.X yerine PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc yaz\u0131n, \u00f6rn: <code>php7.4-fpm.service.d\/<\/code>)<\/p>\n<p>3.  <strong>Override Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturun:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/phpX.X-fpm.service.d\/firejail.conf<\/code><\/pre>\n<p>    Bu dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin:<\/p>\n<pre><code class=\"language-ini\">[Service]\n    ExecStart=\n    ExecStart=\/usr\/bin\/firejail --profile=\/etc\/firejail\/phpX.X-fpm.profile \/usr\/sbin\/php-fpmX.X --nodaemonize --fpm-config \/etc\/php\/X.X\/fpm\/php-fpm.conf<\/code><\/pre>\n<p>    *   <code>ExecStart=<\/code> sat\u0131r\u0131, orijinal <code>ExecStart<\/code> komutunu s\u0131f\u0131rlar.<br \/>\n    *   \u0130kinci <code>ExecStart<\/code> sat\u0131r\u0131, PHP-FPM&#8217;i Firejail i\u00e7inde, olu\u015fturdu\u011fumuz profil ile ba\u015flat\u0131r.<br \/>\n    *   <code>--nodaemonize<\/code> bayra\u011f\u0131, <code>systemd<\/code>&#8216;nin PHP-FPM&#8217;i bir arka plan s\u00fcreci olarak de\u011fil, \u00f6n planda \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 sa\u011flar, b\u00f6ylece <code>systemd<\/code> s\u00fcreci do\u011fru bir \u015fekilde izleyebilir.<br \/>\n    *   <code>--fpm-config<\/code> bayra\u011f\u0131, PHP-FPM&#8217;in kullanaca\u011f\u0131 yap\u0131land\u0131rma dosyas\u0131n\u0131 belirtir.<\/p>\n<p>4.  <strong><code>systemd<\/code> Yap\u0131land\u0131rmas\u0131n\u0131 Yeniden Y\u00fckleyin ve Servisi Ba\u015flat\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\n    sudo systemctl start phpX.X-fpm\n    sudo systemctl enable phpX.X-fpm # Ba\u015flang\u0131\u00e7ta otomatik ba\u015flamas\u0131 i\u00e7in<\/code><\/pre>\n<p>5.  <strong>Durumu Kontrol Edin:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status phpX.X-fpm<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131da PHP-FPM servisinin Firejail i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6steren bir sat\u0131r g\u00f6rmelisiniz. Ayr\u0131ca, Firejail&#8217;in aktif s\u00fcre\u00e7lerini kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">firejail --list<\/code><\/pre>\n<p>    Bu komut, Firejail taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lan t\u00fcm uygulamalar\u0131 listeler ve PHP-FPM s\u00fcrecinin orada g\u00f6r\u00fcnmesi gerekir.<\/p>\n<p>Bu yap\u0131land\u0131rma ile, WordPress&#8217;in t\u00fcm PHP i\u015flemleri art\u0131k Firejail taraf\u0131ndan izole edilmi\u015f bir ortamda \u00e7al\u0131\u015facakt\u0131r. Bu, WordPress&#8217;te bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 bulunsa bile, bu a\u00e7\u0131\u011f\u0131n yaln\u0131zca Firejail sandbox&#8217;\u0131 i\u00e7inde kalaca\u011f\u0131 ve sunucunun geri kalan\u0131n\u0131 etkilemeyece\u011fi anlam\u0131na gelir.<\/p>\n<h4>MariaDB Sunucusunu Firejail&#8217;e Alma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>MySQL\/MariaDB sunucusunu da Firejail i\u00e7ine almak teorik olarak m\u00fcmk\u00fcnd\u00fcr, ancak pratik olarak daha karma\u015f\u0131kt\u0131r ve genellikle \u00f6nerilmez. Veritaban\u0131 sunucular\u0131 genellikle kendi g\u00fcvenlik mekanizmalar\u0131na sahiptir ve ayr\u0131 bir sunucuda veya Docker kapsay\u0131c\u0131s\u0131 gibi daha g\u00fc\u00e7l\u00fc izolasyon ara\u00e7lar\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131lmalar\u0131 daha yayg\u0131nd\u0131r.<\/p>\n<p>E\u011fer yine de denemek isterseniz, MariaDB servisi i\u00e7in de benzer bir Firejail profili olu\u015fturman\u0131z ve <code>systemd<\/code> override kullanarak servisi Firejail i\u00e7inde ba\u015flatman\u0131z gerekir. Ancak, veritaban\u0131 dosyalar\u0131n\u0131n ve soketlerinin eri\u015fimi gibi konularda \u00e7ok daha dikkatli olman\u0131z gerekecektir. Bu makale WordPress&#8217;in PHP katman\u0131n\u0131n izolasyonuna odakland\u0131\u011f\u0131 i\u00e7in MariaDB&#8217;nin Firejail ile jailing i\u015flemi detayland\u0131r\u0131lmayacakt\u0131r.<\/p>\n<h3>Ek G\u00fcvenlik \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<p>Firejail ile WordPress&#8217;i izole etmek \u00f6nemli bir ad\u0131md\u0131r, ancak genel g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirmek i\u00e7in ek \u00f6nlemler alman\u0131z da \u00f6nemlidir.<\/p>\n<p>*   <strong>Firejail Profillerini G\u00fcncel Tutma:<\/strong> Firejail profillerini d\u00fczenli olarak g\u00f6zden ge\u00e7irin ve WordPress&#8217;in veya eklentilerin yeni ihtiya\u00e7lar\u0131 do\u011frultusunda g\u00fcncelleyin. Bir eklenti yeni bir dizine yazma eri\u015fimi gerektiriyorsa, profilinizi g\u00fcncellemeniz gerekebilir.<br \/>\n*   <strong>En Az Ayr\u0131cal\u0131k \u0130lkesi:<\/strong> Her zaman en az ayr\u0131cal\u0131k ilkesini uygulay\u0131n. Bir uygulamaya yaln\u0131zca \u00e7al\u0131\u015fmas\u0131 i\u00e7in kesinlikle gerekli olan izinleri verin. <code>whitelist<\/code> kullan\u0131rken spesifik olun, genel <code>whitelist<\/code>&#8216;lerden ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong><code>wp-content<\/code> Dizinini Kontrol Etme:<\/strong> <code>wp-content<\/code> dizini, eklentiler, temalar ve y\u00fcklemeler gibi dinamik i\u00e7erikleri bar\u0131nd\u0131r\u0131r. Bu dizindeki <code>uploads<\/code> hari\u00e7 di\u011fer alt dizinlerin (\u00f6zellikle <code>plugins<\/code> ve <code>themes<\/code>) yazma izinlerini yaln\u0131zca g\u00fcncelleme veya kurulum an\u0131nda <code>www-data<\/code> kullan\u0131c\u0131s\u0131na verip, di\u011fer zamanlarda salt okunur hale getirmek ek g\u00fcvenlik sa\u011flayabilir. Ancak bu, y\u00f6netimsel olarak zorlay\u0131c\u0131 olabilir.<br \/>\n*   <strong>Firewall Kullan\u0131m\u0131 (UFW\/iptables):<\/strong> Sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rn. UFW) kullanarak yaln\u0131zca gerekli portlara (HTTP\/HTTPS i\u00e7in 80\/443, SSH i\u00e7in 22) gelen ba\u011flant\u0131lara izin verin. Giden ba\u011flant\u0131lar\u0131 da k\u0131s\u0131tlayarak WordPress&#8217;in yaln\u0131zca g\u00fcvenilir harici servislerle ileti\u015fim kurmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 80\/tcp\n    sudo ufw allow 443\/tcp\n    sudo ufw allow 22\/tcp\n    sudo ufw enable<\/code><\/pre>\n<p>*   <strong>D\u00fczenli Yedeklemeler:<\/strong> Verilerinizin d\u00fczenli yedeklerini al\u0131n. Bir g\u00fcvenlik ihlali durumunda, yedeklerinizden geri d\u00f6nebilmek kritik \u00f6neme sahiptir.<br \/>\n*   <strong>WordPress G\u00fcncellemeleri:<\/strong> WordPress \u00e7ekirde\u011fini, temalar\u0131n\u0131 ve eklentilerini her zaman g\u00fcncel tutun. G\u00fcvenlik a\u00e7\u0131klar\u0131 genellikle g\u00fcncellemelerle kapat\u0131l\u0131r.<br \/>\n*   <strong>G\u00fcvenlik Eklentileri:<\/strong> Wordfence, Sucuri gibi WordPress g\u00fcvenlik eklentileri kullanmak, k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131mlar\u0131 tarama, g\u00fcvenlik duvar\u0131 kurallar\u0131 uygulama ve giri\u015f denemelerini s\u0131n\u0131rlama gibi ek koruma katmanlar\u0131 sa\u011flayabilir.<br \/>\n*   <strong>SELinux\/AppArmor:<\/strong> Firejail, Linux&#8217;un g\u00fcvenlik mekanizmalar\u0131n\u0131 kullan\u0131r. SELinux veya AppArmor gibi Mandatory Access Control (MAC) sistemleri ile birlikte kullan\u0131labilir, ancak genellikle Firejail&#8217;in sa\u011flad\u0131\u011f\u0131 izolasyon \u00e7o\u011fu senaryo i\u00e7in yeterli olacakt\u0131r. \u00c7ak\u0131\u015fmalar\u0131 \u00f6nlemek i\u00e7in dikkatli yap\u0131land\u0131rma gerektirir.<br \/>\n*   <strong>SSL\/TLS Kullan\u0131m\u0131:<\/strong> Web sitenizi HTTPS \u00fczerinden yay\u0131nlamak i\u00e7in Let&#8217;s Encrypt gibi bir hizmetle \u00fccretsiz SSL\/TLS sertifikas\u0131 kullan\u0131n. Bu, kullan\u0131c\u0131lar\u0131n\u0131z ve sunucunuz aras\u0131ndaki ileti\u015fimi \u015fifreler.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Firejail ile WordPress kurulumu yaparken baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Eri\u015fim Reddedildi Hatalar\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> WordPress bir dosyaya yazmaya \u00e7al\u0131\u015f\u0131rken veya bir dizine eri\u015firken &#8220;Permission Denied&#8221; (Eri\u015fim Reddedildi) hatas\u0131 al\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Firejail profilinizi kontrol edin. Eksik <code>whitelist<\/code> girdileri veya yanl\u0131\u015f <code>read-only<\/code> ayarlar\u0131 bu t\u00fcr sorunlara neden olabilir. \u00d6zellikle <code>wp-content\/uploads<\/code>, <code>wp-content\/plugins<\/code>, <code>wp-content\/themes<\/code> gibi yaz\u0131labilir olmas\u0131 gereken dizinlerin do\u011fru \u015fekilde <code>whitelist<\/code>&#8216;e eklendi\u011finden emin olun.<br \/>\n    *   <strong>\u00d6rnek:<\/strong> Eklenti y\u00fcklerken hata al\u0131yorsan\u0131z, <code>wp-content\/upgrade<\/code> dizinine yazma izni eklemeniz gerekebilir.<\/p>\n<pre><code class=\"language-firejail\">whitelist \/var\/www\/wordpress\/wp-content\/upgrade<\/code><\/pre>\n<p>*   <strong>Performans D\u00fc\u015f\u00fc\u015f\u00fc:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> WordPress Firejail i\u00e7inde yava\u015f \u00e7al\u0131\u015f\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Genellikle Firejail&#8217;in kendisi \u00f6nemli bir performans d\u00fc\u015f\u00fc\u015f\u00fcne neden olmaz. Sorun genellikle yanl\u0131\u015f yap\u0131land\u0131rmadan veya yetersiz kaynaklardan kaynaklan\u0131r.<br \/>\n        *   PHP-FPM yap\u0131land\u0131rmas\u0131n\u0131 kontrol edin (<code>pm.max_children<\/code>, <code>pm.start_servers<\/code> vb.).<br \/>\n        *   Veritaban\u0131 sunucusunun performans\u0131n\u0131 kontrol edin.<br \/>\n        *   Sunucunun genel CPU, RAM ve disk I\/O kullan\u0131m\u0131n\u0131 izleyin.<br \/>\n        *   Firejail profilindeki \u00e7ok s\u0131k\u0131 <code>seccomp<\/code> filtreleri veya gereksiz <code>private-bin<\/code> kopyalamalar\u0131 performans\u0131 etkileyebilir. M\u00fcmk\u00fcn oldu\u011funca basit tutmaya \u00e7al\u0131\u015f\u0131n.<\/p>\n<p>*   <strong>Eklenti\/Tema Kurulum Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Yeni eklenti veya tema y\u00fcklenirken veya g\u00fcncellenirken hatalar al\u0131n\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle yazma izinleriyle ilgilidir. <code>wp-content\/plugins<\/code>, <code>wp-content\/themes<\/code> ve <code>wp-content\/upgrade<\/code> dizinlerinin Firejail profilinde <code>whitelist<\/code>&#8216;e eklendi\u011finden ve <code>www-data<\/code> kullan\u0131c\u0131s\u0131n\u0131n bu dizinlere yazma izni oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/wordpress<\/code><\/pre>\n<p>*   <strong>Veritaban\u0131 Ba\u011flant\u0131 Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> WordPress veritaban\u0131na ba\u011flanam\u0131yor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   <code>wp-config.php<\/code> dosyas\u0131ndaki veritaban\u0131 bilgilerinin (kullan\u0131c\u0131 ad\u0131, parola, veritaban\u0131 ad\u0131, host) do\u011fru oldu\u011fundan emin olun.<br \/>\n        *   MariaDB\/MySQL servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n        *   Firejail profilinde <code>mysql<\/code> veya <code>mariadb<\/code> istemcisine veya soketine eri\u015fim izni oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-firejail\">whitelist \/run\/mysqld<\/code><\/pre>\n<p>            E\u011fer <code>localhost<\/code> yerine bir IP adresi ile ba\u011flan\u0131yorsan\u0131z, Firejail&#8217;in a\u011f ayarlar\u0131n\u0131n buna izin verdi\u011finden emin olun (\u00f6rn. <code>net<\/code> komutu).<\/p>\n<p>*   <strong>Firejail Profilini Hata Ay\u0131klama:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Profilin neden do\u011fru \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 anlamakta zorlan\u0131yorum.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Firejail&#8217;i hata ay\u0131klama moduyla \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo firejail --debug --profile=\/etc\/firejail\/phpX.X-fpm.profile \/usr\/sbin\/php-fpmX.X --nodaemonize --fpm-config \/etc\/php\/X.X\/fpm\/php-fpm.conf<\/code><\/pre>\n<p>        Bu, Firejail&#8217;in hangi dosyalar\u0131 kopyalad\u0131\u011f\u0131n\u0131, hangi kurallar\u0131 uygulad\u0131\u011f\u0131n\u0131 ve hangi sistem \u00e7a\u011fr\u0131lar\u0131n\u0131n engellendi\u011fini g\u00f6steren ayr\u0131nt\u0131l\u0131 \u00e7\u0131kt\u0131lar sa\u011flayacakt\u0131r. Bu \u00e7\u0131kt\u0131lar, eksik <code>whitelist<\/code>&#8216;leri veya di\u011fer yap\u0131land\u0131rma hatalar\u0131n\u0131 tespit etmenize yard\u0131mc\u0131 olabilir.<\/p>\n<p>Unutmay\u0131n ki Firejail profilleri hassas yap\u0131land\u0131rmalard\u0131r. Herhangi bir de\u011fi\u015fiklik yapt\u0131ktan sonra servisi yeniden ba\u015flatman\u0131z ve i\u015flevselli\u011fi test etmeniz \u00f6nemlidir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>WordPress&#8217;i Firejail ile g\u00fcvenli bir ortamda yap\u0131land\u0131rmak, web sitenizin g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendiren proaktif bir yakla\u015f\u0131md\u0131r. Bu y\u00f6ntem, olas\u0131 bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131n etkisini s\u0131n\u0131rlayarak, sald\u0131rganlar\u0131n sunucunuzun di\u011fer b\u00f6l\u00fcmlerine eri\u015fmesini engeller. Firejail&#8217;in Linux \u00e7ekirde\u011finin sa\u011flad\u0131\u011f\u0131 g\u00fc\u00e7l\u00fc izolasyon mekanizmalar\u0131n\u0131 kullanmas\u0131 sayesinde, WordPress&#8217;i hafif ve etkili bir sandbox i\u00e7inde \u00e7al\u0131\u015ft\u0131rmak m\u00fcmk\u00fcn hale gelir.<\/p>\n<p>Bu makalede ad\u0131m ad\u0131m Firejail&#8217;in kurulumundan, WordPress ortam\u0131n\u0131n haz\u0131rlanmas\u0131na, \u00f6zel bir Firejail profilinin olu\u015fturulmas\u0131na ve PHP-FPM servisini Firejail ile entegre etmeye kadar t\u00fcm s\u00fcreci detayl\u0131 bir \u015fekilde ele ald\u0131k. Ayr\u0131ca, ek g\u00fcvenlik ipu\u00e7lar\u0131 ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik \u00e7\u00f6z\u00fcmler sunarak, bu karma\u015f\u0131k yap\u0131land\u0131rma s\u00fcrecinde size rehberlik etmeyi ama\u00e7lad\u0131k.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, hi\u00e7bir g\u00fcvenlik \u00e7\u00f6z\u00fcm\u00fc %100 kusursuz de\u011fildir. Firejail, WordPress kurulumunuz i\u00e7in g\u00fc\u00e7l\u00fc bir savunma katman\u0131 sa\u011flarken, d\u00fczenli g\u00fcncellemeler, g\u00fc\u00e7l\u00fc parolalar, g\u00fcvenlik duvar\u0131 kullan\u0131m\u0131 ve di\u011fer en iyi uygulamalar\u0131n da g\u00f6z ard\u0131 edilmemesi gerekir. S\u00fcrekli tetikte olmak ve g\u00fcvenlik \u00f6nlemlerini g\u00fcncel tutmak, dijital varl\u0131klar\u0131n\u0131z\u0131 koruman\u0131n anahtar\u0131d\u0131r. Firejail ile WordPress&#8217;inizi hapsederek, web sitenizin ve sunucunuzun g\u00fcvenli\u011fini bir sonraki seviyeye ta\u015f\u0131m\u0131\u015f olursunuz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma\nGiri\u015f\nWordPress, d\u00fcnya genelinde milyonlarca web sitesine g\u00fc\u00e7 veren, kullan","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":[133],"tags":[],"class_list":{"0":"post-33056","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-php","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>Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma - 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\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma\" \/>\n<meta property=\"og:description\" content=\"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma Giri\u015f WordPress, d\u00fcnya genelinde milyonlarca web sitesine g\u00fc\u00e7 veren, kullan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-28T23:41:20+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=\"26 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma\",\"datePublished\":\"2025-10-28T23:41:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\"},\"wordCount\":3732,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PHP\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\",\"name\":\"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-28T23:41:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma\"}]},{\"@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":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma - 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\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/","og_locale":"tr_TR","og_type":"article","og_title":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma","og_description":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma Giri\u015f WordPress, d\u00fcnya genelinde milyonlarca web sitesine g\u00fc\u00e7 veren, kullan","og_url":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-28T23:41:20+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"26 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma","datePublished":"2025-10-28T23:41:20+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/"},"wordCount":3732,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PHP"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/","url":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/","name":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-28T23:41:20+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/firejail-ile-wordpress-kurulumunu-guvenli-bir-ortamda-yapilandirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Firejail ile WordPress Kurulumunu G\u00fcvenli Bir Ortamda Yap\u0131land\u0131rma"}]},{"@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\/33056","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=33056"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"predecessor-version":[{"id":33057,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33056\/revisions\/33057"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}