در این مقاله قصد داریم مروری بر نحوه تغییر پورت SSH در سرورهای لینوکسی داشته باشیم. همونطور که میدونید، برای اتصال به SSH نیازمند این هستید که از پورتی به عنوان درگاه اتصال استفاده کنیم. این پورت در سرور های لینوکسی معمولاً عدد ۲۲ می باشد. به دلیل اینکه این پورت پیشفرض در سرورهای لینوکسی رایج است، روزانه با حملات زیادی مواجه می شود. حملات معمولاً از نوع Brute Force بوده و هدف مهاجمان کرک کردن رمز عبور root سرور می باشد. در واقع مهاجم با استفاده از IP های رندوم که که به اینترنت متصل هستند با استفاده از نام کاربری root و پورت ۲۲ اقدام به تست رمز های مختلف می کنند تا جایی که رمز سرور را کرک کنند.
البته با یک فایروال می توانید اتصال های مکرر را پس از ۳ بار تلاش ناموفق مسدود کنید، اما نصب فایروال بدین معنا نیست که این حملات صورت نمی گیرد. در واقع منابع شبکه ای شما برای این نوع حملات درگیر می شود و در برخی از موارد مشاهده شده که از این روش جهت حملات شبکه ای استفاده می شود. این نوع حملات به طوری عمل می کنند که با اتصال های مکرر شبکه، سرور شما درگیر، و در نهایت با کمبود منابع مواجه می شود. این حملات نوعی DDoS نیز تلقی می شوند.
قبل از تغییر پورت SSH، باید فایروال خود را تنظیم کنید تا ترافیک در پورت جدید SSH مجاز باشد.
اگر از فایروال پیش فرض اوبونتو UFW استفاده میکنید از دستور زیر استفاده کنید:
sudo ufw allow 7822/tcp
در سیستم عامل CentOS فایروال پیش فرض FirewallD میباشد. جهت بازگشایی پورت جدید SSH در این فایروال دستور زیر را اجرا کنید:
sudo firewall-cmd --permanent --zone=public --add-port=7822/tcp
sudo firewall-cmd --reload
کاربران سنت او اس همچنین باید قوانین SELinux را هم تنظیم کنند:
sudo semanage port -a -t ssh_port_t -p tcp 7822
اگر هم از فایروال iptables استفاده میکنید، جهت بازگشایی پورت جدید دستور زیر را اجرا نمایید:
sudo iptables -A INPUT -p tcp --dport 7822 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
جهت تغییر پورت SSH در سرور های لینوکسی، ابتدا می بایست دسترسی root را داشته باشید. چنانچه به root دسترسی ندارید، می بایست با میزبان خود تماس بگیرید و درخواست این تغییر را بدهید. با استفاده از مشخصات root به سرور خود متصل شوید. برای اتصال به SSH می توانید از نرم افزار های اتصال همچون Putty یا Termius استفاده کنید.
پس از اتصال به SSH، میبایست مسیر زیر را با یک ویرایشگر باز کنید و تغییرات لازم را ایجاد کنید. در سرور مجازی لینوکس، ویرایشگر vi به صورت پیشفرض قابل استفاده می باشد. اما من با ویرایشگر nano راحت تر هستم و استفاده از اون رو پیشنهاد می کنم.
sudo yum install nano -y
sudo apt install nano -y
nano /etc/ssh/sshd_config
در ابتدای این فایل خط Port 22 را بیابید و # را از ابتدای آن حذف کنید. سپس عدد ۲۲ رو با مقدار مورد نظر خود جایگزین کنید. مثلا از پورت غیر معمولی مثل ۷۸۲۲ استفاده کنید. سپس با استفاده از کلید ترکیبی CTRL + X و تایپ کردن y به معنای yes و در نهایت اینتر زدن تغییرات را ذخیره کنید. جهت تأیید این تغییر میبایست با استفاده از دستور زیر یکبار سرویس SSH را ریاستارت کنید:
در توزیع لینوکس دبیان:
# For Debian
service sshd restart
در توزیع لینوکس سنت او اس، فدورا و یا ردهت:
# For Centos
systemctl restart sshd
در توزیع لینوکس اوبونتو:
# For Ubuntu
service ssh restart
با انجام مراحل فوق، تغییر پورت SSH سرور لینوکسی شما کامل می شود. توجه داشته باشید که اتصال شما پس از اعمال تغییرات فوق قطع خواهد شد، در نتیجه می بایست با پورت جدید مجددا وارد سرور شوید.