Cara Ubah Port SSH 22 Zimbra di Centos 7
Hari ini ada salah satu client saadwebid yang mengalami masalah pada server zimbra, akibat port ssh nya menggunakan port 22. Muncul error seperti berikut
Message: system failure: exception during auth {RemoteManager: MAIL.DOMAIN.COM->zimbra@MAIL.DOMAIN.COM:22} com.zimbra.cs.service.ServiceException: system failure: exception during auth {RemoteManager: MAIL.DOMAIN.COM->zimbra@MAIL.DOMAIN.COM:22}
Menggunakan port ssh standart mengakibatkan banyak orang iseng yang coba login ke server. Untuk yang menggunakan zimbra dengan ip public tanpa di NAT. Sebaiknya ganti port 22 menjadi port yang lain.
1. Untuk pengecekkan berapa banyak ip yang mencoba ssh server dengan perintah berikut:
cat /var/log/secure | grep 'Failed password for root' | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | sort -n | uniq -c | sort -nr | head -20
Sebenarnya bisa menggunakan fail2ban untuk blocking secara otomatis ip jahil di atas. Namun admin lebih enak bila port 22 nya diganti. tapi itu terserah pembaca. Berikut tahap-tahap merubah.
2. Pastikan dulu port yang digunakan belum terpakai dengan perintah berikut, (user root)
Disini admin mau mengganti port 22 menjadi port 2205
Ini penting, karena bila sudah terpakai akan betrok portnya.
# ss -tnlp | grep 2205
“taunya dari mana port tidak terpakai? bila tidak ada tulisan berikut”
LISTEN 0 128 *:2205 *:* users:(("sshd",pid=28987,fd=3))
3. Backup dulu file konfigurasi originalnya, (user root)
Ini untuk antisipasi apabila konfigurasi yang di ubah, mau di restore ke sebelumnya.
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
4. Edit file yang di backup tadi menggunakan text editor, (user root)
#nano /etc/ssh/sshd_config
hilangkan tanda # pada #Port 22, dan ubah 22 menjadi 2205
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # Port 2205 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
setelah selesai, simpan file dengan perintah ctrl+o (bukan nol) dan ctrl+x untuk exit
5. Memberikan akses port 2205 pada SElinux, (user root)
Abaikan step ini apabila selinux dalam keadaan disabled
semanage port -a -t ssh_port_t -p tcp 2205
Bila muncul “semanage command not found”, install terlebih dahulu command semanage dengan perintah berikut
yum -y install policycoreutils-python
6. Memberikan akses port 2205 pada firewall, (user root)
firewall-cmd --permanent --zone=public --add-port=2205/tcp
dan reload konfigurasi firewall dengan perintah berikut
firewall-cmd --reload
7. Restart service ssh nya, (user root)
systemctl restart sshd.service
cek kembali, apakah port ssh sudah ganti dengan perintah berikut
ss -tnlp | grep ssh
bila hasilnya seperti berikut, berarti port ssh sudah berhasil berubah
LISTEN 0 128 *:2205 *:* users:((“sshd”,10783,3)) LISTEN 0 128 :::2205 :::* users:((“sshd”,10783,4))
8. Ubah port ssh di zimbra, (user zimbra)
disini admin menggunakan host zimbra mail.saad.web.id
cara ngeceknya dengan perintah berikut
#su - zimbra $zmcontrol status Host mail.saad.web.id amavis Running
masukkan perintah berikut untuk mengubah port menjadi 2205, (user zimbra)
$zmprov ms mail.saad.web.id zimbraRemoteManagementPort 2205
9. Update auth key ssh pada zimbra, (user zimbra)
cd /opt/zimbra/bin/ ./zmsshkeygen ./zmupdateauthkeys
Key server bisa cek di
cat /opt/zimbra/.ssh/authorized_keys
kemudian cek apakah sudah bisa update konfigurasinya dengan perintah berikut, (user zimbra)
ssh -vi .ssh/zimbra_identity -o strictHostKeyChecking=no zimbra@mail.saad.web.id -p 2205
Bila perintah diatas dijalankan kemudian tidak meminta password, berarti port berhasil di ubah
apabila sebaliknya, meminta password. Keluar dari user zimbra dulu seperti perintah berikut.
exit su - zimbra ssh -vi .ssh/zimbra_identity -o strictHostKeyChecking=no zimbra@mail.saad.web.id -p 2205
Selamat mencoba
“Bila anda ragu melakukkannya bisa menggunakan layanan jasa saadwebid, Terima kasih”