چگونه می توان پورت پیش فرض SSH را می توان تغییر داد؟

به صورت پیشفرض SSH برای ارتباطات ورودی از پورت 22 استفاده می کند. هکر ها می توانند به راحتی با اسکن کردن پورت 22 متوجه شوند SSH روی ماشین شما در حال اجرا است یا خیر!
یک روش اثر بخش برای جلوگیری از حملات هکر ها این است که پورت SSH را از پورت پیش فرض 22 به به یک پورت غیر استاندارد تغیر دهید. هر پورت بدون استفاده ای (ترجیحا یک پورت بالای 1024 ) می تواند مورد استفاده قرار بگیرد. خیلی از افراد از پورت 2222 برای این کار استفاده میکنند (چنانچه به راحتی به ذهن سپرده میشود) مانند پورت 8080 که اغلب به عنوان جایگزین پورت 80 (HTTP) استفاده میشود. اما در این مورد پورت 2222 بهترین انتخاب نیست! به این دلیل که هکر ها بعد از پورت 22 پورت 2222 را اسکن میکنند. بهتر است یک پورت تصادفی بالای 1024 که برای سرویس خاصی استفاده نمیشود انتخاب کنید.
ما در این مقاله از پورت 2345 به عنوان جایگزین 22 استفاده می کنیم. برای انجام این کار مراحل زیر طی می شوند. (در CentOS 7)
 
ابتدا از فایل تنظیمات ssh یک Backup تهیه می کنیم.
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
سپس فایل تنظیمات ssh را ویرایش می کنیم.
 vi /etc/ssh/sshd_config
در فایل تنظیمات ssh قسمتی وجود دارد برابر با Port 22 که به صورت پیش فرض Comment است. شما می بایست آن را از Comment خارج نموده و عدد روبروی آن را از 22 به عدد مدنظر تغییر دهید.
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 2345
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
بعد از انجام تنظیمات فوق نیاز است که این پورت جدید ssh بر روی SELinux تعریف شود. لذا دستور زیر استفاده می شود.
semanage port -a -t ssh_port_t -p tcp 2345
اگر هنگام اجرای دستور فوق خطای semanage command not found دریافت کردید، نیاز است که آن را نصب کنید.
yum -y install policycoreutils-python
بعد از تنظیمات SELinux می بایست فایروال لینوکس تنظیم گردد. لذا دستور زیر اجرا می شود.
firewall-cmd --permanent --zone=public --add-port=2345/tcp
firewall-cmd --reload
حال می بایست سرویس مربوط به ssh ریست گردد.
systemctl restart sshd.service
برای آزمایش مورد نیز می توانید دستور زیر را اجرا نمایید که می بایست پورت جدید را باز گرداند.
ss -tnlp | grep ssh