منبع اصلی نوشتار زیر در این لینک قرار دارد

کنترل بر روی لاگین های ssh نا موفق با pam_tally2 در CentOS 6.x

در مطلب “اعمال سیاست های پسورد در لینوکس” چگونگی امن کردن پسورد ها گفته شد. ssh پروتکلی است که به کاربران لینوکسی اجازه دسترسی از راه دور را به خط فرمان ماشین لینوکسی می دهد، از این رو برای ایجاد سطح امنیتی لازم، بر روی تعداد دفعه هایی که کاربر ورود ناموفق دارد، کنترل داشته باشیم. به طور مثال اگر کاربری سه بار سعی در ورود ناموفق داشت، می بایست تا 30 دقیقه نتواند از طریق ssh به سیستم وارد شود.

برای این منظور از ماژول PAM به نام pam_tally2 استفاده می کنیم. این ماژول دارای دو مولفه، فایل pam_tally2.so و دستورpam_tally است که فایل pam_tally2.so کتابخانه مورد استفاده برای کنترل بر روی ورود های ناموفق و دستور pam_tally2 دستوری است که گزارشی از ورود های ناموفق را به ازای هر کاربر نشان می دهد.

 پیش از تنظیم ماژول فایل log مربوط به ورود کاربران و خطوط مربوط به ورود های نا موفق ssh را بررسی می کنیم. فرض کنید کاربری از روی ماشین 192.168.1.2 قصد اتصال به ماشین لینوکسی به آدرس 192.168.1.3 و با حساب و نام کاربری خود را دارد. (در اینجا نام کاربری amirnami است). اگر پسورد خود را اشتباه وارد کند؛ خطوط شکل زیر به عنوان log به فایل var/log/secure/ وارد می شود.

ssh_pam1

همانطور که در شکل بالا می بینید کاربر amirnami از ماشین 192.168.1.2 و از پورت 52607 قصد ورود به سیستم لینوکسی را داشته است. در شکل زیر زمانی که اولین ارتباط میان ماشین 192.168.1.2 و از روی پورت 52607 به ماشین لینوکسی به آدرس 192.168.1.3 و نام linuxsrv1.falearn بر قرار می شود را نشان می دهد.

ssh_pam2

این مطلب در RHLE 6.x / CentOS 6.x انجام شده و برای تنظیم این کنترل امنیتی بر روی تعداد ورود های ناموفق می بایست دو فایل زیر ویرایش شوند.

vi /etc/pam.d/system-auth

vi /etc/pam.d/password-auth

خط زیر را در هر دو فایل و در ابتدای بخش auth وارد کنید.

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1800

  • file : فایل و مسیر فایلی که log ها در آن ثبت خواهند شد.
  • deny : تعداد ورودی های ناموفق را تعیین می کند.
  • even_deny_root : تعیین می کند که حساب کاربری root هم در صورت تکرار ورود های ناموفق، بلاک خواهد شد.
  • unlock_time : مدت زمانی به ثانیه که پس از گذشت آن، حساب کاربری از حالت بلوکه در می آید.

در خط بالا پس از سه بار ورود ناموفق، حساب کاربری به مدت 1800 ثانیه یا 30 دقیقه بلوکه می شود. همچنین خط زیر را در هر دوفایل و در بخش account هر دو فایل وارد کنید.

account     required      pam_tally2.so

شکل زیر خطوط وارد شده به اولین فایل و دومین شکل خطوط وارد شده به دومین فایل را نشان می دهد.

ssh_pam3

ssh_pam4

 شکل زیر سه بار ورود ناموفق و در نهایت پیغام برای سعی در ورود چهارم را خواهید دید.

ssh_pam5

دستور pam_tally2 فهرست کاربرانی که سعی در ورود ناموفق را به ماشین داشته است، را به همراه تعداد ورود های ناموفق و مبدا ماشین ورودی را نشان می دهد.

pam_tally2 -u amirnami

ssh_pam6

برای خارج کردن کاربر از حالت بلاک، از سوییچ reset– استفاده کنید. همانطور که در شکل زیر می بینید، پس از reset کردن، تعداد ورود های ناموفق صفر خواهد شد.

ssh_pam7



برچسب ها : , , , ,