Port: mana yang dibuka dan cara memeriksanya
Port apa yang dibutuhkan layanan umum, cara melihat apa yang didengarkan mesin, cara memeriksa ketersediaan eksternal, dan apa yang harus dilakukan jika port tertutup.
Diperbarui 23 Agustus 2026
Port adalah angka yang memberi tahu sistem layanan mana yang harus menerima koneksi masuk. Aturannya sederhana: hanya port yang benar-benar Anda gunakan yang boleh dibuka. Setiap port tambahan yang terbuka adalah pintu lain yang akan diuji kelemahannya oleh orang lain.
Nomor port umum
| Port | Layanan | Terbuka ke luar |
|---|---|---|
| 22 | SSH | Ya, sebaiknya dibatasi berdasarkan alamat |
| 80 | HTTP | Ya, jika Anda punya situs web |
| 443 | HTTPS | Ya, jika Anda punya situs web |
| 25, 465, 587 | Masuk — hanya jika Anda menjalankan server mail sendiri. Koneksi keluar ditutup di sisi kami dan dibuka berdasarkan permintaan | |
| 3306 | MySQL | Tidak, hanya lokal |
| 5432 | PostgreSQL | Tidak, hanya lokal |
| 6379 | Redis | Tidak, hanya lokal |
| 27017 | MongoDB | Tidak, hanya lokal |
| 25565 | Minecraft | Ya, jika itu server game |
Catatan tentang mail: koneksi masuk tidak dibatasi, sedangkan koneksi keluar pada port 25, 465, dan 587 ditutup di tingkat node sampai Anda meminta kami membukanya. Aturan di dalam mesin tidak mengubah ini — lihat Server mail: mengapa sulit dan apa yang perlu dipertimbangkan untuk detailnya.
Basis data hampir tidak pernah diekspos ke luar. Jika Anda perlu mengaksesnya dari komputer kerja, cara yang benar adalah SSH tunnel, bukan port terbuka:
ssh -L 5432:127.0.0.1:5432 artem@<address>
Apa yang sedang didengarkan mesin
ss -tulpn
ss -tlpn | grep 443
lsof -i -P -n | grep LISTEN
Perhatikan alamat sebelum nomor port. 127.0.0.1:5432 berarti layanan hanya tersedia dari dalam — tidak dapat dijangkau dari luar, tidak peduli berapa banyak aturan yang Anda tambahkan. 0.0.0.0:5432 berarti layanan terbuka di semua antarmuka jaringan dan harus dilindungi oleh firewall.
Memeriksa dari luar
Dari komputer Anda:
nc -vz <address> 443
curl -I http://<address>
Memeriksa dengan ping tidak ada gunanya: ICMP dan TCP adalah hal yang berbeda; port bisa berfungsi sementara ping diblokir, dan sebaliknya.
Port tertutup: pemecahan masalah langkah demi langkah
- Apakah layanannya berjalan?
systemctl status <service> - Apakah ia mendengarkan di alamat yang benar?
ss -tulpn— bukan127.0.0.1 - Apakah firewall mengizinkannya?
ufw status verboseataunft list ruleset - Apakah Docker mengganggu? Port container yang dipublikasikan melewati ufw
- Periksa log layanan:
journalctl -u <service> -n 50
Urutannya penting: paling sering masalahnya ada di langkah kedua, bukan di firewall.
Mengubah port layanan
Misalnya, memindahkan SSH:
sed -i "s/^#\?Port 22/Port 2222/" /etc/ssh/sshd_config
ufw allow 2222/tcp
sshd -t
systemctl restart ssh
Pastikan Anda bisa login di port baru di jendela terpisah, baru kemudian hapus aturan untuk port 22. Untuk detailnya, lihat Pengerasan SSH.
Kesalahan umum
| Gejala | Penyebab | Solusi |
|---|---|---|
Connection refused | Layanan tidak berjalan | systemctl status, periksa log |
Connection timed out | Paket dijatuhkan oleh firewall | Periksa aturannya |
| Berfungsi secara lokal, tidak dari luar | Terikat ke 127.0.0.1 | Ubah alamat di config |
Address already in use | Port dipakai oleh layanan lain | ss -tulpn dan hentikan layanan tambahan |
Buka port hanya setelah memeriksa apa yang menjawab di sana. Port yang terlupakan dari eksperimen lama adalah titik masuk khas untuk peretasan; lihat tanda-tanda kompromi.