{"id":16436,"date":"2026-08-23T23:29:58","date_gmt":"2026-08-23T20:29:58","guid":{"rendered":"https:\/\/www.ihs.com.tr\/blog\/?p=16436"},"modified":"2026-08-23T23:29:58","modified_gmt":"2026-08-23T20:29:58","slug":"linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac","status":"publish","type":"post","link":"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/","title":{"rendered":"Linux Sunucularda AppArmor ile Zorunlu Eri\u015fim Kontrol\u00fc (MAC)"},"content":{"rendered":"<p>Linux sunucularda g\u00fcvenlik, katmanl\u0131 bir savunma mekanizmas\u0131 gerektirir. Geleneksel dosya izinlerinin \u00f6tesine ge\u00e7erek, uygulamalar\u0131n beklenmedik davran\u0131\u015flar sergilemesini proaktif olarak engelleyen sistemler, siber sald\u0131r\u0131lara kar\u015f\u0131 en etkili koruma y\u00f6ntemlerinden biridir. Bu noktada, Zorunlu Eri\u015fim Kontrol\u00fc (MAC) sistemleri devreye girer. AppArmor, Linux \u00e7ekirde\u011fine entegre edilmi\u015f, g\u00fc\u00e7l\u00fc ve ayn\u0131 zamanda kullan\u0131c\u0131 dostu bir MAC uygulamas\u0131d\u0131r. Her bir uygulaman\u0131n dosya sisteminde nelere eri\u015febilece\u011fini, hangi a\u011f ba\u011flant\u0131lar\u0131n\u0131 kurabilece\u011fini ve hangi yetenekleri kullanabilece\u011fini tan\u0131mlayan profiller arac\u0131l\u0131\u011f\u0131yla \u00e7al\u0131\u015f\u0131r. Bu sayede, bir serviste g\u00fcvenlik a\u00e7\u0131\u011f\u0131 ortaya \u00e7\u0131ksa bile, AppArmor bu a\u00e7\u0131\u011f\u0131n sisteme yay\u0131lmas\u0131n\u0131 engelleyerek hasar\u0131 s\u0131n\u0131rlar ve sunucu g\u00fcvenli\u011fini en \u00fcst d\u00fczeye \u00e7\u0131kar\u0131r.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_77 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0130\u00e7erik Tablosu<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a8b747f21313\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\" id=\"ez-toc-cssicon-toggle-item-6a8b747f21313\" aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Erisim-Kontrolu-Modellerine-Giris-ve-AppArmorin-Yeri\" >Eri\u015fim Kontrol\u00fc Modellerine Giri\u015f ve AppArmor&#8217;\u0131n Yeri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Geleneksel-Linux-Guvenlik-Modeli-Istege-Bagli-Erisim-Kontrolu-DAC\" >Geleneksel Linux G\u00fcvenlik Modeli: \u0130ste\u011fe Ba\u011fl\u0131 Eri\u015fim Kontrol\u00fc (DAC)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Gelismis-Guvenlik-Yaklasimi-Zorunlu-Erisim-Kontrolu-MAC-Nedir\" >Geli\u015fmi\u015f G\u00fcvenlik Yakla\u015f\u0131m\u0131: Zorunlu Eri\u015fim Kontrol\u00fc (MAC) Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Nedir-MACin-Uygulama-Odakli-Yorumu\" >AppArmor Nedir? MAC&#8217;in Uygulama Odakl\u0131 Yorumu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Linux-Ekosistemindeki-Yeri-AppArmor-ve-SELinux-Karsilastirmasi\" >Linux Ekosistemindeki Yeri: AppArmor ve SELinux Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Kurulumu-ve-Temel-Yonetimi\" >AppArmor Kurulumu ve Temel Y\u00f6netimi<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Sistemde-AppArmor-Durumunu-Kontrol-Etme-ve-Yorumlama\" >Sistemde AppArmor Durumunu Kontrol Etme ve Yorumlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Paketlerinin-Kurulumu-ve-Servisin-Etkinlestirilmesi\" >AppArmor Paketlerinin Kurulumu ve Servisin Etkinle\u015ftirilmesi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Temel-Kavramlar-Profiller-ve-Calisma-Modlari\" >Temel Kavramlar: Profiller ve \u00c7al\u0131\u015fma Modlar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Temel-AppArmor-Komutlari-aa-status-aa-enforce-aa-complain\" >Temel AppArmor Komutlar\u0131 (`aa-status`, `aa-enforce`, `aa-complain`)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Profillerinin-Olusturulmasi-ve-Yonetilmesi\" >AppArmor Profillerinin Olu\u015fturulmas\u0131 ve Y\u00f6netilmesi<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Profil-Yapisini-Anlama\" >AppArmor Profil Yap\u0131s\u0131n\u0131 Anlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Yeni-Bir-Uygulama-Icin-Otomatik-Profil-Olusturma-aa-genprof-Araci\" >Yeni Bir Uygulama \u0130\u00e7in Otomatik Profil Olu\u015fturma: `aa-genprof` Arac\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Mevcut-Profilleri-Sistem-Loglari-ile-Guncelleme-aa-logprof-Araci\" >Mevcut Profilleri Sistem Loglar\u0131 ile G\u00fcncelleme: `aa-logprof` Arac\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Profilleri-Manuel-Olarak-Duzenleme-ve-Ince-Ayar-Yapma\" >Profilleri Manuel Olarak D\u00fczenleme ve \u0130nce Ayar Yapma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Hazir-Profillerin-Kullanimi-ve-Yonetimi\" >Haz\u0131r Profillerin Kullan\u0131m\u0131 ve Y\u00f6netimi<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Pratik-Uygulamalar-Servislerin-AppArmor-ile-Guclendirilmesi\" >Pratik Uygulamalar: Servislerin AppArmor ile G\u00fc\u00e7lendirilmesi<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ornek-Senaryo-1-ApacheNginx-Web-Sunucusunu-Guvenli-Hale-Getirme\" >\u00d6rnek Senaryo 1: Apache\/Nginx Web Sunucusunu G\u00fcvenli Hale Getirme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ornek-Senaryo-2-MariaDBMySQL-Veritabani-Erisimini-Kisitlama\" >\u00d6rnek Senaryo 2: MariaDB\/MySQL Veritaban\u0131 Eri\u015fimini K\u0131s\u0131tlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ornek-Senaryo-3-PostfixDovecot-E-Posta-Sunucusunu-Koruma\" >\u00d6rnek Senaryo 3: Postfix\/Dovecot E-Posta Sunucusunu Koruma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ornek-Senaryo-4-Konteyner-Guvenliginde-AppArmor-Kullanimi-DockerLXC\" >\u00d6rnek Senaryo 4: Konteyner G\u00fcvenli\u011finde AppArmor Kullan\u0131m\u0131 (Docker\/LXC)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ileri-Seviye-AppArmor-Konulari-ve-Sorun-Giderme\" >\u0130leri Seviye AppArmor Konular\u0131 ve Sorun Giderme<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ag-Erisim-Kurallarinin-Detaylandirilmasi-TCP-UDP-Raw-Soketler\" >A\u011f Eri\u015fim Kurallar\u0131n\u0131n Detayland\u0131r\u0131lmas\u0131 (TCP, UDP, Raw Soketler)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Yetenekler-Capabilities-ile-Ayricaliklarin-Yonetimi\" >Yetenekler (Capabilities) ile Ayr\u0131cal\u0131klar\u0131n Y\u00f6netimi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Loglarini-Anlama-ve-Analiz-Etme-dmesg-auditd\" >AppArmor Loglar\u0131n\u0131 Anlama ve Analiz Etme (`dmesg`, `auditd`)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Sik-Karsilasilan-AppArmor-Hatalarini-Tanimlama-ve-Cozme\" >S\u0131k Kar\u015f\u0131la\u015f\u0131lan AppArmor Hatalar\u0131n\u0131 Tan\u0131mlama ve \u00c7\u00f6zme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-ile-Guvenlik-Stratejisi-Icin-En-Iyi-Uygulamalar\" >AppArmor ile G\u00fcvenlik Stratejisi \u0130\u00e7in En \u0130yi Uygulamalar<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#%E2%80%9CEn-Az-Ayricalik%E2%80%9D-Least-Privilege-Prensibini-Uygulama\" >&#8220;En Az Ayr\u0131cal\u0131k&#8221; (Least Privilege) Prensibini Uygulama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Gelistirme-ve-Test-Sureclerinde-%E2%80%9CComplain%E2%80%9D-Modunu-Etkin-Kullanma\" >Geli\u015ftirme ve Test S\u00fcre\u00e7lerinde &#8220;Complain&#8221; Modunu Etkin Kullanma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Profil-Degisikliklerinin-Duzenli-Olarak-Denetlenmesi-ve-Surum-Kontrolu\" >Profil De\u011fi\u015fikliklerinin D\u00fczenli Olarak Denetlenmesi ve S\u00fcr\u00fcm Kontrol\u00fc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Sistem-Guncellemeleri-Sonrasi-Profillerin-Gozden-Gecirilmesi\" >Sistem G\u00fcncellemeleri Sonras\u0131 Profillerin G\u00f6zden Ge\u00e7irilmesi<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Guvenli-ve-Yonetimli-Linux-Sunucu-Hizmetleri-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\" >G\u00fcvenli ve Y\u00f6netimli Linux Sunucu Hizmetleri \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#AppArmor-Konfigurasyonunda-Uzman-Teknik-Destek\" >AppArmor Konfig\u00fcrasyonunda Uzman Teknik Destek<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Proaktif-Guvenlik-Izleme-ve-Yonetim-Hizmetleri\" >Proaktif G\u00fcvenlik \u0130zleme ve Y\u00f6netim Hizmetleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Yuksek-Performansli-ve-Guvenilir-Sunucu-Altyapisi\" >Y\u00fcksek Performansl\u0131 ve G\u00fcvenilir Sunucu Altyap\u0131s\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/www.ihs.com.tr\/blog\/linux-sunucularda-apparmor-ile-zorunlu-erisim-kontrolu-mac\/#Ihtiyaclariniza-Ozel-Esnek-Guvenlik-Cozumleri\" >\u0130htiya\u00e7lar\u0131n\u0131za \u00d6zel Esnek G\u00fcvenlik \u00c7\u00f6z\u00fcmleri<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Erisim-Kontrolu-Modellerine-Giris-ve-AppArmorin-Yeri\"><\/span>Eri\u015fim Kontrol\u00fc Modellerine Giri\u015f ve AppArmor&#8217;\u0131n Yeri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Modern sunucu g\u00fcvenli\u011fi, farkl\u0131 eri\u015fim kontrol\u00fc modellerinin anla\u015f\u0131lmas\u0131yla ba\u015flar. Her model, sistem kaynaklar\u0131na kimin veya neyin eri\u015febilece\u011fini d\u00fczenlemek i\u00e7in farkl\u0131 bir felsefe benimser. Bu modelleri ve AppArmor&#8217;\u0131n bu ekosistemdeki rol\u00fcn\u00fc anlamak, daha bilin\u00e7li g\u00fcvenlik yap\u0131land\u0131rmalar\u0131 olu\u015fturman\u0131n ilk ad\u0131m\u0131d\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Geleneksel-Linux-Guvenlik-Modeli-Istege-Bagli-Erisim-Kontrolu-DAC\"><\/span>Geleneksel Linux G\u00fcvenlik Modeli: \u0130ste\u011fe Ba\u011fl\u0131 Eri\u015fim Kontrol\u00fc (DAC)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Linux ve di\u011fer Unix benzeri i\u015fletim sistemlerinin temel g\u00fcvenlik modeli \u0130ste\u011fe Ba\u011fl\u0131 Eri\u015fim Kontrol\u00fc (Discretionary Access Control &#8211; DAC) \u00fczerine kuruludur. Bu modelde, bir kayna\u011f\u0131n (dosya, dizin vb.) sahibi, o kayna\u011fa kimin eri\u015febilece\u011fini ve ne t\u00fcr i\u015flemler (okuma, yazma, \u00e7al\u0131\u015ft\u0131rma) yapabilece\u011fini belirler. Kullan\u0131c\u0131 (user), grup (group) ve di\u011ferleri (others) i\u00e7in tan\u0131mlanan izinler (`rwx`) bu sistemin temelini olu\u015fturur. DAC&#8217;nin esnekli\u011fi, y\u00f6netim kolayl\u0131\u011f\u0131 sa\u011flar ancak \u00f6nemli bir zafiyeti vard\u0131r: E\u011fer bir kullan\u0131c\u0131n\u0131n hesab\u0131 (\u00f6rne\u011fin, bir web sunucusu servis hesab\u0131) ele ge\u00e7irilirse, sald\u0131rgan o kullan\u0131c\u0131n\u0131n sahip oldu\u011fu t\u00fcm yetkilere de sahip olur. Bu durum, \u00f6zellikle root yetkilerine sahip bir s\u00fcrecin ele ge\u00e7irilmesi durumunda t\u00fcm sistemi riske atabilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Gelismis-Guvenlik-Yaklasimi-Zorunlu-Erisim-Kontrolu-MAC-Nedir\"><\/span>Geli\u015fmi\u015f G\u00fcvenlik Yakla\u015f\u0131m\u0131: Zorunlu Eri\u015fim Kontrol\u00fc (MAC) Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Zorunlu Eri\u015fim Kontrol\u00fc (Mandatory Access Control &#8211; MAC), DAC modelinin getirdi\u011fi riskleri azaltmak i\u00e7in tasarlanm\u0131\u015f daha kat\u0131 bir g\u00fcvenlik politikas\u0131d\u0131r. MAC sisteminde, eri\u015fim kararlar\u0131 sadece kaynak sahibi taraf\u0131ndan de\u011fil, sistem genelinde merkezi olarak tan\u0131mlanan ve zorunlu k\u0131l\u0131nan bir politika taraf\u0131ndan y\u00f6netilir. Bu politika, bir s\u00fcrecin hangi kaynaklara (dosyalar, soketler, di\u011fer s\u00fcre\u00e7ler) eri\u015febilece\u011fini, kullan\u0131c\u0131n\u0131n kimli\u011finden ba\u011f\u0131ms\u0131z olarak belirler. Yani, bir s\u00fcre\u00e7 `root` kullan\u0131c\u0131s\u0131 taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lsa bile, MAC politikas\u0131 taraf\u0131ndan izin verilmeyen bir i\u015flemi ger\u00e7ekle\u015ftiremez. Bu yakla\u015f\u0131m, &#8220;en az ayr\u0131cal\u0131k&#8221; prensibini uygulayarak potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n sisteme yay\u0131lmas\u0131n\u0131 engeller.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"AppArmor-Nedir-MACin-Uygulama-Odakli-Yorumu\"><\/span>AppArmor Nedir? MAC&#8217;in Uygulama Odakl\u0131 Yorumu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor (Application Armor), Linux \u00e7ekirde\u011fine entegre bir MAC g\u00fcvenlik mod\u00fcl\u00fcd\u00fcr. Temel amac\u0131, her bir uygulama i\u00e7in \u00f6zel g\u00fcvenlik profilleri olu\u015fturarak, o uygulaman\u0131n normal \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan kaynaklara eri\u015fimini s\u0131n\u0131rlamakt\u0131r. AppArmor, di\u011fer MAC implementasyonlar\u0131ndan farkl\u0131 olarak &#8220;yol tabanl\u0131&#8221; (path-based) bir yakla\u015f\u0131m benimser. Bu, kurallar\u0131n dosya sistemi yollar\u0131 (`\/var\/www\/html\/index.php`) \u00fczerinden tan\u0131mland\u0131\u011f\u0131 anlam\u0131na gelir, bu da profillerin olu\u015fturulmas\u0131n\u0131 ve anla\u015f\u0131lmas\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r. Bir uygulama, profili taraf\u0131ndan a\u00e7\u0131k\u00e7a izin verilmeyen bir dosyaya eri\u015fmeye veya bir a\u011f ba\u011flant\u0131s\u0131 kurmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, AppArmor bu i\u015flemi engelleyecek ve loglayacakt\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Linux-Ekosistemindeki-Yeri-AppArmor-ve-SELinux-Karsilastirmasi\"><\/span>Linux Ekosistemindeki Yeri: AppArmor ve SELinux Kar\u015f\u0131la\u015ft\u0131rmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Linux d\u00fcnyas\u0131nda en yayg\u0131n kullan\u0131lan iki MAC sistemi AppArmor ve SELinux&#8217;tur. Her ikisi de ayn\u0131 temel amac\u0131 (s\u00fcre\u00e7leri k\u0131s\u0131tlamak) payla\u015fsa da, felsefeleri ve uygulama y\u00f6ntemleri farkl\u0131d\u0131r. AppArmor genellikle Ubuntu ve SUSE gibi da\u011f\u0131t\u0131mlarda varsay\u0131lan olarak gelirken, SELinux Red Hat tabanl\u0131 da\u011f\u0131t\u0131mlar\u0131n (CentOS, Fedora) standart g\u00fcvenlik mod\u00fcl\u00fcd\u00fcr.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>AppArmor<\/th>\n<th>SELinux<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Yakla\u015f\u0131m<\/strong><\/td>\n<td>Yol tabanl\u0131 (Path-based). Kurallar dosya yollar\u0131na g\u00f6re tan\u0131mlan\u0131r.<\/td>\n<td>Etiket tabanl\u0131 (Label-based). Her s\u00fcre\u00e7 ve kaynak bir g\u00fcvenlik etiketi al\u0131r.<\/td>\n<\/tr>\n<tr>\n<td><strong>\u00d6\u011frenme E\u011frisi<\/strong><\/td>\n<td>Daha kolay. Profiller insanlar taraf\u0131ndan daha okunabilir ve y\u00f6netilebilirdir.<\/td>\n<td>Daha dik. Etiketleme ve politika mant\u0131\u011f\u0131 daha karma\u015f\u0131kt\u0131r.<\/td>\n<\/tr>\n<tr>\n<td><strong>Y\u00f6netim<\/strong><\/td>\n<td>Uygulama bazl\u0131d\u0131r. Sadece profili olan uygulamalar k\u0131s\u0131tlan\u0131r.<\/td>\n<td>Sistem genelidir. Etiketlenmemi\u015f her \u015fey varsay\u0131lan olarak k\u0131s\u0131tlanabilir.<\/td>\n<\/tr>\n<tr>\n<td><strong>Da\u011f\u0131t\u0131m Deste\u011fi<\/strong><\/td>\n<td>Debian, Ubuntu, SUSE ve t\u00fcrevlerinde yayg\u0131nd\u0131r.<\/td>\n<td>Red Hat, CentOS, Fedora, Android gibi sistemlerde yayg\u0131nd\u0131r.<\/td>\n<\/tr>\n<tr>\n<td><strong>Esneklik<\/strong><\/td>\n<td>Daha az ayr\u0131nt\u0131l\u0131 ancak \u00e7o\u011fu senaryo i\u00e7in yeterli ve h\u0131zl\u0131d\u0131r.<\/td>\n<td>\u00c7ok daha ayr\u0131nt\u0131l\u0131 ve gran\u00fcler kontrol sunar ancak daha karma\u015f\u0131kt\u0131r.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"AppArmor-Kurulumu-ve-Temel-Yonetimi\"><\/span>AppArmor Kurulumu ve Temel Y\u00f6netimi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AppArmor&#8217;\u0131 etkin bir \u015fekilde kullanabilmek i\u00e7in \u00f6ncelikle sistemdeki durumunu kontrol etmeyi, gerekli paketleri kurmay\u0131 ve temel y\u00f6netim komutlar\u0131n\u0131 \u00f6\u011frenmeyi gerektirir. Bu ad\u0131mlar, AppArmor altyap\u0131s\u0131n\u0131 kurman\u0131z\u0131 ve profilleri y\u00f6netmeye haz\u0131r hale gelmenizi sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Sistemde-AppArmor-Durumunu-Kontrol-Etme-ve-Yorumlama\"><\/span>Sistemde AppArmor Durumunu Kontrol Etme ve Yorumlama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor&#8217;\u0131n sisteminizde aktif olup olmad\u0131\u011f\u0131n\u0131 ve mevcut profil durumlar\u0131n\u0131 \u00f6\u011frenmek i\u00e7in terminale `aa-status` komutunu yazman\u0131z yeterlidir. Bu komutun \u00e7\u0131kt\u0131s\u0131 birka\u00e7 \u00f6nemli b\u00f6l\u00fcmden olu\u015fur:<\/p>\n<ul>\n<li><b>apparmor module is loaded.<\/b>: Bu sat\u0131r, AppArmor \u00e7ekirdek mod\u00fcl\u00fcn\u00fcn y\u00fckl\u00fc ve aktif oldu\u011funu g\u00f6sterir.<\/li>\n<li><b>X profiles are loaded.<\/b>: Sistemde tan\u0131ml\u0131 ve belle\u011fe y\u00fcklenmi\u015f olan toplam profil say\u0131s\u0131n\u0131 belirtir.<\/li>\n<li><b>X profiles are in enforce mode.<\/b>: &#8220;Enforce&#8221; modunda \u00e7al\u0131\u015fan profil say\u0131s\u0131n\u0131 g\u00f6sterir. Bu profiller, belirlenen kurallar\u0131 aktif olarak zorunlu k\u0131lar ve kural ihlallerini engeller.<\/li>\n<li><b>X profiles are in complain mode.<\/b>: &#8220;Complain&#8221; modunda \u00e7al\u0131\u015fan profil say\u0131s\u0131n\u0131 g\u00f6sterir. Bu profiller kural ihlallerini engellemez, sadece loglar. Bu mod, yeni profiller geli\u015ftirirken veya mevcut profillerde sorun giderirken kullan\u0131l\u0131r.<\/li>\n<li><b>X processes have profiles.<\/b>: O an \u00e7al\u0131\u015fan ve bir AppArmor profili taraf\u0131ndan k\u0131s\u0131tlanan s\u00fcre\u00e7lerin say\u0131s\u0131n\u0131 belirtir.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"AppArmor-Paketlerinin-Kurulumu-ve-Servisin-Etkinlestirilmesi\"><\/span>AppArmor Paketlerinin Kurulumu ve Servisin Etkinle\u015ftirilmesi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u00c7o\u011fu Debian tabanl\u0131 sistemde (Ubuntu gibi) AppArmor varsay\u0131lan olarak kurulu ve etkin gelir. E\u011fer kurulu de\u011filse veya farkl\u0131 bir da\u011f\u0131t\u0131m kullan\u0131yorsan\u0131z, gerekli paketleri kolayca kurabilirsiniz. Debian\/Ubuntu i\u00e7in kurulum komutu \u015f\u00f6yledir:<\/p>\n<p><code>sudo apt-get update &amp;&amp; sudo apt-get install apparmor apparmor-utils<\/code><\/p>\n<p>Kurulum tamamland\u0131ktan sonra AppArmor servisinin sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015facak \u015fekilde etkinle\u015ftirilmesi \u00f6nemlidir:<\/p>\n<p><code>sudo systemctl enable apparmor &amp;&amp; sudo systemctl start apparmor<\/code><\/p>\n<p>Bu komutlar servisi hem etkinle\u015ftirir hem de hemen ba\u015flat\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Temel-Kavramlar-Profiller-ve-Calisma-Modlari\"><\/span>Temel Kavramlar: Profiller ve \u00c7al\u0131\u015fma Modlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor&#8217;\u0131n temel yap\u0131 ta\u015f\u0131 profillerdir. Her profil, belirli bir uygulaman\u0131n veya servisin sistem kaynaklar\u0131na nas\u0131l eri\u015febilece\u011fini tan\u0131mlayan bir kurallar setidir. Bu profiller, iki ana modda \u00e7al\u0131\u015fabilir.<\/p>\n<h4>Enforce (Zorlama) Modu<\/h4>\n<p>Bu, AppArmor&#8217;\u0131n varsay\u0131lan ve \u00fcretim ortamlar\u0131 i\u00e7in \u00f6nerilen \u00e7al\u0131\u015fma modudur. Bir profil &#8220;enforce&#8221; modundayken, tan\u0131mlanan kurallara uymayan her t\u00fcrl\u00fc eylem (\u00f6rne\u011fin, bir uygulaman\u0131n izin verilmeyen bir dizine yazmaya \u00e7al\u0131\u015fmas\u0131) aktif olarak engellenir ve bu deneme sistem loglar\u0131na kaydedilir. Bu mod, g\u00fcvenlik politikalar\u0131n\u0131 zorunlu k\u0131larak sisteminizi korur.<\/p>\n<h4>Complain (\u015eikayet) Modu<\/h4>\n<p>Bu mod, profil geli\u015ftirme ve test etme a\u015famalar\u0131 i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bir profil &#8220;complain&#8221; modundayken, AppArmor kural ihlallerini engellemez. Bunun yerine, uygulaman\u0131n kural d\u0131\u015f\u0131 eylemi ger\u00e7ekle\u015ftirmesine izin verir ancak bu eylemi ayr\u0131nt\u0131l\u0131 bir \u015fekilde loglar. Bu loglar, bir uygulaman\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in hangi izinlere ihtiya\u00e7 duydu\u011funu anlamak ve profili buna g\u00f6re d\u00fczenlemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Temel-AppArmor-Komutlari-aa-status-aa-enforce-aa-complain\"><\/span>Temel AppArmor Komutlar\u0131 (`aa-status`, `aa-enforce`, `aa-complain`)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor y\u00f6netimini kolayla\u015ft\u0131ran birka\u00e7 temel komut bulunmaktad\u0131r:<\/p>\n<ul>\n<li><b>aa-status<\/b>: Yukar\u0131da belirtildi\u011fi gibi, AppArmor&#8217;\u0131n genel durumunu ve profillerin modlar\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><b>aa-enforce<\/b>: Belirtilen bir profili veya t\u00fcm profilleri &#8220;enforce&#8221; moduna ge\u00e7irir. \u00d6rne\u011fin, Nginx profilini zorlama moduna almak i\u00e7in: <code>sudo aa-enforce \/etc\/apparmor.d\/usr.sbin.nginx<\/code><\/li>\n<li><b>aa-complain<\/b>: Belirtilen bir profili veya t\u00fcm profilleri &#8220;complain&#8221; moduna ge\u00e7irir. Bu, bir uygulaman\u0131n neden d\u00fczg\u00fcn \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 anlamak i\u00e7in sorun giderme amac\u0131yla kullan\u0131l\u0131r: <code>sudo aa-complain \/etc\/apparmor.d\/usr.sbin.nginx<\/code><\/li>\n<\/ul>\n<p>Bu temel komutlar, AppArmor&#8217;\u0131n g\u00fcnl\u00fck y\u00f6netimi ve profil modlar\u0131n\u0131n kontrol\u00fc i\u00e7in yeterlidir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"AppArmor-Profillerinin-Olusturulmasi-ve-Yonetilmesi\"><\/span>AppArmor Profillerinin Olu\u015fturulmas\u0131 ve Y\u00f6netilmesi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AppArmor&#8217;\u0131n g\u00fcc\u00fc, uygulamalar\u0131n davran\u0131\u015flar\u0131n\u0131 k\u0131s\u0131tlayan profillerden gelir. Bu profillerin nas\u0131l yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 anlamak, yeni profiller olu\u015fturmak ve mevcut olanlar\u0131 y\u00f6netmek, AppArmor&#8217;\u0131 etkin bir \u015fekilde kullanman\u0131n anahtar\u0131d\u0131r. Neyse ki, AppArmor bu s\u00fcreci otomatikle\u015ftiren ve basitle\u015ftiren ara\u00e7lar sunar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"AppArmor-Profil-Yapisini-Anlama\"><\/span>AppArmor Profil Yap\u0131s\u0131n\u0131 Anlama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor profilleri, `\/etc\/apparmor.d\/` dizininde bulunan basit metin dosyalar\u0131d\u0131r. Dosya adlar\u0131 genellikle korunacak uygulaman\u0131n tam yolundaki `\/` karakterlerinin `.` ile de\u011fi\u015ftirilmesiyle olu\u015fturulur (\u00f6rne\u011fin, `\/usr\/sbin\/nginx` i\u00e7in `usr.sbin.nginx`).<\/p>\n<h4>Profil S\u00f6zdizimi ve Kurallar (Dosya \u0130zinleri, A\u011f Kurallar\u0131, Yetenekler)<\/h4>\n<p>Bir profilin temel yap\u0131s\u0131 \u015f\u00f6yledir:<\/p>\n<p><code>#include &lt;tunables\/global&gt;<\/code><br \/>\n<code>\/usr\/sbin\/some-application flags=(complain) {<\/code><br \/>\n<code> # Dosya Eri\u015fim Kurallar\u0131<\/code><br \/>\n<code> \/var\/log\/some-application.log w,<\/code><br \/>\n<code> \/var\/www\/html\/ r,<\/code><br \/>\n<code> \/var\/www\/html\/** rk,<\/code><\/p>\n<p><code> # A\u011f Kurallar\u0131<\/code><br \/>\n<code> network tcp,<\/code><\/p>\n<p><code> # Yetenekler<\/code><br \/>\n<code> capability net_bind_service,<\/code><br \/>\n<code>}<\/code><\/p>\n<ul>\n<li><b>Dosya \u0130zinleri<\/b>: Bir yoldan sonra gelen harflerle belirtilir. En yayg\u0131n olanlar: <b>r<\/b> (okuma), <b>w<\/b> (yazma), <b>x<\/b> (\u00e7al\u0131\u015ft\u0131rma), <b>l<\/b> (link olu\u015fturma), <b>k<\/b> (kilitleme), <b>m<\/b> (belle\u011fe e\u015fleyerek \u00e7al\u0131\u015ft\u0131rma). <code>**<\/code> bir dizindeki t\u00fcm dosya ve alt dizinleri ifade eder.<\/li>\n<li><b>A\u011f Kurallar\u0131<\/b>: `network` anahtar kelimesi ile tan\u0131mlan\u0131r. `network tcp,` gibi kurallar, uygulaman\u0131n TCP soketleri olu\u015fturmas\u0131na izin verir.<\/li>\n<li><b>Yetenekler (Capabilities)<\/b>: `capability` anahtar kelimesi, uygulaman\u0131n root yetkilerine ihtiya\u00e7 duymadan belirli ayr\u0131cal\u0131kl\u0131 i\u015flemleri yapmas\u0131na izin veren Linux yeteneklerini kontrol eder.<\/li>\n<\/ul>\n<h4>Include Direktifleri ve De\u011fi\u015fkenler (Abstractions)<\/h4>\n<p>Profilleri basitle\u015ftirmek ve tekrar\u0131 \u00f6nlemek i\u00e7in AppArmor, `#include` direktifini kullan\u0131r. `\/etc\/apparmor.d\/abstractions\/` dizini, `networking`, `base`, `nameservice` gibi s\u0131k kullan\u0131lan kural setlerini i\u00e7eren dosyalar bar\u0131nd\u0131r\u0131r. Profilinize `#include <abstractions\/base>` sat\u0131r\u0131n\u0131 ekleyerek, bir\u00e7ok temel sistem dosyas\u0131na okuma izni gibi standart kurallar\u0131 kolayca dahil edebilirsiniz. Bu, profilleri daha temiz ve y\u00f6netilebilir hale getirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yeni-Bir-Uygulama-Icin-Otomatik-Profil-Olusturma-aa-genprof-Araci\"><\/span>Yeni Bir Uygulama \u0130\u00e7in Otomatik Profil Olu\u015fturma: `aa-genprof` Arac\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>S\u0131f\u0131rdan bir profil yazmak yerine, `aa-genprof` arac\u0131 ile bu s\u00fcreci otomatikle\u015ftirebilirsiniz. Bu ara\u00e7, uygulamay\u0131 &#8220;complain&#8221; moduna al\u0131r, siz uygulamay\u0131 normal \u015fekilde kullan\u0131rken arka planda loglar\u0131 dinler ve ard\u0131ndan bu loglara dayanarak bir profil tasla\u011f\u0131 olu\u015fturur.<\/p>\n<ol>\n<li><b>Profil Olu\u015fturmay\u0131 Ba\u015flatma<\/b>: Terminalde `sudo aa-genprof \/path\/to\/uygulama` komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/li>\n<li><b>Uygulamay\u0131 Kullanma<\/b>: \u0130kinci bir terminal a\u00e7\u0131n ve profillemek istedi\u011finiz uygulaman\u0131n t\u00fcm i\u015flevlerini test edin (dosya okuma, yazma, a\u011f ba\u011flant\u0131s\u0131 vb.).<\/li>\n<li><b>Loglar\u0131 Tarama ve Kural Olu\u015fturma<\/b>: `aa-genprof`&#8217;un \u00e7al\u0131\u015ft\u0131\u011f\u0131 terminale d\u00f6n\u00fcn ve &#8216;S&#8217; (Scan) tu\u015funa bas\u0131n. Ara\u00e7, loglarda tespit etti\u011fi her eylem i\u00e7in size ne yapman\u0131z gerekti\u011fini soracakt\u0131r: (A)llow (\u0130zin Ver), (D)eny (Reddet), (I)gnore (Yoksay).<\/li>\n<li><b>Bitirme<\/b>: T\u00fcm eylemleri de\u011ferlendirdikten sonra &#8216;F&#8217; (Finish) tu\u015funa basarak profili kaydedin. Olu\u015fturulan profil &#8220;enforce&#8221; modunda etkinle\u015ftirilecektir.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Mevcut-Profilleri-Sistem-Loglari-ile-Guncelleme-aa-logprof-Araci\"><\/span>Mevcut Profilleri Sistem Loglar\u0131 ile G\u00fcncelleme: `aa-logprof` Arac\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir uygulama g\u00fcncellendi\u011finde veya yeni bir \u00f6zellik eklendi\u011finde, mevcut AppArmor profili yetersiz kalabilir. `aa-logprof` arac\u0131, sistem loglar\u0131n\u0131 (`dmesg`, `audit.log`) tarayarak AppArmor taraf\u0131ndan engellenen (enforce modu) veya \u015fikayet edilen (complain modu) eylemleri bulur. T\u0131pk\u0131 `aa-genprof` gibi, bu eylemleri size interaktif olarak sunar ve mevcut profile ekleyip eklemeyece\u011finize karar vermenizi sa\u011flar. Bu, profilleri g\u00fcncel tutman\u0131n en verimli yoludur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Profilleri-Manuel-Olarak-Duzenleme-ve-Ince-Ayar-Yapma\"><\/span>Profilleri Manuel Olarak D\u00fczenleme ve \u0130nce Ayar Yapma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Otomatik ara\u00e7lar harika olsa da, bazen bir profilde manuel de\u011fi\u015fiklikler yapmak gerekebilir. Profiller `\/etc\/apparmor.d\/` dizininde bulunan metin dosyalar\u0131 oldu\u011fu i\u00e7in, `nano` veya `vim` gibi bir metin d\u00fczenleyici ile kolayca a\u00e7\u0131l\u0131p d\u00fczenlenebilirler. De\u011fi\u015fiklik yapt\u0131ktan sonra, profili yeniden y\u00fcklemek i\u00e7in \u015fu komutu kullanmal\u0131s\u0131n\u0131z:<\/p>\n<p><code>sudo apparmor_parser -r \/etc\/apparmor.d\/path.to.profile<\/code><\/p>\n<p>Manuel d\u00fczenleme, \u00f6zellikle karma\u015f\u0131k izinler veya belirli a\u011f kurallar\u0131 eklerken gereklidir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hazir-Profillerin-Kullanimi-ve-Yonetimi\"><\/span>Haz\u0131r Profillerin Kullan\u0131m\u0131 ve Y\u00f6netimi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir\u00e7ok pop\u00fcler sunucu yaz\u0131l\u0131m\u0131 (Apache, Nginx, MySQL vb.) i\u00e7in paket y\u00f6neticisiyle birlikte haz\u0131r AppArmor profilleri gelir. Bu profiller genellikle `\/etc\/apparmor.d\/` dizinine y\u00fcklenir ancak varsay\u0131lan olarak devre d\u0131\u015f\u0131 b\u0131rak\u0131lm\u0131\u015f olabilirler. `aa-status` komutuyla durumlar\u0131n\u0131 kontrol edebilir ve `aa-enforce` veya `aa-complain` komutlar\u0131yla istedi\u011finiz moda alabilirsiniz. Haz\u0131r profiller, h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 i\u00e7in m\u00fckemmel bir temel sa\u011flar ve genellikle sadece k\u00fc\u00e7\u00fck ince ayarlar gerektirir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Pratik-Uygulamalar-Servislerin-AppArmor-ile-Guclendirilmesi\"><\/span>Pratik Uygulamalar: Servislerin AppArmor ile G\u00fc\u00e7lendirilmesi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Teorik bilgileri prati\u011fe d\u00f6kmek, AppArmor&#8217;\u0131n ger\u00e7ek d\u00fcnyadaki faydalar\u0131n\u0131 anlaman\u0131n en iyi yoludur. Yayg\u0131n olarak kullan\u0131lan sunucu servislerini AppArmor profilleriyle korumak, olas\u0131 g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n etkisini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r ve sunucu altyap\u0131s\u0131n\u0131 daha diren\u00e7li hale getirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ornek-Senaryo-1-ApacheNginx-Web-Sunucusunu-Guvenli-Hale-Getirme\"><\/span>\u00d6rnek Senaryo 1: Apache\/Nginx Web Sunucusunu G\u00fcvenli Hale Getirme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Web sunucular\u0131, internete do\u011frudan a\u00e7\u0131k olduklar\u0131 i\u00e7in en \u00f6nemli sald\u0131r\u0131 hedeflerindendir. Bir web sunucusu i\u00e7in olu\u015fturulmu\u015f AppArmor profili, \u015fu t\u00fcr k\u0131s\u0131tlamalar getirmelidir:<\/p>\n<ul>\n<li>Sadece `\/var\/www\/html` gibi belirli dizinlerden dosya okumas\u0131na izin verilmeli.<\/li>\n<li>`\/tmp` veya `\/var\/tmp` gibi ge\u00e7ici dizinlere dosya yazma yetkisi s\u0131n\u0131rland\u0131r\u0131lmal\u0131, hatta engellenmeli.<\/li>\n<li>Sadece `http` (80) ve `https` (443) portlar\u0131n\u0131 dinlemesine izin verilmeli.<\/li>\n<li>`\/bin\/bash` gibi kabuk programlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmas\u0131 engellenerek &#8220;web shell&#8221; sald\u0131r\u0131lar\u0131n\u0131n \u00f6n\u00fcne ge\u00e7ilmeli.<\/li>\n<li>Veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in sadece belirli soket dosyalar\u0131na veya a\u011f portlar\u0131na eri\u015fimine izin verilmeli.<\/li>\n<\/ul>\n<p>Bu kurallar, web sitenizdeki bir zafiyet (\u00f6rne\u011fin, bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/headless-wordpress-nedir\/\" target=\"_blank\">Headless WordPress<\/a> eklentisindeki bir a\u00e7\u0131k) s\u00f6m\u00fcr\u00fclse bile, sald\u0131rgan\u0131n web sunucusu s\u00fcreci \u00fczerinden sisteme s\u0131zmas\u0131n\u0131 veya komut \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 engeller.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ornek-Senaryo-2-MariaDBMySQL-Veritabani-Erisimini-Kisitlama\"><\/span>\u00d6rnek Senaryo 2: MariaDB\/MySQL Veritaban\u0131 Eri\u015fimini K\u0131s\u0131tlama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Veritaban\u0131 sunucular\u0131, de\u011ferli verileri bar\u0131nd\u0131rd\u0131\u011f\u0131 i\u00e7in kritik \u00f6neme sahiptir. AppArmor, veritaban\u0131 g\u00fcvenli\u011fini dosya sistemi seviyesinde g\u00fc\u00e7lendirir. \u0130yi bir MySQL\/MariaDB profili \u015funlar\u0131 yapmal\u0131d\u0131r:<\/p>\n<ul>\n<li>Sadece `\/var\/lib\/mysql` gibi kendi veri dizinine okuma\/yazma izni vermeli.<\/li>\n<li>`\/etc\/mysql\/my.cnf` gibi kendi yap\u0131land\u0131rma dosyalar\u0131n\u0131 okumas\u0131na izin vermeli.<\/li>\n<li>Log dosyalar\u0131n\u0131 yazabilece\u011fi belirli yollar\u0131 (`\/var\/log\/mysql\/`) tan\u0131mlamal\u0131.<\/li>\n<li>Veritaban\u0131 motorunun, sistemdeki di\u011fer dosyalara (\u00f6rne\u011fin `\/etc\/passwd`) eri\u015fimini tamamen engellemeli.<\/li>\n<\/ul>\n<p>Bu, SQL Injection gibi bir sald\u0131r\u0131 ba\u015far\u0131l\u0131 olsa bile, sald\u0131rgan\u0131n veritaban\u0131 s\u00fcreci arac\u0131l\u0131\u011f\u0131yla sunucunun dosya sistemini okumas\u0131n\u0131 veya de\u011fi\u015ftirmesini imkans\u0131z hale getirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ornek-Senaryo-3-PostfixDovecot-E-Posta-Sunucusunu-Koruma\"><\/span>\u00d6rnek Senaryo 3: Postfix\/Dovecot E-Posta Sunucusunu Koruma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>E-posta sunucular\u0131, spam ve kimlik av\u0131 sald\u0131r\u0131lar\u0131n\u0131n yay\u0131lmas\u0131 i\u00e7in kullan\u0131labilir. Postfix (SMTP) ve Dovecot (IMAP\/POP3) i\u00e7in AppArmor profilleri, bu servislerin yaln\u0131zca kendi g\u00f6revleri i\u00e7in gerekli olan i\u015flemleri yapmas\u0131n\u0131 sa\u011flar:<\/p>\n<ul>\n<li>Postfix&#8217;in sadece posta kuyru\u011fu dizinlerine (`\/var\/spool\/postfix`) yazmas\u0131na izin verilir.<\/li>\n<li>Dovecot&#8217;un sadece kullan\u0131c\u0131 posta kutular\u0131n\u0131n bulundu\u011fu dizinlere (`\/var\/mail` veya benzeri) eri\u015fmesi sa\u011flan\u0131r.<\/li>\n<li>Bu servislerin beklenmedik programlar\u0131 \u00e7al\u0131\u015ft\u0131rmas\u0131 veya sistem dosyalar\u0131n\u0131 de\u011fi\u015ftirmesi engellenir.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Ornek-Senaryo-4-Konteyner-Guvenliginde-AppArmor-Kullanimi-DockerLXC\"><\/span>\u00d6rnek Senaryo 4: Konteyner G\u00fcvenli\u011finde AppArmor Kullan\u0131m\u0131 (Docker\/LXC)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Konteyner teknolojileri, uygulamalar\u0131 izole etse de, \u00e7ekirdek (kernel) payla\u015f\u0131ld\u0131\u011f\u0131 i\u00e7in &#8220;konteynerden ka\u00e7\u0131\u015f&#8221; zafiyetleri bir risk olu\u015fturur. AppArmor, bu riski azaltmak i\u00e7in ek bir g\u00fcvenlik katman\u0131 sunar. Docker, her bir konteyner i\u00e7in varsay\u0131lan bir AppArmor profili ile \u00e7al\u0131\u015fabilir. Bu profil, konteyner i\u00e7indeki s\u00fcre\u00e7lerin yapabileceklerini s\u0131n\u0131rlar. \u00d6rne\u011fin, konteynerin ana makinedeki (host) `\/proc` veya `\/sys` gibi hassas sanal dosya sistemlerine yazmas\u0131n\u0131 engelleyebilir. Her bir konteyner veya pod i\u00e7in \u00f6zel AppArmor profilleri olu\u015fturarak, belirli bir uygulaman\u0131n ihtiya\u00e7 duymad\u0131\u011f\u0131 sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 (syscalls) ve dosya eri\u015fimlerini engelleyebilir, b\u00f6ylece konteyner g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilirsiniz.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Ileri-Seviye-AppArmor-Konulari-ve-Sorun-Giderme\"><\/span>\u0130leri Seviye AppArmor Konular\u0131 ve Sorun Giderme<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Temel profil olu\u015fturma ve y\u00f6netiminin \u00f6tesinde, AppArmor daha gran\u00fcler kontrol sa\u011flayan geli\u015fmi\u015f \u00f6zellikler sunar. Bu \u00f6zelliklere hakim olmak ve olas\u0131 sorunlar\u0131 nas\u0131l giderece\u011fini bilmek, AppArmor&#8217;\u0131 bir g\u00fcvenlik uzman\u0131 gibi kullanman\u0131z\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ag-Erisim-Kurallarinin-Detaylandirilmasi-TCP-UDP-Raw-Soketler\"><\/span>A\u011f Eri\u015fim Kurallar\u0131n\u0131n Detayland\u0131r\u0131lmas\u0131 (TCP, UDP, Raw Soketler)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Basit bir `network,` kural\u0131 uygulamaya t\u00fcm a\u011f ailelerine (TCP, UDP vb.) eri\u015fim izni verir. Ancak daha g\u00fcvenli bir yakla\u015f\u0131m, sadece gerekli olan protokol\u00fc belirtmektir. Bu, &#8220;en az ayr\u0131cal\u0131k&#8221; ilkesini a\u011f seviyesinde uygulamakt\u0131r.<\/p>\n<ul>\n<li><b><code>network tcp,<\/code><\/b>: Sadece TCP tabanl\u0131 a\u011f ileti\u015fimine izin verir (\u00f6rne\u011fin, bir web sunucusu).<\/li>\n<li><b><code>network udp,<\/code><\/b>: Sadece UDP tabanl\u0131 ileti\u015fime izin verir (\u00f6rne\u011fin, bir DNS veya NTP servisi).<\/li>\n<li><b><code>network raw,<\/code><\/b>: `ping` gibi ICMP paketleri g\u00f6nderen uygulamalar i\u00e7in gerekli olan ham soket eri\u015fimine izin verir.<\/li>\n<\/ul>\n<p>Hatta belirli portlara ba\u011flanma veya dinleme gibi daha spesifik kurallar da tan\u0131mlanabilir, ancak bu genellikle daha karma\u015f\u0131k profil y\u00f6netimi gerektirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yetenekler-Capabilities-ile-Ayricaliklarin-Yonetimi\"><\/span>Yetenekler (Capabilities) ile Ayr\u0131cal\u0131klar\u0131n Y\u00f6netimi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Geleneksel Linux modelinde, bir\u00e7ok ayr\u0131cal\u0131kl\u0131 i\u015flem (\u00f6rne\u011fin, 1024&#8217;ten k\u00fc\u00e7\u00fck bir porta ba\u011flanmak) tam `root` yetkisi gerektirir. Linux Yetenekleri (Capabilities), bu `root` yetkisini daha k\u00fc\u00e7\u00fck, ba\u011f\u0131ms\u0131z birimlere b\u00f6ler. AppArmor, bir uygulaman\u0131n hangi yetenekleri kullanabilece\u011fini kontrol edebilir.<\/p>\n<p>\u00d6rne\u011fin, bir web sunucusunun 80. porta ba\u011flanmas\u0131 i\u00e7in tam `root` olmas\u0131na gerek yoktur; sadece `capability net_bind_service,` yetene\u011fine ihtiyac\u0131 vard\u0131r. Profillerinize bu t\u00fcr spesifik yetenek kurallar\u0131 ekleyerek, uygulamalar\u0131n\u0131z\u0131 daha d\u00fc\u015f\u00fck ayr\u0131cal\u0131kl\u0131 kullan\u0131c\u0131larla \u00e7al\u0131\u015ft\u0131rabilir ve g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirebilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"AppArmor-Loglarini-Anlama-ve-Analiz-Etme-dmesg-auditd\"><\/span>AppArmor Loglar\u0131n\u0131 Anlama ve Analiz Etme (`dmesg`, `auditd`)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Sorun gidermenin en \u00f6nemli ad\u0131m\u0131, loglar\u0131 do\u011fru okumakt\u0131r. AppArmor, kural ihlallerini sistemin loglama altyap\u0131s\u0131na g\u00f6nderir. Bu loglar\u0131 genellikle \u015fu komutlarla veya dosyalarda bulabilirsiniz:<\/p>\n<ul>\n<li><b><code>dmesg | grep -i apparmor<\/code><\/b>: \u00c7ekirdek mesajlar\u0131n\u0131 filtreleyerek AppArmor olaylar\u0131n\u0131 g\u00f6sterir.<\/li>\n<li><b><code>\/var\/log\/audit\/audit.log<\/code><\/b>: E\u011fer `auditd` servisi \u00e7al\u0131\u015f\u0131yorsa, en ayr\u0131nt\u0131l\u0131 loglar burada bulunur.<\/li>\n<li><b><code>\/var\/log\/syslog<\/code> veya <code>\/var\/log\/messages<\/code><\/b>: `auditd` kurulu de\u011filse, loglar genellikle bu dosyalara yaz\u0131l\u0131r.<\/li>\n<\/ul>\n<p>Bir log sat\u0131r\u0131 genellikle \u015fu bilgileri i\u00e7erir:<\/p>\n<p><code>type=AVC msg=audit(167...): apparmor=\"DENIED\" operation=\"open\" profile=\"\/usr\/sbin\/nginx\" name=\"\/etc\/shadow\" pid=1234 comm=\"nginx\" requested_mask=\"r\" denied_mask=\"r\" fsuid=33 ouid=0<\/code><\/p>\n<ul>\n<li><b>apparmor=&#8221;DENIED&#8221;<\/b>: Eylemin engellendi\u011fini g\u00f6sterir. &#8220;ALLOWED&#8221; (e\u011fer loglama a\u00e7\u0131ksa) veya &#8220;COMPLAIN&#8221; olabilir.<\/li>\n<li><b>operation=&#8221;open&#8221;<\/b>: Ger\u00e7ekle\u015ftirilmeye \u00e7al\u0131\u015f\u0131lan i\u015flem (dosya a\u00e7ma).<\/li>\n<li><b>profile=&#8221;&#8230;&#8221;<\/b>: \u0130\u015flemi ger\u00e7ekle\u015ftirmeye \u00e7al\u0131\u015fan s\u00fcrecin hangi profile tabi oldu\u011fu.<\/li>\n<li><b>name=&#8221;&#8230;&#8221;<\/b>: Eri\u015filmeye \u00e7al\u0131\u015f\u0131lan kayna\u011f\u0131n (dosyan\u0131n) yolu.<\/li>\n<li><b>comm=&#8221;&#8230;&#8221;<\/b>: S\u00fcrecin komut ad\u0131.<\/li>\n<li><b>requested_mask=&#8221;r&#8221;<\/b>: Talep edilen izin (okuma).<\/li>\n<\/ul>\n<p>Bu bilgileri analiz ederek, bir uygulaman\u0131n neden \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 ve profilin hangi kural\u0131n\u0131n g\u00fcncellenmesi gerekti\u011fini kolayca anlayabilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Sik-Karsilasilan-AppArmor-Hatalarini-Tanimlama-ve-Cozme\"><\/span>S\u0131k Kar\u015f\u0131la\u015f\u0131lan AppArmor Hatalar\u0131n\u0131 Tan\u0131mlama ve \u00c7\u00f6zme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>Sorun<\/th>\n<th>Olas\u0131 Neden<\/th>\n<th>\u00c7\u00f6z\u00fcm Y\u00f6ntemi<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Uygulama &#8220;Permission Denied&#8221; hatas\u0131 veriyor.<\/strong><\/td>\n<td>AppArmor profili, uygulaman\u0131n ihtiya\u00e7 duydu\u011fu bir dosyaya veya kayna\u011fa eri\u015fimini engelliyor.<\/td>\n<td>1. `sudo aa-complain \/path\/to\/profile` ile profili \u015fikayet moduna al\u0131n. <br \/>2. Uygulamay\u0131 tekrar \u00e7al\u0131\u015ft\u0131r\u0131p hatay\u0131 yeniden olu\u015fturun. <br \/>3. `sudo aa-logprof` \u00e7al\u0131\u015ft\u0131rarak eksik izinleri interaktif olarak profile ekleyin. <br \/>4. `sudo aa-enforce \/path\/to\/profile` ile profili tekrar zorlama moduna al\u0131n.<\/td>\n<\/tr>\n<tr>\n<td><strong>Servis ba\u015flat\u0131lam\u0131yor (systemd\/init).<\/strong><\/td>\n<td>Servisin ba\u015flatma beti\u011finin ihtiya\u00e7 duydu\u011fu bir kayna\u011fa (PID dosyas\u0131, soket dosyas\u0131 vb.) eri\u015fim izni yok.<\/td>\n<td>Yukar\u0131daki &#8220;Permission Denied&#8221; \u00e7\u00f6z\u00fcm ad\u0131mlar\u0131n\u0131 izleyin. \u00d6zellikle PID dosyas\u0131 yazma ve soket olu\u015fturma izinlerini kontrol edin.<\/td>\n<\/tr>\n<tr>\n<td><strong>Uygulama g\u00fcncellemesi sonras\u0131 hatalar ba\u015flad\u0131.<\/strong><\/td>\n<td>Uygulaman\u0131n yeni s\u00fcr\u00fcm\u00fc, eski profilin kapsamad\u0131\u011f\u0131 yeni dosya yollar\u0131 veya yetenekler kullan\u0131yor.<\/td>\n<td>Yine `aa-complain` ve `aa-logprof` ikilisini kullanarak profili g\u00fcncelleyin. Uygulaman\u0131n de\u011fi\u015fiklik notlar\u0131n\u0131 (changelog) incelemek de faydal\u0131 olabilir.<\/td>\n<\/tr>\n<tr>\n<td><strong>Loglarda hi\u00e7bir \u015fey g\u00f6r\u00fcnm\u00fcyor.<\/strong><\/td>\n<td>AppArmor loglamas\u0131 d\u00fczg\u00fcn \u00e7al\u0131\u015fm\u0131yor olabilir veya ilgili profil y\u00fckl\u00fc olmayabilir.<\/td>\n<td>1. `aa-status` ile profilin y\u00fckl\u00fc ve do\u011fru modda oldu\u011fundan emin olun. <br \/>2. `auditd` servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin (`systemctl status auditd`).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"AppArmor-ile-Guvenlik-Stratejisi-Icin-En-Iyi-Uygulamalar\"><\/span>AppArmor ile G\u00fcvenlik Stratejisi \u0130\u00e7in En \u0130yi Uygulamalar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AppArmor&#8217;\u0131 sadece kurmak yeterli de\u011fildir; onu s\u00fcrd\u00fcr\u00fclebilir bir g\u00fcvenlik stratejisinin par\u00e7as\u0131 haline getirmek gerekir. A\u015fa\u011f\u0131daki en iyi uygulamalar, AppArmor&#8217;dan en y\u00fcksek verimi alman\u0131z\u0131 ve sunucular\u0131n\u0131z\u0131 uzun vadede g\u00fcvende tutman\u0131z\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E2%80%9CEn-Az-Ayricalik%E2%80%9D-Least-Privilege-Prensibini-Uygulama\"><\/span>&#8220;En Az Ayr\u0131cal\u0131k&#8221; (Least Privilege) Prensibini Uygulama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu, siber g\u00fcvenli\u011fin temel prensiplerinden biridir ve AppArmor&#8217;\u0131n varolu\u015f nedenidir. Bir uygulama profili olu\u015ftururken veya d\u00fczenlerken kendinize s\u00fcrekli \u015fu soruyu sorun: &#8220;Bu uygulaman\u0131n bu izne ger\u00e7ekten ihtiyac\u0131 var m\u0131?&#8221; Uygulamalara sadece i\u015flevlerini yerine getirmek i\u00e7in kesinlikle gerekli olan minimum dosya, a\u011f ve yetenek eri\u015fimini verin. \u00d6rne\u011fin, bir uygulaman\u0131n t\u00fcm dosya sistemini okumas\u0131na izin vermek yerine (`\/** r,`), sadece ihtiya\u00e7 duydu\u011fu belirli dizinlere (`\/var\/www\/ r,`, `\/etc\/app\/config.ini r,`) izin verin.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Gelistirme-ve-Test-Sureclerinde-%E2%80%9CComplain%E2%80%9D-Modunu-Etkin-Kullanma\"><\/span>Geli\u015ftirme ve Test S\u00fcre\u00e7lerinde &#8220;Complain&#8221; Modunu Etkin Kullanma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>&#8220;Enforce&#8221; modu \u00fcretim ortamlar\u0131 i\u00e7indir, ancak geli\u015ftirme, test veya haz\u0131rl\u0131k (staging) ortamlar\u0131nda &#8220;complain&#8221; modu en iyi dostunuzdur. Yeni bir uygulama da\u011f\u0131t\u0131rken veya mevcut bir uygulamay\u0131 g\u00fcncellerken, ilgili profili \u00f6nce &#8220;complain&#8221; moduna al\u0131n. Bu, uygulaman\u0131n i\u015flevselli\u011fini bozmadan t\u00fcm kural ihlallerini loglaman\u0131z\u0131 sa\u011flar. Kapsaml\u0131 testlerden sonra, `aa-logprof` ile loglar\u0131 analiz edip profili son haline getirin ve ancak o zaman \u00fcretimde &#8220;enforce&#8221; moduna ge\u00e7in. Bu yakla\u015f\u0131m, canl\u0131 sistemlerde beklenmedik servis kesintilerini \u00f6nler.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Profil-Degisikliklerinin-Duzenli-Olarak-Denetlenmesi-ve-Surum-Kontrolu\"><\/span>Profil De\u011fi\u015fikliklerinin D\u00fczenli Olarak Denetlenmesi ve S\u00fcr\u00fcm Kontrol\u00fc<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>AppArmor profilleri, g\u00fcvenlik politikan\u0131z\u0131n kodlanm\u0131\u015f halidir. Bu nedenle, onlara kod gibi davranmal\u0131s\u0131n\u0131z. `\/etc\/apparmor.d\/` dizinini bir Git deposu olarak ba\u015flatmak harika bir pratiktir. Bu sayede:<\/p>\n<ul>\n<li>Profiller \u00fczerinde yap\u0131lan her de\u011fi\u015fikli\u011fi kimin, ne zaman ve neden yapt\u0131\u011f\u0131n\u0131 takip edebilirsiniz.<\/li>\n<li>Sorunlu bir de\u011fi\u015fikli\u011fi kolayca geri alabilirsiniz.<\/li>\n<li>Yeni kurallar\u0131 eklemeden \u00f6nce &#8220;pull request&#8221; veya benzeri bir g\u00f6zden ge\u00e7irme s\u00fcreci i\u015fletebilirsiniz.<\/li>\n<li>T\u00fcm <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/\" target=\"_blank\">sunucu<\/a> altyap\u0131n\u0131zdaki profil yap\u0131land\u0131rmas\u0131n\u0131 merkezi olarak y\u00f6netebilirsiniz.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Sistem-Guncellemeleri-Sonrasi-Profillerin-Gozden-Gecirilmesi\"><\/span>Sistem G\u00fcncellemeleri Sonras\u0131 Profillerin G\u00f6zden Ge\u00e7irilmesi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir i\u015fletim sistemi veya uygulama paketi g\u00fcncellendi\u011finde, dosya yollar\u0131 de\u011fi\u015febilir, yeni ba\u011f\u0131ml\u0131l\u0131klar eklenebilir veya uygulaman\u0131n \u00e7al\u0131\u015fma \u015fekli de\u011fi\u015febilir. Bu durum, mevcut AppArmor profillerinin art\u0131k ge\u00e7erli olmamas\u0131na ve uygulaman\u0131n hatal\u0131 \u00e7al\u0131\u015fmas\u0131na neden olabilir. Bu nedenle, her `apt upgrade` veya `yum update` gibi b\u00fcy\u00fck g\u00fcncelleme i\u015fleminden sonra, kritik servislerin profillerini g\u00f6zden ge\u00e7irmek \u00f6nemlidir. `aa-status` ile t\u00fcm profillerin y\u00fckl\u00fc oldu\u011fundan emin olun ve uygulama loglar\u0131n\u0131 kontrol ederek herhangi bir &#8220;permission denied&#8221; hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 izleyin. Gerekirse, profilleri g\u00fcncellemek i\u00e7in `aa-logprof` arac\u0131n\u0131 kullan\u0131n.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Guvenli-ve-Yonetimli-Linux-Sunucu-Hizmetleri-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\"><\/span>G\u00fcvenli ve Y\u00f6netimli Linux Sunucu Hizmetleri \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AppArmor gibi g\u00fc\u00e7l\u00fc g\u00fcvenlik ara\u00e7lar\u0131n\u0131 yap\u0131land\u0131rmak ve y\u00f6netmek uzmanl\u0131k gerektirir. Sunucu g\u00fcvenli\u011fi, sadece yaz\u0131l\u0131m kurmaktan ibaret de\u011fildir; s\u00fcrekli izleme, proaktif y\u00f6netim ve uzman m\u00fcdahalesi gerektiren dinamik bir s\u00fcre\u00e7tir. T\u00fcrkiye&#8217;nin en iyi <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vps-server.html\" target=\"_blank\">VPS<\/a> sa\u011flay\u0131c\u0131lar\u0131ndan biri olarak \u0130HS Telekom, bu karma\u015f\u0131k s\u00fcre\u00e7leri sizin i\u00e7in y\u00f6neterek i\u015finize odaklanman\u0131z\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"AppArmor-Konfigurasyonunda-Uzman-Teknik-Destek\"><\/span>AppArmor Konfig\u00fcrasyonunda Uzman Teknik Destek<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0130HS Telekom&#8217;un deneyimli Linux sistem y\u00f6neticileri, AppArmor ve di\u011fer g\u00fcvenlik katmanlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131 konusunda derin bir bilgi birikimine sahiptir. Uygulamalar\u0131n\u0131z i\u00e7in \u00f6zel profillerin olu\u015fturulmas\u0131, mevcut profillerin optimize edilmesi ve olas\u0131 sorunlar\u0131n giderilmesi konular\u0131nda size profesyonel destek sunar\u0131z. G\u00fcvenlik yap\u0131land\u0131rmas\u0131n\u0131 uzman ellere b\u0131rakarak, sunucular\u0131n\u0131z\u0131n &#8220;en az ayr\u0131cal\u0131k&#8221; prensibine g\u00f6re en g\u00fcvenli \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olabilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Proaktif-Guvenlik-Izleme-ve-Yonetim-Hizmetleri\"><\/span>Proaktif G\u00fcvenlik \u0130zleme ve Y\u00f6netim Hizmetleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>G\u00fcvenlik, tek seferlik bir kurulum de\u011fildir. \u0130HS Telekom, y\u00f6netimli <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vds-sunucu.html\" target=\"_blank\">VDS<\/a> ve sunucu hizmetleri kapsam\u0131nda sistemlerinizi 7\/24 izler. AppArmor loglar\u0131 da dahil olmak \u00fczere t\u00fcm g\u00fcvenlik g\u00fcnl\u00fcklerini s\u00fcrekli analiz eder, anormal aktiviteleri tespit eder ve potansiyel tehditlere kar\u015f\u0131 proaktif olarak m\u00fcdahale ederiz. Bu sayede, g\u00fcvenlik a\u00e7\u0131klar\u0131 sald\u0131rganlar taraf\u0131ndan istismar edilmeden \u00f6nce \u00f6nlem al\u0131n\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yuksek-Performansli-ve-Guvenilir-Sunucu-Altyapisi\"><\/span>Y\u00fcksek Performansl\u0131 ve G\u00fcvenilir Sunucu Altyap\u0131s\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>G\u00fcvenlik yaz\u0131l\u0131mlar\u0131n\u0131n performansa etkisi minimum d\u00fczeyde olmal\u0131d\u0131r. \u0130HS Telekom, en son nesil donan\u0131mlar ve optimize edilmi\u015f a\u011f altyap\u0131s\u0131 ile y\u00fcksek performansl\u0131 bir <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/\" target=\"_blank\">hosting<\/a> ortam\u0131 sunar. AppArmor gibi \u00e7ekirdek seviyesindeki g\u00fcvenlik mekanizmalar\u0131n\u0131n, sunucunuzun performans\u0131n\u0131 olumsuz etkilemeden sorunsuz bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011fl\u0131yoruz. Ayr\u0131ca, g\u00fcvenilir altyap\u0131m\u0131z sayesinde servislerinizin kesintisizli\u011fi garanti alt\u0131ndad\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ihtiyaclariniza-Ozel-Esnek-Guvenlik-Cozumleri\"><\/span>\u0130htiya\u00e7lar\u0131n\u0131za \u00d6zel Esnek G\u00fcvenlik \u00c7\u00f6z\u00fcmleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Her i\u015fletmenin ve uygulaman\u0131n g\u00fcvenlik ihtiyac\u0131 farkl\u0131d\u0131r. Standart bir <a href=\"https:\/\/www.ihs.com.tr\/ssl\/\" target=\"_blank\">SSL sertifikas\u0131<\/a> korumas\u0131ndan, \u00e7ok katmanl\u0131 ve \u00f6zel AppArmor profilleri ile g\u00fc\u00e7lendirilmi\u015f karma\u015f\u0131k yap\u0131lara kadar geni\u015f bir yelpazede g\u00fcvenlik \u00e7\u00f6z\u00fcmleri sunuyoruz. \u0130htiya\u00e7lar\u0131n\u0131z\u0131 analiz ederek size en uygun g\u00fcvenlik stratejisini belirliyor ve bu stratejiyi sunucu altyap\u0131n\u0131zda titizlikle uyguluyoruz. \u0130HS Telekom ile hem esnek hem de g\u00fc\u00e7l\u00fc bir g\u00fcvenlik altyap\u0131s\u0131na sahip olursunuz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linux sunucularda g\u00fcvenlik, katmanl\u0131 bir savunma mekanizmas\u0131 gerektirir. Geleneksel dosya izinlerinin \u00f6tesine ge\u00e7erek, uygulamalar\u0131n beklenmedik davran\u0131\u015flar sergilemesini proaktif olarak engelleyen sistemler, siber&hellip;<\/p>\n","protected":false},"author":3,"featured_media":16437,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[414],"tags":[],"class_list":["post-16436","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sunucu"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/16436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=16436"}],"version-history":[{"count":1,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/16436\/revisions"}],"predecessor-version":[{"id":16438,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/16436\/revisions\/16438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media\/16437"}],"wp:attachment":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=16436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=16436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=16436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}