امن کردن پورت 22 با پورت ناکینگ

امن کردن پورت 22 با پورت ناکینگ

لینوکس، امنیت، آموزشی

امن کردن پورت 22 با پورت ناکینگ

پورت ناکینگ Port Knocking در لغت به معنای کوبیدن یا ضربه زدن است و در اصطلاح فنی روشی برای افزودن داینامیک یک IP Address به مجموعه آدرس های مجاز برای مدت زمان مشخصی می باشد، به بیان دیگر، باز کردن پورت از راه دور بر روی فایروال بوسیله ایجاد کانکشن روی مجموعه ای از پورت های بسته که از پیش مشخص شده اند، می باشد.

راه اندازی این امکان بر روی سرور خود برای اعمال امنیت بیشتر بر روی پورت 22 یا هر پورت دیگر می باشد، وقتی سروری دارید و می خواهید از بستر اینترنت به آن دسترسی پیدا کنید می بایست مباحث امنیتی بسیاری را رعایت نمایید، یکی از این موارد می تواند امن کردن دسترسی به سرور باشد که البته Port Knockong می تواند گزینه مناسبی برای شما که سرور CentOS دارید باشد.

همه ما از مفهوم PortKnocking در زندگی روزمره خود استفاده کردیم. به عنوان مثال، ساعت 10 به منزل خود مراجعه می کنید و با n بار ضربه زدن به درب حیاط اعلام می کنید که یک فرد مجاز پشت درب است و می بایست درب منزل برای شما باز شود. ساعت رجوع و تعداد دفعات ضربه زدن و بازه زمانی، از قبل توسط شما تعیین شده است.

PortKnocking شبیه کوبیدن درب به صورت رمزی است و می تواند از پروتکل های TCP,UDP,SSH,ICMPو... یا ترکیبی از آنها در نوشتن Rule Port Knocking استفاده کنید.

در اینجا ارتباط SSH را با استفاده از این روش بر روی سروری که سیستم عامل Linux CentOS 6 داریم را ایمن کنیم.

مراحل زیر را با دسترسی root اجرا کنید:

نصب پیش نیازها:

کتابخانه libpcab را که بعنوان نیازمندی تکنیک پورت ناکینگ می باشد را نصب می کنیم.

yum install libpcap*

نصب پکیچ پورت ناکینگ:

ابتدا پکیچ را دانلود کرده و سپس بصورت آفلاین نصب می کنیم.

wget http://li.nux.ro/download/nux/misc/el6/i386/knock-server-0.5-7.el6.nux.i686.rpm
rpm -ivh knock-server-0.5-7.el6.nux.i686.rpm

قبل از تنظیم این پکیچ، باید همه اتصالات و دسترسی های مجاز مربوط به پورت 22 را از روی فایروال حذف کنیم.

iptables -A INPUT -p tcp --dport 22 -j DROP
service iptables save

نکته: توجه داشته باشید که با اجرای این دستور ارتباط فعلی شما با سرور قطع خواهد شد(پیشنهاد می شود خط دوم دستور را آخر کار اجرا کنید).

خب، اکنون باید فایل پیکربندی پورت ناکینگ را تنظیم می کنیم:

vi /etc/knockd.conf
[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 5040,6010,6500
seq_timeout = 30
tcpflags = syn
Start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
[closeSSH]
sequence = 4040,5050,8080
seq_timeout = 30
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

در تنظیمات فایل ما گفتیم با زدن پورت های 5040، 6010 و 6500 بصورت متوالی در عرض 30ثانیه پورت 22در فایروال باز خواهد شد. همچنین برای بستن پورت 22 باید پورتهای 4040، 5050 و 8080 بصورت متوالی و در عرض 30 ثانیه زده شود.

برای ذخیره فایل پیکربندی ابتدا دکمه esc را زده و سپس دستور :wq را می زنیم.

در آخر هم برای اجرای سرویس، دستور زیر را وارد می کنیم:

service knockd start

برای زدن پورتها می توانید از ابزار nmap استفاده کنید

برای باز کردن پورت 22:

nmap -p 5040 SERVER-IP
nmap -p 6010 SERVER-IP
nmap –p 6500 SERVER-IP

برای بستن پورت 22:

nmap -p 4040 SERVER-IP
nmap -p 5050 SERVER-IP
nmap -p 8080 SERVER-IP



امیدوارم این مطلب براتون مفید بوده باشه، سوالات خودتون رو در بخش نظرات بپرسید. شاد و پر انرژی باشید :)


بهینه سازی و کاهش حجم تصاویر با cwebp برای سئو
بهینه سازی و کاهش حجم تصاویر با cwebp برای سئومقاله قبلی
بهینه سازی و کاهش حجم تصاویر با cwebp ...

اولین نفری باشید که برای این مقاله نظر می دهد!

برای ثبت نظر وارد حساب کاربری خود شوید
برو بالا...