Cara Mengkonfigurasi SSH untuk menggunakan Port yang berbeda di CentOS 7

Dalam panduan ini, kita akan belajar cara Mengonfigurasi SSH untuk menggunakan Port yang berbeda di CentOS 7.

Meskipun mengonfigurasi Server SSH untuk mendengarkan pada port yang berbeda selain port default, 22, mungkin tidak memberi Anda banyak manfaat dari sudut pandang keamanan, masih ada beberapa keuntungan yang menyertainya;

  • mengurangi permukaan serangan dengan melindungi server Anda dari serangan acak otomatis yang menargetkan service yang berjalan pada port default, serangan yang menargetkan eksploitasi kerentanan yang terkait dengan versi tertentu OpenSSH dan perpustakaan kripto-nya,
  • r mengurangi ukuran file log saat menghentikan upaya login yang gagal secara paksa diarahkan ke port SSH default.

Konfigurasikan SSH untuk menggunakan Port yang berbeda pada CentOS 7

Langkah melalui panduan ini untuk mempelajari cara mengkonfigurasi server SSH untuk mendengarkan pada port yang berbeda.

  1. Login ke server Anda dan buka file konfigurasi server OpenSSH, /etc/ssh/sshd_config untuk mengedit.
    vim /etc/ssh/sshd_config
  2. Batalkan komentar pada baris, # Port 22 dan atur ke port yang diinginkan. But as a safety measure, just in case things go south, configure sshd to listen on two ports, the default port and the desired port such that your config files have two lines like as shown below. Once you confirm that the new port works fine, remove the default port setting.
    Port 22 Port 3456 <where 3456 is your preferred port>

    Catatan:

    • Pastikan tidak ada service lain yang menggunakan port baru.
    • Ganti port yang sesuai.
  3. Jika firewall sedang berjalan, izinkan port baru masuk melaluinya.
    firewall-cmd --add-port=3456/tcp --permanent firewall-cmd --reload
  4. Mulai ulang service sshd
    systemctl restart sshd
  5. Jika dengan me-restart sshd Anda menemukan error seperti itu;
    Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

    Dan dengan berlari journalctl -xe seperti yang disarankan, Anda mengetahui bahwa sshd gagal memulai dengan set port baru karena izin SELinux seperti yang ditunjukkan pada output journalctl di bawah ini;

    # journalctl -xe...output snipped... Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.510:4): avc: denied { name_bind } for pid=1074 comm="sshd" src-set=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on 0.0.0.0 failed: Permission denied. Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on :: failed: Permission denied. Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.515:5): avc: denied { name_bind } for pid=1074 comm="sshd" src-set=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres Sep 16 08:21:12 server1 sshd[1074]: fatal: Cannot bind any address. Sep 16 08:21:12 server1 systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a Sep 16 08:21:12 server1 systemd[1]: Failed to start OpenSSH server daemon....output snipped...

    Berikut adalah cara untuk memperbaikinya. Anda perlu memberi tahu SELinux tentang perubahan ini dengan menjalankan perintah di bawah ini.

    semanage port -a -t ssh_port_t -p tcp 3456

    Sekarang, verifikasi bahwa SELinux telah mengizinkan sshd untuk mendengarkan pada dua port:

    semanage port -l | grep ssh
    ssh_port_t tcp 3456, 22

    Jika perintah semanage tidak ditemukan, periksa paket mana yang menyediakan semanage dan instal paket itu;

    yum whatprovides semanage
    ...output snipped... policycoreutils-python-2.5-22.el7.x86_64 : SELinux policy core python utilities Repo : base Matched from: Filename : /usr/sbin/semanage
    yum install -y policycoreutils-python
  6. Uji apakah Anda dapat masuk ke server dengan port SSH baru
    ssh -p 3456 [email protected]

    Jika ini berhasil, lanjutkan dan hapus port default dengan berkomentar di file konfigurasi sshd atau blokir di firewall. Ingatlah untuk me-restart sshd setelah perubahan atau mereload firewall masing-masing.

Itu menandai akhir dari panduan sederhana kami tentang cara Mengonfigurasi SSH untuk menggunakan Port yang berbeda pada CentOS 7.

Tutorial SSH lainnya

Terhubung ke Server VNC melalui SSH Tunnel

Pantau Host Linux menggunakan Plugin Nagios check_by_ssh

Konfigurasikan Otentikasi Kunci Publik SSH di Linux

Cara Mengaktifkan Transfer File RDP/SSH Melalui Guacamole