Bagaimana cara menutup port terbuka di Ubuntu?

31

Saya perlu perintah untuk mendaftar semua port terbuka di PC saya, dan perintah lain untuk menutup port.

Ada saran?

Saya perlu menutup beberapa port aplikasi.

nux
sumber

Jawaban:

34

netstat dapat digunakan untuk melihat stat port.

sudo netstat -lnp

Untuk daftar semua l istening port n umbers dengan p rocess bertanggung jawab pada masing-masing. Hentikan atau bunuh proses untuk menutup port. ( kill, pkill...)

Tanpa penghentian proses, itu tidak mungkin! . Lihat secara manual menutup port dari commandline . Cara lain Anda mungkin mencari solusi firewall (seperti mengisolasi port itu dari jaringan)

user.dz
sumber
saya harus menutup port tetapi tanpa mematikan aplikasi
nux
Dimungkinkan untuk menutup port sebagai port eksternal.
sergzach
13
sudo ufw allow 22

sudo ufw deny 22
bemonolit
sumber
12

untuk menutup port terbuka di ubuntu Anda dapat menggunakan perintah di bawah ini

sudo kill $(sudo lsof -t -i:3000)

di tempat 3000Anda dapat menentukan nomor port Anda

lsof perintah akan memberikan informasi tentang file yang dibuka oleh proses

-t : Bendera ini menetapkan bahwa lsof harus menghasilkan keluaran singkat hanya dengan pengidentifikasi proses dan tanpa header - mis., sehingga output dapat disalurkan untuk mematikan (1). Opsi ini memilih opsi -w.

-i : Bendera ini memilih daftar file yang alamat Internetnya cocok dengan alamat yang ditentukan dalam i. Jika tidak ada alamat yang ditentukan, opsi ini memilih daftar semua file jaringan Internet dan x.25 (HP-UX).

uzaif
sumber
8

Anda dapat menggunakan iptables untuk memblokir port di tingkat jaringan tanpa harus menutup aplikasi. Port akan tetap tampak terbuka, tetapi tidak dapat dijangkau.

Atau, ini tergantung pada aplikasi, beberapa izin untuk menonaktifkan beberapa port (pikirkan dovecot dan port pop3 atau imap), dan beberapa tidak. Beberapa aplikasi juga dapat dikonfigurasi untuk mendengarkan hanya di localhost atau alamat tertentu.

Lain-lain
sumber
6

Anda dapat menggunakan netstat -nalpdan lsof -i:portalat untuk mengidentifikasi proses / binari di belakang port terbuka.

Jika Anda ingin menutup port, Anda harus mematikan proses atau menghentikan layanan relatif. Jika Anda ingin menjalankan layanan hanya untuk kotak lokal Anda, Anda dapat mengonfigurasi layanan terkait untuk mendengarkan di localhost / 127.0.0.1 tidak pada semua ips yang tersedia (0.0.0.0).

Nischay
sumber
1

Jika port Anda dibuka karena menjalankan layanan, seperti vsftpd untuk layanan ftp, Anda dapat berhenti dan kemudian menonaktifkan layanan sehingga file yang dapat dieksekusi terkait dengan layanan akan terbunuh juga. dalam sistem basis debian Anda dapat menjalankan perintah di bawah ini untuk merusak layanan:

service SERVICENAME stop
systemctl disable SERVICENAME

Semoga berhasil

Ehsan Ahmadi
sumber
Terima kasih. Saya memeriksa nama layanan sudo netstat -lnpdan menjalankan perintah yang Anda sarankan untuk menghentikan port 22 :)
Rishabh Agrahari
1

Untuk menampilkan daftar semua port terbuka:

netstat -lnp

Untuk menutup port terbuka:

fuser -k port_no/tcp

contoh:

fuser -k 8080/tcp

Keduanya bisa Anda gunakan sudojika dibutuhkan.

Atequer Rahman
sumber