Cara Mengaudit Kinerja Jaringan, Keamanan, dan Pemecahan Masalah di Linux - Bagian 12


Analisis yang baik terhadap jaringan komputer dimulai dengan memahami alat apa saja yang tersedia untuk melakukan tugas, bagaimana memilih alat yang tepat untuk setiap langkah, dan yang terakhir, dari mana harus memulai.

Ini adalah bagian terakhir dari seri LFCE (Linux Foundation Certified Engineer), di sini kita akan meninjau beberapa alat terkenal untuk memeriksa kinerja dan meningkatkan keamanan jaringan , dan apa yang harus dilakukan ketika segala sesuatunya tidak berjalan sesuai harapan.

Memperkenalkan Program Sertifikasi Linux Foundation

Harap dicatat bahwa daftar ini tidak berpura-pura lengkap, jadi silakan mengomentari posting ini menggunakan formulir di bagian bawah jika Anda ingin menambahkan utilitas berguna lainnya yang mungkin kami lewatkan.

Layanan Apa yang Berjalan dan Mengapa?

Salah satu hal pertama yang perlu diketahui oleh administrator sistem tentang setiap sistem adalah layanan apa yang sedang berjalan dan alasannya. Dengan informasi tersebut di tangan, merupakan keputusan bijak untuk menonaktifkan semua server yang tidak terlalu diperlukan dan menghindari hosting terlalu banyak server di mesin fisik yang sama.

Misalnya, Anda perlu menonaktifkan server FTP jika jaringan Anda tidak memerlukannya (ada metode yang lebih aman untuk berbagi file melalui jaringan). Selain itu, Anda harus menghindari memiliki server web dan server database dalam sistem yang sama. Jika salah satu komponen terganggu, maka komponen lainnya juga berisiko ikut terganggu.

Menyelidiki Koneksi Socket dengan ss

ss digunakan untuk membuang statistik soket dan menampilkan informasi yang mirip dengan netstat, meskipun dapat menampilkan lebih banyak informasi TCP dan status dibandingkan alat lainnya. Selain itu, ia terdaftar di man netstat sebagai pengganti netstat, yang sudah usang.

Namun pada artikel ini kami akan fokus pada informasi terkait keamanan jaringan saja.

Contoh 1: Menampilkan SEMUA port (soket) TCP yang terbuka di server kami

Semua layanan yang berjalan pada port defaultnya (yaitu http pada 80, mysql pada 3306) ditandai dengan namanya masing-masing. Lainnya (dikaburkan di sini karena alasan privasi) ditampilkan dalam bentuk numeriknya.

ss -t -a

Kolom pertama menunjukkan status TCP, sedangkan kolom kedua dan ketiga menampilkan jumlah data yang saat ini berada dalam antrian untuk penerimaan dan transmisi. Kolom keempat dan kelima menunjukkan soket sumber dan tujuan setiap koneksi.
Sebagai tambahan, Anda mungkin ingin memeriksa RFC 793 untuk menyegarkan ingatan Anda tentang kemungkinan status TCP karena Anda juga perlu memeriksa nomor dan status koneksi TCP yang terbuka untuk mewaspadai serangan (D)DoS.

Contoh 2: Menampilkan SEMUA koneksi TCP yang aktif dengan pengatur waktunya
ss -t -o

Pada output di atas, Anda dapat melihat ada 2 koneksi SSH yang terbentuk. Jika Anda memperhatikan nilai kolom kedua timer:, Anda akan melihat nilai 36 menit pada koneksi pertama. Itu adalah jangka waktu hingga probe keepalive berikutnya dikirim.

Karena ini adalah koneksi yang tetap hidup, Anda dapat berasumsi bahwa koneksi tersebut tidak aktif dan dengan demikian dapat menghentikan proses setelah mengetahui PID-nya.

Sedangkan untuk koneksi kedua, Anda dapat melihat bahwa sedang digunakan (seperti yang ditunjukkan oleh di).

Contoh 3: Memfilter koneksi berdasarkan soket

Misalkan Anda ingin memfilter koneksi TCP berdasarkan soket. Dari sudut pandang server, Anda perlu memeriksa koneksi dengan port sumber 80.

ss -tn sport = :80

Sehingga menyebabkan..

Melindungi Terhadap Pemindaian Port dengan NMAP

Pemindaian port adalah teknik umum yang digunakan oleh cracker untuk mengidentifikasi host aktif dan port terbuka di jaringan. Setelah kerentanan ditemukan, kerentanan tersebut dieksploitasi untuk mendapatkan akses ke sistem.

Seorang sysadmin yang bijaksana perlu memeriksa bagaimana sistemnya dilihat oleh pihak luar, dan memastikan tidak ada hal yang sia-sia dengan mengauditnya secara berkala. Hal ini disebut “pemindaian port defensif ”.

Contoh 4: Menampilkan informasi tentang port terbuka

Anda dapat menggunakan perintah berikut untuk memindai port mana yang terbuka di sistem Anda atau di host jarak jauh:

nmap -A -sS [IP address or hostname]

Perintah di atas akan memindai host untuk mendeteksi OS dan versi, informasi port, dan traceroute (-A). Terakhir, -sS mengirimkan pemindaian TCP SYN, mencegah nmap menyelesaikan jabat tangan TCP 3 arah dan biasanya tidak meninggalkan log pada mesin target.

Sebelum melanjutkan ke contoh berikutnya, harap diingat bahwa pemindaian port bukanlah aktivitas ilegal. Yang ilegal adalah menggunakan hasilnya untuk tujuan jahat.

Misalnya, output dari perintah di atas yang dijalankan pada server utama universitas lokal akan menghasilkan yang berikut (hanya sebagian dari hasil yang ditampilkan agar singkatnya):

Seperti yang Anda lihat, kami menemukan beberapa anomali yang sebaiknya kami laporkan ke administrator sistem di universitas lokal ini.

Operasi pemindaian port khusus ini menyediakan semua informasi yang juga dapat diperoleh dengan perintah lain, seperti:

Contoh 5: Menampilkan informasi tentang port tertentu di sistem lokal atau jarak jauh
nmap -p [port] [hostname or address]
Contoh 6: Menampilkan traceroute ke, dan mengetahui versi layanan dan jenis OS, nama host
nmap -A [hostname or address]
Contoh 7: Memindai beberapa port atau host secara bersamaan

Anda juga dapat memindai beberapa port (rentang) atau subnet, sebagai berikut:

nmap -p 21,22,80 192.168.0.0/24 

Catatan: Bahwa perintah di atas memindai port 21, 22, dan 80 pada semua host di segmen jaringan tersebut.

Anda dapat memeriksa halaman manual untuk rincian lebih lanjut tentang cara melakukan jenis pemindaian port lainnya. Nmap memang merupakan utilitas pemetaan jaringan yang sangat kuat dan serbaguna, dan Anda harus sangat mengenalnya untuk melindungi sistem yang menjadi tanggung jawab Anda terhadap serangan yang berasal dari pemindaian port jahat oleh pihak luar.