Saya membagikan beberapa langkah awal yang penting untuk membantu mengelola server Linux pribadi Anda di artikel sebelumnya. Saya secara singkat menyebutkan pemantauan koneksi jaringan untuk mendengarkan port, dan saya ingin memperluas ini dengan menggunakan netstat
perintah untuk sistem Linux.
Pemantauan layanan dan pemindaian port adalah praktik industri standar. Ada perangkat lunak yang sangat bagus seperti Prometheus untuk membantu mengotomatisasi proses, dan SELinux untuk membantu mengontekstualisasikan dan melindungi akses sistem. Namun, saya percaya bahwa memahami bagaimana server Anda terhubung ke jaringan dan perangkat lain adalah kunci untuk menetapkan garis dasar dari apa yang normal untuk server Anda, yang membantu Anda mengenali kelainan yang mungkin menyarankan bug atau intrusi. Sebagai pemula, saya menemukan bahwa netstat
command memberikan wawasan penting tentang server saya, baik untuk pemantauan maupun pemecahan masalah jaringan.
Netstat dan alat pemantauan jaringan serupa, dikelompokkan bersama dalam paket alat bersih, menampilkan informasi tentang koneksi jaringan yang aktif. Karena layanan yang berjalan pada port terbuka seringkali rentan terhadap eksploitasi, mempraktikkan pemantauan jaringan secara teratur dapat membantu Anda mendeteksi aktivitas mencurigakan lebih awal.
Instal netstat
Netstat sering diinstal sebelumnya pada distribusi Linux. Jika netstat tidak diinstal di server Anda, instal dengan manajer paket Anda. Pada sistem berbasis Debian:
$ sudo apt-get install net-tools
Untuk sistem berbasis Fedora:
$ dnf install net-tools
Gunakan netstat
Dengan sendirinya, netstat
perintah menampilkan semua koneksi yang dibuat. Anda dapat menggunakan netstat
opsi di atas untuk menentukan output yang diinginkan lebih lanjut. Misalnya, untuk menampilkan semua koneksi mendengarkan dan tidak mendengarkan, gunakan --all
(-a
singkatnya) pilihan. Ini mengembalikan banyak hasil, jadi dalam contoh ini saya menyalurkan output ke head
untuk menampilkan hanya 15 baris pertama keluaran:
$ netstat --semua | head -n 15
Sambungan Internet aktif (server dan terpasang)
Proto Recv-Q Send-Q Alamat Lokal Alamat Asing Status
tcp 0 0 *:27036 TCP 0 0 localhost:27060 *:* Dengar
TCP 0 0 *:* Dengarkan
TCP 0 0 LocalHost:6463 *:* Dengar
TCP 0 0 *:SSH *:* Dengar
TCP 0 0 localhost:57343 *:* Dengar
TCP 0 0 *:* Dengar
TCP 0 0 *:4713 *:* Dengar
TCP 0 0 10.0.1.222:48388 syd15s17-in-f5.1e:https DIDIRIKAN
tcp 0 0 10.0.1.222:48194 ec2-35-86-38-2.us:http s DIDIRIKAN
tcp 0 0 10.0.1.222:56075 103-10-125-164.va:27024 DIDIRIKAN
tcp 0 0 10.0.1.222 46680 />tcp 0 0 10.0.1.222:52730 syd09s23-in-f3.1e:https ESTABLISHED
Untuk hanya menampilkan port TCP, gunakan --all
dan --tcp
pilihan, atau -at
singkatnya:
$ netstat -at | head -n 5
Sambungan Internet aktif (server dan didirikan)
Proto Recv-Q Send-Q Alamat Lokal Alamat Asing Negara
tcp 0 0 *:27036 *:* tcp 0 0 localhost:27060 *:* DENGARKAN
tcp 0 0 *:16001 *:* > DAFTARUntuk hanya menampilkan port UDP, gunakan
--all
dan--udp
pilihan, atau-au
singkatnya:$ netstat -au | head -n 5
Sambungan Internet aktif (server dan terpasang)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:27036 *: 0 0 10.0.1.222:44741 224.0.0.56:46164 DIDIRIKAN
udp 0 0 *:bootpcOpsi untuk netstat seringkali intuitif. Misalnya, untuk menampilkan semua port TCP dan UDP yang mendengarkan dengan ID proses (PID) dan alamat numerik:
$ sudo netstat --tcp --udp --listening --programs --numeric
Koneksi Internet aktif (hanya server)
Proto Recv-Q Send-Q Alamat Lokal Alamat Asing Negara PID/ Nama program
TCP 0 0 0.0.0.0:111 0.0.0.0.0:* Dengarkan 1 / systemd
TCP 0 0 192.168.122.1:53 0.0.0:2* Dengarkan 2500 / DNSMASQ
TCP 0 0 0.0.0.0:22 0.0.0.0.0:* Dengarkan 1726 / sshd
TCP 0 0 127.0.1:631 0.0.0.0:2. Dengarkan 1721 / cupsd
TCP 0 0 127.0.1:010. 0.0:* Dengarkan 4023 / sshd:Tux @
TCP6 0 0 :::1. * Dengarkan 1 / SystemD
TCP6 0 0 ::* Dengarkan 1726 / sshd
TCP6 0 0 ::1:631 ::* Dengarkan 1721 / cupsd
TCP6 0 0:1:6010 :::* Dengarkan 4023 / sshd:Tux @
UDP 0 0 0.0.0.0:40514 0.0.0.0:* 1499/avahi-daemon:
udp 0 0 192.168.122.1:53 0.0.0.0:* 0.0.0.0:* 2500 / DNSMASQ
UDP 0 0 0.0.0.0:111 0.0.0:0.0:2 / systemd
UDP 0 0 0.0.0.0:5353 0.0.0:00 / Avahi-Daemon :
udp6 0 0 :::111 :::* 1 / systemd
udp6 0 0 :::44.235 :::* 1499 / avahi-daemon:
udp6 0 0 :::5353 :::* 1499/avahi-daemon:Versi singkat dari kombinasi umum ini adalah
-tulpn
.Untuk menampilkan informasi tentang layanan tertentu, filter dengan
grep
:$ sudo netstat -anlp | grep cangkir
tcp 0 0 127.0.1:631 0.0.0.0:2. Dengarkan 1721 / cupsd tcp6 0 0:1:631 ::* Dengarkan 1721 / cupsd
unix 2 [ACC] 27251 1 / systemd /var/run/cups/cups.sock
UNIX 2 [] dgram 59530 1721 / cupsd
unix 3 [] Streaming terhubung 55196 1721 / cup / cangkir / cangkir / cangkir / cangkir / cangkir / cangkir. kaus kaki
Lebih banyak sumber daya Linux
- Lembar contekan perintah Linux
- Lembar contekan perintah Linux tingkat lanjut
- Kursus online gratis:Ikhtisar Teknis RHEL
- Lembar contekan jaringan Linux
- Lembar contekan SELinux
- Lembar contekan perintah umum Linux
- Apa itu container Linux?
- Artikel Linux terbaru kami
Langkah selanjutnya
Setelah Anda menjalankan netstat
perintah, Anda dapat mengambil langkah-langkah untuk mengamankan sistem Anda dengan memastikan bahwa hanya layanan yang Anda gunakan secara aktif yang mendengarkan di jaringan Anda.
- Mengenali port dan layanan yang sering dieksploitasi. Sebagai aturan umum, tutup port yang sebenarnya tidak Anda gunakan.
- Waspadai nomor port yang tidak biasa, dan pelajari cara mengenali port yang sah yang digunakan di sistem Anda.
- Perhatikan baik-baik kesalahan SELinux. Terkadang yang perlu Anda lakukan hanyalah memperbarui konteks agar sesuai dengan perubahan sah yang telah Anda buat pada sistem Anda, tetapi baca kesalahan untuk memastikan bahwa SELinux tidak memberi tahu Anda tentang aktivitas yang mencurigakan atau berbahaya.
Jika Anda menemukan bahwa port menjalankan layanan yang mencurigakan, atau Anda hanya ingin menutup port yang tidak lagi Anda gunakan, Anda dapat menolak akses port secara manual melalui aturan firewall dengan mengikuti langkah-langkah berikut:
Jika Anda menggunakan firewall-cmd
, jalankan perintah ini:
$ sudo firewall-cmd –remove-port=/tcp
$ sudo firewall-cmd –runtime-to-permanent
Jika Anda menggunakan UFW, jalankan perintah berikut:
$ sudo ufw deny <port number>
Selanjutnya, hentikan layanan itu sendiri menggunakan systemctl
:
$ systemctl stop <service>
Pelajari netstat
Netstat adalah alat yang berguna untuk mengumpulkan informasi tentang koneksi jaringan server Anda dengan cepat. Pemantauan jaringan secara teratur merupakan bagian penting untuk mengenal sistem Anda, dan ini membantu Anda menjaga keamanan sistem Anda. Untuk memasukkan langkah ini ke dalam rutinitas administratif, Anda dapat menggunakan alat pemantauan jaringan seperti netstat atau ss, serta pemindai port sumber terbuka seperti Nmap atau sniffer seperti Wireshark, yang memungkinkan tugas terjadwal.
Karena server menampung sejumlah besar data pribadi, semakin penting untuk memastikan keamanan server pribadi. Dengan memahami bagaimana server Anda terhubung ke Internet, Anda dapat mengurangi kerentanan mesin Anda, sambil tetap mendapat manfaat dari konektivitas yang berkembang di era digital.