{"id":32263,"date":"2025-10-19T16:41:11","date_gmt":"2025-10-19T13:41:11","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32263"},"modified":"2025-10-19T16:41:11","modified_gmt":"2025-10-19T13:41:11","slug":"ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/","title":{"rendered":"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>Bir Ubuntu 12.04 VPS (Sanal \u00d6zel Sunucu) y\u00f6netirken, sistem g\u00fcvenli\u011fi en kritik \u00f6nceliklerden biridir. Kullan\u0131c\u0131lar\u0131n sisteme eri\u015fimini kontrol etmek, \u015fifre politikalar\u0131n\u0131 uygulamak ve yetkisiz eri\u015fimi engellemek, sunucunuzun b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumak i\u00e7in hayati \u00f6neme sahiptir. Bu ba\u011flamda, Linux sistemlerinde Pluggable Authentication Modules (PAM), kimlik do\u011frulama s\u00fcre\u00e7lerini esnek ve mod\u00fcler bir \u015fekilde y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7er\u00e7eve sunar. PAM, sistem y\u00f6neticilerine, \u00e7e\u015fitli kimlik do\u011frulama mekanizmalar\u0131n\u0131 (yerel \u015fifreler, LDAP, Kerberos, iki fakt\u00f6rl\u00fc kimlik do\u011frulama vb.) kolayca entegre etme ve yap\u0131land\u0131rma imkan\u0131 tan\u0131r.<\/p>\n<p>Bu makale, Ubuntu 12.04 VPS ortam\u0131nda PAM&#8217;in temel prensiplerini, mimarisini ve pratik uygulamalar\u0131n\u0131 derinlemesine inceleyecektir. PAM&#8217;i kullanarak SSH eri\u015fimini g\u00fc\u00e7lendirmek, \u015fifre politikalar\u0131n\u0131 uygulamak, sudo yetkilendirmesini y\u00f6netmek ve genel sistem g\u00fcvenli\u011fini art\u0131rmak i\u00e7in ad\u0131m ad\u0131m yap\u0131land\u0131rma \u00f6rnekleri sunaca\u011f\u0131z. Amac\u0131m\u0131z, PAM&#8217;in karma\u015f\u0131k yap\u0131s\u0131n\u0131 anla\u015f\u0131l\u0131r k\u0131lmak ve sunucular\u0131n\u0131 daha g\u00fcvenli hale getirmek isteyen sistem y\u00f6neticilerine kapsaml\u0131 bir rehber sa\u011flamakt\u0131r. Ubuntu 12.04 her ne kadar eski bir s\u00fcr\u00fcm olsa da, PAM&#8217;in temel \u00e7al\u0131\u015fma prensipleri ve yap\u0131land\u0131rma mant\u0131\u011f\u0131 g\u00fcncel s\u00fcr\u00fcmlerle b\u00fcy\u00fck \u00f6l\u00e7\u00fcde benzerlik g\u00f6sterir ve bu makaledeki bilgiler, PAM&#8217;in genel anlay\u0131\u015f\u0131 i\u00e7in sa\u011flam bir temel olu\u015fturacakt\u0131r.<\/p>\n<h2>PAM&#8217;in Temel Kavramlar\u0131<\/h2>\n<p>PAM, Linux ve di\u011fer Unix benzeri i\u015fletim sistemlerinde kimlik do\u011frulama s\u00fcre\u00e7lerini standartla\u015ft\u0131rmak ve esnekle\u015ftirmek i\u00e7in tasarlanm\u0131\u015f bir yap\u0131d\u0131r. Geleneksel olarak, her uygulama (login, sshd, su vb.) kendi kimlik do\u011frulama mekanizmas\u0131n\u0131 i\u00e7eriyordu. Bu durum, yeni bir kimlik do\u011frulama y\u00f6ntemi eklemek veya mevcut olan\u0131 de\u011fi\u015ftirmek istendi\u011finde her uygulamay\u0131 ayr\u0131 ayr\u0131 g\u00fcncellemek anlam\u0131na geliyordu. PAM bu sorunu, kimlik do\u011frulama mant\u0131\u011f\u0131n\u0131 uygulamalardan ay\u0131rarak ve mod\u00fcler bir yap\u0131ya d\u00f6n\u00fc\u015ft\u00fcrerek \u00e7\u00f6zer.<\/p>\n<h3>PAM&#8217;in Mimarisi<\/h3>\n<p>PAM mimarisi \u00fc\u00e7 ana bile\u015fenden olu\u015fur:<br \/>\n*   <strong>Uygulama (Servis):<\/strong> <code>login<\/code>, <code>sshd<\/code>, <code>sudo<\/code>, <code>ftp<\/code> gibi kullan\u0131c\u0131 kimlik do\u011frulamas\u0131 gerektiren herhangi bir program. Bu uygulamalar, do\u011frudan kimlik do\u011frulama mant\u0131\u011f\u0131n\u0131 i\u00e7ermek yerine, PAM k\u00fct\u00fcphanesini \u00e7a\u011f\u0131r\u0131r.<br \/>\n*   <strong>PAM K\u00fct\u00fcphanesi (<code>libpam.so<\/code>):<\/strong> Uygulama ile PAM mod\u00fclleri aras\u0131ndaki aray\u00fcz\u00fc sa\u011flar. Uygulamadan gelen kimlik do\u011frulama isteklerini al\u0131r ve bunlar\u0131 yap\u0131land\u0131rma dosyalar\u0131nda belirtilen PAM mod\u00fcllerine y\u00f6nlendirir.<br \/>\n*   <strong>PAM Mod\u00fclleri (<code>.so<\/code> uzant\u0131l\u0131 dinamik k\u00fct\u00fcphaneler):<\/strong> Ger\u00e7ek kimlik do\u011frulama, hesap y\u00f6netimi, \u015fifre y\u00f6netimi ve oturum y\u00f6netimi i\u015flevlerini yerine getiren ba\u011f\u0131ms\u0131z bile\u015fenlerdir. \u00d6rnek olarak <code>pam_unix.so<\/code> (yerel Unix \u015fifreleri i\u00e7in), <code>pam_ldap.so<\/code> (LDAP sunucular\u0131 i\u00e7in), <code>pam_tally2.so<\/code> (ba\u015far\u0131s\u0131z giri\u015f denemelerini saymak i\u00e7in) verilebilir.<br \/>\n*   <strong>PAM Yap\u0131land\u0131rma Dosyalar\u0131 (<code>\/etc\/pam.d\/<\/code>):<\/strong> Her servis i\u00e7in PAM k\u00fct\u00fcphanesinin hangi mod\u00fclleri hangi s\u0131rayla ve hangi kontrol bayraklar\u0131yla kullanaca\u011f\u0131n\u0131 tan\u0131mlayan dosyalard\u0131r.<\/p>\n<h3>PAM Mod\u00fcl Tipleri<\/h3>\n<p>PAM, kimlik do\u011frulama s\u00fcrecini d\u00f6rt farkl\u0131 y\u00f6netim grubuna ay\u0131r\u0131r. Her mod\u00fcl bir veya daha fazla tipe ait olabilir:<br \/>\n*   <strong><code>auth<\/code> (Kimlik Do\u011frulama):<\/strong> Kullan\u0131c\u0131n\u0131n kimli\u011fini do\u011frulamakla (kullan\u0131c\u0131 ad\u0131\/\u015fifre kontrol\u00fc gibi) ve yetki vermeyi (kullan\u0131c\u0131n\u0131n belirli bir servise eri\u015fim izni olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek gibi) ilgilenir. \u00d6rne\u011fin, bir kullan\u0131c\u0131n\u0131n do\u011fru \u015fifreyi girip girmedi\u011fini kontrol eder.<br \/>\n<em>   <strong><code>account<\/code> (Hesap Y\u00f6netimi):<\/strong> Kullan\u0131c\u0131n\u0131n hesab\u0131n\u0131n ge\u00e7erli olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. \u00d6rne\u011fin, hesab\u0131n s\u00fcresi dolmu\u015f mu, kullan\u0131c\u0131 belirli bir saatte giri\u015f yapabilir mi, belirli bir grupta m\u0131 gibi kontrolleri yapar. Kimlik do\u011frulamas\u0131ndan <\/em>\u00f6nce<em> veya <\/em>sonra* \u00e7al\u0131\u015fabilir.<br \/>\n*   <strong><code>password<\/code> (\u015eifre Y\u00f6netimi):<\/strong> Kullan\u0131c\u0131 \u015fifresini de\u011fi\u015ftirmek istedi\u011finde veya \u015fifre politikalar\u0131n\u0131 uygulamak i\u00e7in kullan\u0131l\u0131r. Yeni \u015fifrenin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131, tekrar kullan\u0131lmayan \u015fifreleri zorunlu k\u0131lmak gibi i\u015flevleri vard\u0131r.<br \/>\n*   <strong><code>session<\/code> (Oturum Y\u00f6netimi):<\/strong> Kullan\u0131c\u0131 sisteme giri\u015f yapmadan \u00f6nce ve \u00e7\u0131kt\u0131ktan sonra ger\u00e7ekle\u015ftirilecek eylemleri tan\u0131mlar. \u00d6rne\u011fin, kullan\u0131c\u0131n\u0131n ev dizinini ba\u011flamak, ortam de\u011fi\u015fkenlerini ayarlamak veya kaynak limitlerini uygulamak gibi g\u00f6revleri yerine getirir.<\/p>\n<h3>Kontrol Bayraklar\u0131<\/h3>\n<p>PAM yap\u0131land\u0131rma dosyalar\u0131ndaki her sat\u0131r, bir mod\u00fcl\u00fcn nas\u0131l davranaca\u011f\u0131n\u0131 belirten bir kontrol bayra\u011f\u0131 i\u00e7erir. Bu bayraklar, mod\u00fcl\u00fcn ba\u015far\u0131l\u0131 veya ba\u015far\u0131s\u0131z olmas\u0131 durumunda PAM y\u0131\u011f\u0131n\u0131n\u0131n nas\u0131l devam edece\u011fini belirler:<br \/>\n*   <strong><code>required<\/code>:<\/strong> Bu mod\u00fcl\u00fcn ba\u015far\u0131l\u0131 olmas\u0131 zorunludur. E\u011fer mod\u00fcl ba\u015far\u0131s\u0131z olursa, PAM y\u0131\u011f\u0131n\u0131n\u0131n geri kalan\u0131 yine de \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r, ancak kimlik do\u011frulama i\u015flemi sonunda ba\u015far\u0131s\u0131z kabul edilir. Bu, bir sald\u0131rgan\u0131n hangi mod\u00fcl\u00fcn ba\u015far\u0131s\u0131z oldu\u011funu anlamas\u0131n\u0131 zorla\u015ft\u0131r\u0131r.<br \/>\n<em>   <strong><code>requisite<\/code>:<\/strong> Bu mod\u00fcl\u00fcn ba\u015far\u0131l\u0131 olmas\u0131 zorunludur. E\u011fer mod\u00fcl ba\u015far\u0131s\u0131z olursa, PAM y\u0131\u011f\u0131n\u0131n\u0131n geri kalan\u0131 <\/em>\u00e7al\u0131\u015ft\u0131r\u0131lmaz* ve kimlik do\u011frulama i\u015flemi hemen ba\u015far\u0131s\u0131z ilan edilir. Bu, performans\u0131 art\u0131rabilir ancak sald\u0131rganlara daha fazla bilgi verebilir.<br \/>\n*   <strong><code>sufficient<\/code>:<\/strong> E\u011fer bu mod\u00fcl ba\u015far\u0131l\u0131 olursa ve daha \u00f6nceki <code>required<\/code> mod\u00fcller ba\u015far\u0131s\u0131z olmad\u0131ysa, PAM y\u0131\u011f\u0131n\u0131n\u0131n geri kalan\u0131 atlan\u0131r ve kimlik do\u011frulama i\u015flemi ba\u015far\u0131l\u0131 kabul edilir. Bu, \u00f6rne\u011fin bir kullan\u0131c\u0131n\u0131n yerel \u015fifresiyle veya bir LDAP sunucusuyla kimlik do\u011frulamas\u0131 yapabilmesini sa\u011flarken, birincil y\u00f6ntem ba\u015far\u0131l\u0131 olursa di\u011ferlerini atlamak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<br \/>\n*   <strong><code>optional<\/code>:<\/strong> Bu mod\u00fcl\u00fcn ba\u015far\u0131s\u0131 veya ba\u015far\u0131s\u0131zl\u0131\u011f\u0131, genel kimlik do\u011frulama s\u00fcrecini do\u011frudan etkilemez. Genellikle, ek bilgi toplamak veya ikincil i\u015flevleri yerine getirmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n<em>   <strong><code>include<\/code>:<\/strong> Belirli bir PAM yap\u0131land\u0131rma dosyas\u0131n\u0131 (genellikle <code>\/etc\/pam.d\/common-<\/em><\/code> dosyalar\u0131) bu noktada dahil eder. Bu, ortak yap\u0131land\u0131rma par\u00e7ac\u0131klar\u0131n\u0131 birden \u00e7ok serviste yeniden kullanmay\u0131 sa\u011flar.<br \/>\n*   <strong><code>substitute<\/code>:<\/strong> Daha az yayg\u0131n kullan\u0131lan bir kontrol bayra\u011f\u0131d\u0131r. Bir mod\u00fcl\u00fcn ba\u015far\u0131s\u0131z olmas\u0131 durumunda ba\u015fka bir mod\u00fcl\u00fcn kullan\u0131lmas\u0131n\u0131 sa\u011flar. Ubuntu 12.04&#8217;te nadiren kullan\u0131l\u0131r.<br \/>\n*   <strong><code>[success=... default=...]<\/code> (Stacked Control):<\/strong> Daha karma\u015f\u0131k bir kontrol mekanizmas\u0131d\u0131r. Mod\u00fcl\u00fcn ba\u015far\u0131l\u0131 veya ba\u015far\u0131s\u0131z olma durumuna g\u00f6re farkl\u0131 eylemlerin (\u00f6rne\u011fin, belirli bir sat\u0131ra atlamak veya genel sonucu ayarlamak) tan\u0131mlanmas\u0131na olanak tan\u0131r.<\/p>\n<h2>Ubuntu 12.04&#8217;te PAM Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Ubuntu 12.04&#8217;te PAM yap\u0131land\u0131rmas\u0131, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde di\u011fer modern Linux da\u011f\u0131t\u0131mlar\u0131yla benzerdir. Temel yap\u0131land\u0131rma dizini <code>\/etc\/pam.d\/<\/code>&#8216;dir.<\/p>\n<h3>Yap\u0131land\u0131rma Dosyalar\u0131<\/h3>\n<p>*   <strong><code>\/etc\/pam.d\/<\/code> Dizini:<\/strong> Bu dizin, her bir servis (\u00f6rne\u011fin <code>sshd<\/code>, <code>login<\/code>, <code>sudo<\/code>, <code>su<\/code>, <code>passwd<\/code>) i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 i\u00e7erir. Bir uygulama PAM k\u00fct\u00fcphanesini \u00e7a\u011f\u0131rd\u0131\u011f\u0131nda, k\u00fct\u00fcphane bu dizinde uygulaman\u0131n ad\u0131yla e\u015fle\u015fen bir dosya arar (\u00f6rne\u011fin, <code>sshd<\/code> i\u00e7in <code>\/etc\/pam.d\/sshd<\/code>).<br \/>\n*   <strong><code>\/etc\/pam.conf<\/code>:<\/strong> Bu dosya, eski PAM s\u00fcr\u00fcmlerinde t\u00fcm servislerin yap\u0131land\u0131rmas\u0131n\u0131 tek bir yerde tutmak i\u00e7in kullan\u0131l\u0131rd\u0131. Ancak modern sistemlerde (Ubuntu 12.04 dahil), <code>\/etc\/pam.d\/<\/code> dizini ve servis bazl\u0131 dosyalar tercih edilir. E\u011fer <code>\/etc\/pam.d\/<\/code> dizininde bir servis i\u00e7in \u00f6zel bir dosya yoksa, PAM <code>\/etc\/pam.conf<\/code>&#8216;a bakabilir, ancak bu nadir bir durumdur.<br \/>\n<em>   <strong><code>common-<\/em><\/code> Dosyalar\u0131:<\/strong> Ubuntu ve Debian tabanl\u0131 sistemlerde, bir\u00e7ok servis ortak yap\u0131land\u0131rma par\u00e7ac\u0131klar\u0131n\u0131 kullan\u0131r. Bu par\u00e7ac\u0131klar, <code>\/etc\/pam.d\/<\/code> dizininde <code>common-auth<\/code>, <code>common-account<\/code>, <code>common-password<\/code>, <code>common-session<\/code> gibi dosyalarda saklan\u0131r. Servis yap\u0131land\u0131rma dosyalar\u0131, bu ortak dosyalar\u0131 <code>include<\/code> kontrol bayra\u011f\u0131 ile \u00e7a\u011f\u0131r\u0131r. Bu, merkezi bir de\u011fi\u015fiklik yap\u0131ld\u0131\u011f\u0131nda bir\u00e7ok servisin etkilenmesini sa\u011flar.<br \/>\n    *   <code>common-auth<\/code>: Ortak kimlik do\u011frulama mod\u00fcllerini i\u00e7erir.<br \/>\n    *   <code>common-account<\/code>: Ortak hesap y\u00f6netimi mod\u00fcllerini i\u00e7erir.<br \/>\n    *   <code>common-password<\/code>: Ortak \u015fifre y\u00f6netimi mod\u00fcllerini i\u00e7erir.<br \/>\n    *   <code>common-session<\/code>: Ortak oturum y\u00f6netimi mod\u00fcllerini i\u00e7erir.<\/p>\n<h3>Ortak PAM Mod\u00fclleri<\/h3>\n<p>Ubuntu 12.04&#8217;te s\u0131k\u00e7a kullan\u0131lan baz\u0131 PAM mod\u00fclleri \u015funlard\u0131r:<br \/>\n*   <strong><code>pam_unix.so<\/code>:<\/strong> Geleneksel Unix \u015fifreleri (shadow dosyas\u0131) \u00fczerinden kimlik do\u011frulama, hesap ve \u015fifre y\u00f6netimi sa\u011flar. \u00c7o\u011fu sistemde temel kimlik do\u011frulama mod\u00fcl\u00fcd\u00fcr.<br \/>\n*   <strong><code>pam_cracklib.so<\/code>:<\/strong> \u015eifre karma\u015f\u0131kl\u0131\u011f\u0131 politikalar\u0131n\u0131 uygulamak i\u00e7in kullan\u0131l\u0131r. Yeni \u015fifrelerin minimum uzunluk, farkl\u0131 karakter tipleri (b\u00fcy\u00fck harf, k\u00fc\u00e7\u00fck harf, rakam, \u00f6zel karakter) i\u00e7ermesi gibi kurallar\u0131 zorunlu k\u0131lar. Ubuntu 12.04&#8217;te yayg\u0131n olarak kullan\u0131l\u0131rken, daha yeni s\u00fcr\u00fcmlerde <code>pam_pwquality.so<\/code> tercih edilebilir.<br \/>\n*   <strong><code>pam_limits.so<\/code>:<\/strong> <code>\/etc\/security\/limits.conf<\/code> dosyas\u0131nda tan\u0131mlanan kullan\u0131c\u0131 kaynak limitlerini (a\u00e7\u0131k dosya say\u0131s\u0131, bellek kullan\u0131m\u0131, CPU s\u00fcresi vb.) uygular.<br \/>\n*   <strong><code>pam_wheel.so<\/code>:<\/strong> Belirli bir &#8220;wheel&#8221; grubuna ait kullan\u0131c\u0131lar\u0131n <code>su<\/code> veya <code>sudo<\/code> gibi komutlar\u0131 kullanmas\u0131na izin vermek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>pam_succeed_if.so<\/code>:<\/strong> Belirli ko\u015fullar\u0131n (\u00f6rne\u011fin, kullan\u0131c\u0131n\u0131n belirli bir grupta olmas\u0131, belirli bir UID&#8217;ye sahip olmas\u0131) kar\u015f\u0131lan\u0131p kar\u015f\u0131lanmad\u0131\u011f\u0131n\u0131 kontrol eder ve buna g\u00f6re ba\u015far\u0131l\u0131 veya ba\u015far\u0131s\u0131z bir sonu\u00e7 d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <strong><code>pam_deny.so<\/code> \/ <code>pam_permit.so<\/code>:<\/strong> S\u0131ras\u0131yla her zaman ba\u015far\u0131s\u0131z olan veya her zaman ba\u015far\u0131l\u0131 olan basit mod\u00fcllerdir. Genellikle karma\u015f\u0131k mant\u0131klarda varsay\u0131lan durumlar\u0131 ayarlamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>pam_tally2.so<\/code>:<\/strong> Ba\u015far\u0131s\u0131z giri\u015f denemelerini sayar ve belirli bir limit a\u015f\u0131ld\u0131\u011f\u0131nda kullan\u0131c\u0131y\u0131 kilitler. Brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flamak i\u00e7in \u00e7ok etkilidir.<br \/>\n*   <strong><code>pam_access.so<\/code>:<\/strong> <code>\/etc\/security\/access.conf<\/code> dosyas\u0131nda tan\u0131mlanan kurallara g\u00f6re kullan\u0131c\u0131lar\u0131n belirli servis veya terminallere eri\u015fimini kontrol eder. IP adresine, kullan\u0131c\u0131 ad\u0131na veya grup ad\u0131na g\u00f6re eri\u015fim k\u0131s\u0131tlamalar\u0131 getirebilir.<br \/>\n*   <strong><code>pam_exec.so<\/code>:<\/strong> PAM y\u0131\u011f\u0131n\u0131n\u0131n belirli bir noktas\u0131nda harici bir komut veya betik \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h2>Pratik Uygulamalar ve Yap\u0131land\u0131rma \u00d6rnekleri<\/h2>\n<p>PAM&#8217;in g\u00fcc\u00fc, \u00e7e\u015fitli g\u00fcvenlik politikalar\u0131n\u0131 farkl\u0131 servisler i\u00e7in \u00f6zelle\u015ftirme yetene\u011finde yatar. \u0130\u015fte Ubuntu 12.04 VPS&#8217;inizde uygulayabilece\u011finiz baz\u0131 pratik \u00f6rnekler.<\/p>\n<h3>SSH Kimlik Do\u011frulamas\u0131n\u0131 G\u00fc\u00e7lendirme<\/h3>\n<p>SSH, VPS&#8217;inize uzaktan eri\u015fimin anahtar\u0131d\u0131r ve bu nedenle en \u00e7ok hedef al\u0131nan servislerden biridir. <code>\/etc\/pam.d\/sshd<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek SSH g\u00fcvenli\u011fini art\u0131rabiliriz.<\/p>\n<h4><code>pam_tally2.so<\/code> ile Brute-Force Korumas\u0131<\/h4>\n<p><code>pam_tally2.so<\/code> mod\u00fcl\u00fc, ba\u015far\u0131s\u0131z giri\u015f denemelerini izleyerek ve belirli bir limit a\u015f\u0131ld\u0131\u011f\u0131nda hesab\u0131 kilitleyerek brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/sshd<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/sshd<\/code><\/pre>\n<p>2.  Dosyan\u0131n ba\u015f\u0131na (veya <code>auth<\/code> y\u0131\u011f\u0131n\u0131n\u0131n uygun bir yerine) a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">auth    required        pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=600\n    auth    required        pam_unix.so<\/code><\/pre>\n<p>    *   <code>deny=5<\/code>: 5 ba\u015far\u0131s\u0131z giri\u015f denemesinden sonra hesab\u0131 kilitler.<br \/>\n    *   <code>unlock_time=300<\/code>: Hesap, 300 saniye (5 dakika) sonra otomatik olarak a\u00e7\u0131l\u0131r.<br \/>\n    *   <code>even_deny_root<\/code>: <code>root<\/code> kullan\u0131c\u0131s\u0131n\u0131n da kilitlenmesine izin verir.<br \/>\n    *   <code>root_unlock_time=600<\/code>: <code>root<\/code> hesab\u0131 i\u00e7in kilitlenme s\u00fcresi 600 saniye (10 dakika).<br \/>\n    <em>   <strong>\u00d6NEML\u0130:<\/strong> <code>pam_tally2.so<\/code> sat\u0131r\u0131, <code>pam_unix.so<\/code> (veya benzeri bir kimlik do\u011frulama mod\u00fcl\u00fc) sat\u0131r\u0131ndan <\/em>\u00f6nce* gelmelidir. E\u011fer <code>pam_unix.so<\/code> ba\u015far\u0131l\u0131 olursa, <code>pam_tally2.so<\/code> ba\u015far\u0131s\u0131z denemeyi kaydetmez.<br \/>\n    *   <strong>Alternatif olarak, <code>common-auth<\/code> dosyas\u0131na eklemek daha genel bir \u00e7\u00f6z\u00fcm olabilir:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/common-auth<\/code><\/pre>\n<p>        Bu dosyaya eklemek, t\u00fcm servisler i\u00e7in ge\u00e7erli olacakt\u0131r. Ancak SSH gibi kritik servisler i\u00e7in ayr\u0131 ayr\u0131 yap\u0131land\u0131rmak daha fazla kontrol sa\u011flar.<\/p>\n<p>3.  <strong>De\u011fi\u015fiklikleri kaydettikten sonra, SSH servisini yeniden ba\u015flatmaya gerek yoktur, \u00e7\u00fcnk\u00fc PAM de\u011fi\u015fiklikleri an\u0131nda ge\u00e7erlidir.<\/strong><br \/>\n4.  <strong>Kilitlenen bir hesab\u0131 manuel olarak a\u00e7mak i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-\">sudo pam_tally2 --user <kullan\u0131c\u0131_ad\u0131> --reset<\/code><\/pre>\n<p>5.  <strong>Ba\u015far\u0131s\u0131z giri\u015f denemelerini kontrol etmek i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-\">sudo pam_tally2 --user <kullan\u0131c\u0131_ad\u0131><\/code><\/pre>\n<h4><code>pam_access.so<\/code> ile IP Bazl\u0131 Eri\u015fim Kontrol\u00fc<\/h4>\n<p>Belirli IP adreslerinden veya a\u011flardan SSH eri\u015fimini k\u0131s\u0131tlamak i\u00e7in <code>pam_access.so<\/code> mod\u00fcl\u00fcn\u00fc kullanabilirsiniz.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/sshd<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/sshd<\/code><\/pre>\n<p>2.  <code>auth<\/code> y\u0131\u011f\u0131n\u0131n\u0131n uygun bir yerine a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">auth    required        pam_access.so<\/code><\/pre>\n<p>3.  <strong>Eri\u015fim kurallar\u0131n\u0131 tan\u0131mlamak i\u00e7in <code>\/etc\/security\/access.conf<\/code> dosyas\u0131n\u0131 olu\u015fturun veya d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/security\/access.conf<\/code><\/pre>\n<p>    \u00d6rnek kurallar:<\/p>\n<pre><code class=\"language-\"># Sadece 192.168.1.0\/24 a\u011f\u0131ndaki kullan\u0131c\u0131lara izin ver\n    + : ALL : 192.168.1.0\/24\n    # Root kullan\u0131c\u0131s\u0131n\u0131n sadece 192.168.1.100 adresinden eri\u015fmesine izin ver\n    + : root : 192.168.1.100\n    # Di\u011fer t\u00fcm kullan\u0131c\u0131lara ve IP adreslerine eri\u015fimi engelle\n    - : ALL : ALL<\/code><\/pre>\n<p>    Kurallar yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru okunur. \u0130lk e\u015fle\u015fen kural uygulan\u0131r. <code>+<\/code> izin verir, <code>-<\/code> engeller.<\/p>\n<h3>Sudo Yetkilendirmesini Y\u00f6netme<\/h3>\n<p><code>sudo<\/code> komutu, normal kullan\u0131c\u0131lar\u0131n belirli ayr\u0131cal\u0131kl\u0131 komutlar\u0131 <code>root<\/code> yetkileriyle \u00e7al\u0131\u015ft\u0131rmas\u0131na olanak tan\u0131r. <code>sudo<\/code> i\u00e7in PAM yap\u0131land\u0131rmas\u0131 genellikle <code>\/etc\/pam.d\/sudo<\/code> dosyas\u0131nda bulunur.<\/p>\n<h4><code>pam_wheel.so<\/code> ile Sudo K\u0131s\u0131tlamas\u0131<\/h4>\n<p><code>pam_wheel.so<\/code> mod\u00fcl\u00fc, sadece belirli bir grubun (geleneksel olarak &#8220;wheel&#8221; veya Ubuntu&#8217;da &#8220;sudo&#8221; grubu) <code>sudo<\/code> kullanmas\u0131na izin vermek i\u00e7in kullan\u0131labilir. Ubuntu&#8217;da varsay\u0131lan olarak <code>sudo<\/code> grubu zaten bu i\u015flevi yerine getirir, ancak PAM \u00fczerinden de kontrol edilebilir.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/sudo<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/sudo<\/code><\/pre>\n<p>2.  <code>auth<\/code> y\u0131\u011f\u0131n\u0131n\u0131n uygun bir yerine a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">auth    required        pam_wheel.so use_uid<\/code><\/pre>\n<p>    *   <code>use_uid<\/code>: <code>wheel<\/code> grubunun kontrol\u00fcn\u00fc kullan\u0131c\u0131 ID&#8217;si \u00fczerinden yapar.<br \/>\n    *   Varsay\u0131lan olarak <code>wheel<\/code> grubu kullan\u0131l\u0131r. Ubuntu&#8217;da <code>sudo<\/code> grubu i\u00e7in <code>group=sudo<\/code> se\u00e7ene\u011fini kullanabilirsiniz:<\/p>\n<pre><code class=\"language-\">auth    required        pam_wheel.so group=sudo use_uid<\/code><\/pre>\n<p>    Bu yap\u0131land\u0131rma, sadece <code>sudo<\/code> grubundaki kullan\u0131c\u0131lar\u0131n <code>sudo<\/code> komutunu kullanmas\u0131na izin verecektir.<\/p>\n<h3>\u015eifre Politikalar\u0131n\u0131 Uygulama<\/h3>\n<p>G\u00fc\u00e7l\u00fc \u015fifre politikalar\u0131, kullan\u0131c\u0131 hesaplar\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flaman\u0131n temelidir. PAM, \u015fifre de\u011fi\u015ftirme s\u00fcre\u00e7lerini y\u00f6netmek i\u00e7in <code>password<\/code> mod\u00fcl tipini kullan\u0131r. Ubuntu&#8217;da bu genellikle <code>\/etc\/pam.d\/common-password<\/code> dosyas\u0131nda yap\u0131land\u0131r\u0131l\u0131r.<\/p>\n<h4><code>pam_cracklib.so<\/code> ile \u015eifre Karma\u015f\u0131kl\u0131\u011f\u0131<\/h4>\n<p><code>pam_cracklib.so<\/code> mod\u00fcl\u00fc, yeni \u015fifrelerin belirli karma\u015f\u0131kl\u0131k gereksinimlerini kar\u015f\u0131lamas\u0131n\u0131 sa\u011flar.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/common-password<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/common-password<\/code><\/pre>\n<p>2.  <code>password<\/code> y\u0131\u011f\u0131n\u0131n\u0131n ba\u015f\u0131nda (genellikle <code>pam_unix.so<\/code>&#8216;dan \u00f6nce) a\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve d\u00fczenleyin veya ekleyin:<\/p>\n<pre><code class=\"language-\">password        requisite       pam_cracklib.so retry=3 minlen=10 difok=3 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 remember=5<\/code><\/pre>\n<p>    *   <code>retry=3<\/code>: Kullan\u0131c\u0131ya \u015fifre de\u011fi\u015ftirme s\u0131ras\u0131nda 3 deneme hakk\u0131 verir.<br \/>\n    *   <code>minlen=10<\/code>: Minimum \u015fifre uzunlu\u011funu 10 karakter olarak ayarlar.<br \/>\n    *   <code>difok=3<\/code>: Yeni \u015fifrenin eski \u015fifreden en az 3 karakter farkl\u0131 olmas\u0131n\u0131 gerektirir.<br \/>\n    *   <code>dcredit=-1<\/code>: \u015eifrede en az 1 rakam (<code>d<\/code>igit) olmas\u0131n\u0131 gerektirir. (Pozitif de\u011fer, o kadar rakam olmal\u0131, negatif de\u011fer en az o kadar olmal\u0131 demektir.)<br \/>\n    *   <code>ucredit=-1<\/code>: \u015eifrede en az 1 b\u00fcy\u00fck harf (<code>u<\/code>pper case) olmas\u0131n\u0131 gerektirir.<br \/>\n    *   <code>lcredit=-1<\/code>: \u015eifrede en az 1 k\u00fc\u00e7\u00fck harf (<code>l<\/code>ower case) olmas\u0131n\u0131 gerektirir.<br \/>\n    *   <code>ocredit=-1<\/code>: \u015eifrede en az 1 \u00f6zel karakter (<code>o<\/code>ther character) olmas\u0131n\u0131 gerektirir.<br \/>\n    *   <code>remember=5<\/code>: Son 5 \u015fifrenin tekrar kullan\u0131lmas\u0131na izin vermez. Bu se\u00e7ene\u011fi kullanmak i\u00e7in <code>pam_unix.so<\/code> sat\u0131r\u0131nda da <code>remember<\/code> se\u00e7ene\u011fi olmal\u0131d\u0131r.<\/p>\n<p>3.  Ayr\u0131ca, <code>pam_unix.so<\/code> sat\u0131r\u0131nda da <code>remember<\/code> se\u00e7ene\u011finin aktif oldu\u011fundan emin olun:<\/p>\n<pre><code class=\"language-\">password        sufficient      pam_unix.so obscure sha512 shadow remember=5<\/code><\/pre>\n<p>    Bu de\u011fi\u015fiklikler, kullan\u0131c\u0131lar\u0131n g\u00fc\u00e7l\u00fc \u015fifreler olu\u015fturmas\u0131n\u0131 ve \u015fifrelerini s\u0131k s\u0131k de\u011fi\u015ftirmemesini zorunlu k\u0131lar.<\/p>\n<h3>Oturum Y\u00f6netimi<\/h3>\n<p>PAM&#8217;in <code>session<\/code> mod\u00fclleri, kullan\u0131c\u0131lar\u0131n sisteme giri\u015f ve \u00e7\u0131k\u0131\u015flar\u0131nda belirli g\u00f6revleri yerine getirmesini sa\u011flar. Bu genellikle <code>\/etc\/pam.d\/common-session<\/code> dosyas\u0131nda yap\u0131land\u0131r\u0131l\u0131r.<\/p>\n<h4><code>pam_limits.so<\/code> ile Kaynak Limitleri<\/h4>\n<p><code>pam_limits.so<\/code> mod\u00fcl\u00fc, kullan\u0131c\u0131lar\u0131n sistem kaynaklar\u0131n\u0131 a\u015f\u0131r\u0131 kullanmas\u0131n\u0131 engellemek i\u00e7in limitler tan\u0131mlaman\u0131za olanak tan\u0131r.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/common-session<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/common-session<\/code><\/pre>\n<p>2.  Dosyan\u0131n sonlar\u0131na do\u011fru a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin veya kontrol edin:<\/p>\n<pre><code class=\"language-\">session required        pam_limits.so<\/code><\/pre>\n<p>3.  <strong>Kaynak limitlerini tan\u0131mlamak i\u00e7in <code>\/etc\/security\/limits.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/security\/limits.conf<\/code><\/pre>\n<p>    \u00d6rnek limitler:<\/p>\n<pre><code class=\"language-\"># Kullan\u0131c\u0131 \"user1\" i\u00e7in a\u00e7\u0131k dosya limitini 1024 olarak ayarla\n    user1           hard    nofile          1024\n    # \"developers\" grubu i\u00e7in maksimum i\u015flem say\u0131s\u0131n\u0131 500 olarak ayarla\n    @developers     hard    nproc           500\n    # T\u00fcm kullan\u0131c\u0131lar i\u00e7in yumu\u015fak bellek limitini 1GB olarak ayarla\n    *               soft    as              1G<\/code><\/pre>\n<p>    *   <code>hard<\/code>: Kullan\u0131c\u0131n\u0131n a\u015famayaca\u011f\u0131 mutlak limit.<br \/>\n    *   <code>soft<\/code>: Kullan\u0131c\u0131n\u0131n ba\u015flang\u0131\u00e7ta sahip oldu\u011fu limit, art\u0131r\u0131labilir (hard limite kadar).<br \/>\n    *   <code>nofile<\/code>: A\u00e7\u0131k dosya say\u0131s\u0131.<br \/>\n    *   <code>nproc<\/code>: \u0130\u015flem say\u0131s\u0131.<br \/>\n    *   <code>as<\/code>: Adres alan\u0131 (bellek).<br \/>\n    Bu limitler, bir kullan\u0131c\u0131n\u0131n veya uygulaman\u0131n t\u00fcm sistem kaynaklar\u0131n\u0131 t\u00fcketmesini engelleyerek VPS&#8217;inizin istikrar\u0131n\u0131 korumaya yard\u0131mc\u0131 olur.<\/p>\n<h4><code>pam_mkhomedir.so<\/code> ile Otomatik Ev Dizini Olu\u015fturma<\/h4>\n<p>Yeni bir kullan\u0131c\u0131 ilk kez giri\u015f yapt\u0131\u011f\u0131nda otomatik olarak ev dizini olu\u015fturmak i\u00e7in <code>pam_mkhomedir.so<\/code> mod\u00fcl\u00fcn\u00fc kullanabilirsiniz.<\/p>\n<p>1.  <strong><code>\/etc\/pam.d\/common-session<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><\/p>\n<pre><code class=\"language-\">sudo nano \/etc\/pam.d\/common-session<\/code><\/pre>\n<p>2.  A\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">session optional        pam_mkhomedir.so skel=\/etc\/skel umask=0022<\/code><\/pre>\n<p>    *   <code>skel=\/etc\/skel<\/code>: Ev dizini olu\u015fturulurken <code>\/etc\/skel<\/code> dizinindeki dosyalar\u0131 kopyalar.<br \/>\n    *   <code>umask=0022<\/code>: Yeni ev dizininin ve i\u00e7erdi\u011fi dosyalar\u0131n varsay\u0131lan izinlerini belirler.<\/p>\n<h2>Sorun Giderme ve En \u0130yi Uygulamalar<\/h2>\n<p>PAM yap\u0131land\u0131rmas\u0131 g\u00fc\u00e7l\u00fc ancak yanl\u0131\u015f yap\u0131ld\u0131\u011f\u0131nda sisteminize eri\u015fimi tamamen kaybetmenize neden olabilecek hassas bir aland\u0131r. Bu nedenle, dikkatli olmak ve belirli en iyi uygulamalar\u0131 takip etmek \u00e7ok \u00f6nemlidir.<\/p>\n<h3>Yedekleme<\/h3>\n<p>Herhangi bir PAM yap\u0131land\u0131rma dosyas\u0131n\u0131 de\u011fi\u015ftirmeden \u00f6nce daima orijinalini yedekleyin. Bu, bir hata yapman\u0131z durumunda kolayca geri d\u00f6nebilmenizi sa\u011flar.<\/p>\n<pre><code class=\"language-\">sudo cp \/etc\/pam.d\/sshd \/etc\/pam.d\/sshd.bak<\/code><\/pre>\n<h3>Test Etme<\/h3>\n<p>PAM yap\u0131land\u0131rmas\u0131nda de\u011fi\u015fiklikler yapt\u0131ktan sonra, mevcut SSH oturumunuzu a\u00e7\u0131k tutarak yeni bir terminalde veya konsolda de\u011fi\u015fiklikleri test edin. E\u011fer yeni oturumda giri\u015f yapabilirseniz, de\u011fi\u015fiklikler g\u00fcvenlidir. Aksi takdirde, mevcut oturumunuzdan geri d\u00f6nerek hatalar\u0131 d\u00fczeltebilirsiniz. Asla mevcut oturumunuzu kapatmadan veya yeni bir oturumda test etmeden de\u011fi\u015fiklikleri uygulamay\u0131n.<\/p>\n<h3><code>debug<\/code> ve <code>verbose<\/code> Se\u00e7enekleri<\/h3>\n<p>Sorun giderme s\u0131ras\u0131nda, PAM mod\u00fcllerine <code>debug<\/code> veya <code>verbose<\/code> se\u00e7eneklerini eklemek, <code>\/var\/log\/auth.log<\/code> veya <code>\/var\/log\/syslog<\/code> dosyalar\u0131na daha fazla bilgi yaz\u0131lmas\u0131n\u0131 sa\u011flar. Bu, hangi mod\u00fcl\u00fcn ba\u015far\u0131s\u0131z oldu\u011funu veya nedenini anlaman\u0131za yard\u0131mc\u0131 olabilir.<\/p>\n<pre><code class=\"language-\">auth    required        pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=600 debug<\/code><\/pre>\n<h3>PAM Y\u0131\u011f\u0131n\u0131n\u0131 Anlamak<\/h3>\n<p>PAM, yap\u0131land\u0131rma dosyas\u0131ndaki mod\u00fclleri yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru i\u015fler. Kontrol bayraklar\u0131 (required, requisite, sufficient vb.) bu ak\u0131\u015f\u0131 belirler. Bir mod\u00fcl\u00fcn s\u0131ras\u0131 veya kontrol bayra\u011f\u0131, t\u00fcm kimlik do\u011frulama s\u00fcrecinin sonucunu de\u011fi\u015ftirebilir. Y\u0131\u011f\u0131n\u0131 dikkatlice inceleyin ve her mod\u00fcl\u00fcn ne zaman ve neden \u00e7a\u011fr\u0131ld\u0131\u011f\u0131n\u0131 anlay\u0131n.<\/p>\n<h3><code>root<\/code> Eri\u015fimi<\/h3>\n<p><code>root<\/code> hesab\u0131n\u0131n kilitlenmemesi i\u00e7in \u00f6zellikle dikkatli olun. E\u011fer <code>root<\/code> eri\u015fimini k\u0131s\u0131tl\u0131yorsan\u0131z, her zaman alternatif bir <code>sudo<\/code> kullan\u0131c\u0131s\u0131n\u0131n veya kurtarma modunda eri\u015fiminizin oldu\u011fundan emin olun. <code>pam_tally2.so<\/code> gibi mod\u00fcllerde <code>even_deny_root<\/code> se\u00e7ene\u011fini kullan\u0131rken \u00e7ok dikkatli olun.<\/p>\n<h3>G\u00fcnl\u00fckleri \u0130zleme<\/h3>\n<p><code>\/var\/log\/auth.log<\/code> ve <code>\/var\/log\/syslog<\/code> dosyalar\u0131n\u0131 d\u00fczenli olarak kontrol edin. PAM ile ilgili t\u00fcm ba\u015far\u0131l\u0131 ve ba\u015far\u0131s\u0131z kimlik do\u011frulama denemeleri bu dosyalara kaydedilir. Bu g\u00fcnl\u00fckler, olas\u0131 g\u00fcvenlik ihlallerini veya yap\u0131land\u0131rma hatalar\u0131n\u0131 tespit etmek i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-\">tail -f \/var\/log\/auth.log<\/code><\/pre>\n<h3>Minimal De\u011fi\u015fiklikler<\/h3>\n<p>Bir seferde sadece bir de\u011fi\u015fiklik yap\u0131n ve her de\u011fi\u015fikli\u011fi test edin. Bu, sorunlar\u0131 izole etmeyi ve \u00e7\u00f6zmeyi kolayla\u015ft\u0131r\u0131r. \u00c7ok fazla de\u011fi\u015fikli\u011fi ayn\u0131 anda yapmak, sorunun kayna\u011f\u0131n\u0131 bulmay\u0131 zorla\u015ft\u0131rabilir.<\/p>\n<h3>Varsay\u0131lan PAM Yap\u0131land\u0131rmas\u0131n\u0131 Anlama<\/h3>\n<p>Ubuntu 12.04&#8217;\u00fcn varsay\u0131lan PAM yap\u0131land\u0131rmas\u0131 genellikle iyi d\u00fc\u015f\u00fcn\u00fclm\u00fc\u015f ve g\u00fcvenlidir. Kendi de\u011fi\u015fikliklerinizi yapmadan \u00f6nce, mevcut yap\u0131land\u0131rman\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamak, istenmeyen sonu\u00e7lardan ka\u00e7\u0131nman\u0131za yard\u0131mc\u0131 olacakt\u0131r. \u00d6zellikle <code>common-*<\/code> dosyalar\u0131n\u0131n nas\u0131l \u00e7a\u011fr\u0131ld\u0131\u011f\u0131n\u0131 ve hangi mod\u00fclleri i\u00e7erdi\u011fini anlamak \u00f6nemlidir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>PAM, Ubuntu 12.04 VPS&#8217;inizde kimlik do\u011frulama, hesap y\u00f6netimi, \u015fifre politikalar\u0131 ve oturum y\u00f6netimini yap\u0131land\u0131rmak i\u00e7in esnek ve g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu makalede ele al\u0131nan temel kavramlar, mod\u00fcl tipleri, kontrol bayraklar\u0131 ve pratik yap\u0131land\u0131rma \u00f6rnekleri, sistem y\u00f6neticilerine PAM&#8217;in sundu\u011fu geni\u015f imkanlar\u0131 g\u00f6stermi\u015ftir. SSH eri\u015fimini g\u00fc\u00e7lendirmek, brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korunmak, g\u00fc\u00e7l\u00fc \u015fifre politikalar\u0131 uygulamak ve kaynak limitlerini belirlemek gibi ad\u0131mlar, sunucunuzun genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<\/p>\n<p>PAM yap\u0131land\u0131rmas\u0131 hassas bir s\u00fcre\u00e7 oldu\u011fundan, her zaman yedekleme yapmay\u0131, de\u011fi\u015fiklikleri dikkatlice test etmeyi ve g\u00fcnl\u00fckleri d\u00fczenli olarak izlemeyi unutmay\u0131n. Do\u011fru uyguland\u0131\u011f\u0131nda, PAM sunucunuzun g\u00fcvenlik katman\u0131n\u0131 g\u00fc\u00e7lendirirken, kullan\u0131c\u0131 deneyimini de belirli politikalar dahilinde tutman\u0131za olanak tan\u0131r. Ubuntu 12.04 her ne kadar eski bir i\u015fletim sistemi olsa da, PAM&#8217;in temel prensipleri ve burada anlat\u0131lan mod\u00fcllerin \u00e7o\u011fu modern Linux sistemlerinde de benzer \u015fekilde \u00e7al\u0131\u015fmaktad\u0131r. Bu bilgi birikimi, gelecekteki sistem y\u00f6netimi g\u00f6revlerinizde de size yol g\u00f6sterecektir. VPS&#8217;inizi g\u00fcvende tutmak, s\u00fcrekli dikkat ve do\u011fru ara\u00e7lar\u0131n kullan\u0131m\u0131yla m\u00fcmk\u00fcnd\u00fcr ve PAM bu ara\u00e7lar\u0131n ba\u015f\u0131nda gelir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?\nGiri\u015f\nBir Ubuntu 12.04 VPS (Sanal \u00d6zel Sunucu) y\u00f6netirken","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":[1468],"tags":[],"class_list":{"0":"post-32263","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Ubuntu 12.04 VPS&#039;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? - 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\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 12.04 VPS&#039;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 12.04 VPS&#039;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? Giri\u015f Bir Ubuntu 12.04 VPS (Sanal \u00d6zel Sunucu) y\u00f6netirken\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-19T13:41:11+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?\",\"datePublished\":\"2025-10-19T13:41:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\"},\"wordCount\":3274,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\",\"name\":\"Ubuntu 12.04 VPS'te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-19T13:41:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?\"}]},{\"@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":"Ubuntu 12.04 VPS'te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? - 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\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 12.04 VPS'te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?","og_description":"Ubuntu 12.04 VPS'te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? Giri\u015f Bir Ubuntu 12.04 VPS (Sanal \u00d6zel Sunucu) y\u00f6netirken","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-19T13:41:11+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?","datePublished":"2025-10-19T13:41:11+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/"},"wordCount":3274,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/","name":"Ubuntu 12.04 VPS'te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-19T13:41:11+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-vpste-kimlik-dogrulamayi-yapilandirmak-icin-pam-nasil-kullanilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 12.04 VPS&#8217;te Kimlik Do\u011frulamay\u0131 Yap\u0131land\u0131rmak \u0130\u00e7in PAM Nas\u0131l Kullan\u0131l\u0131r?"}]},{"@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\/32263","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=32263"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32263\/revisions"}],"predecessor-version":[{"id":32264,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32263\/revisions\/32264"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}