Apa saja tanda-tanda bahwa server Linux telah diretas? Apakah ada alat yang dapat menghasilkan dan mengirim email laporan audit sesuai jadwal?
Apa saja tanda-tanda bahwa server Linux telah diretas? Apakah ada alat yang dapat menghasilkan dan mengirim email laporan audit sesuai jadwal?
Jawaban:
Kamu tidak.
Saya tahu, saya tahu - tetapi itu adalah paranoid, kebenaran yang menyedihkan, sungguh;) Ada banyak petunjuk tentu saja, tetapi jika sistem itu ditargetkan secara khusus - mungkin tidak mungkin untuk mengatakannya. Adalah baik untuk memahami bahwa tidak ada yang sepenuhnya aman. Tetapi kita perlu bekerja untuk lebih aman, jadi saya akan menunjukkan semua jawaban lain sebagai gantinya;)
Jika sistem Anda dikompromikan, tidak ada alat sistem Anda yang dapat dipercaya untuk mengungkapkan kebenaran.
Tripwire adalah alat yang umum digunakan - ini memberi tahu Anda ketika file sistem telah berubah, meskipun jelas Anda harus menginstalnya terlebih dahulu. Kalau tidak, item seperti akun pengguna baru yang tidak Anda ketahui, proses aneh dan file yang tidak Anda kenal, atau peningkatan penggunaan bandwidth tanpa alasan yang jelas adalah tanda-tanda yang biasa.
Sistem pemantauan lain seperti Zabbix dapat dikonfigurasi untuk mengingatkan Anda ketika file seperti / etc / passwd diubah.
Beberapa hal yang telah memberi saya informasi di masa lalu:
ls
(ini bisa terjadi dengan kit root yang rusak)/
atau /var/
(kebanyakan skrip kiddies terlalu bodoh atau malas untuk menutupi jejak mereka)netstat
menunjukkan port terbuka yang seharusnya tidak ada di sanabind
, Tetapi Anda selalu menggunakan djbdns
)Selain itu, saya telah menemukan ada satu tanda yang dapat dipercaya bahwa sebuah kotak dikompromikan: jika Anda memiliki perasaan buruk tentang ketekunan (dengan pembaruan, dll.) Dari admin yang Anda warisi sistem, perhatikan dengan cermat!
Ada metode untuk memeriksa server yang diretas melalui kill
-
Pada dasarnya, ketika Anda menjalankan "kill -0 $ PID" Anda mengirim sinyal nop untuk memproses pengidentifikasi $ PID. Jika proses sedang berjalan, perintah kill akan keluar secara normal. (FWIW, karena Anda melewati sinyal nop kill, tidak ada yang akan terjadi pada prosesnya). Jika suatu proses tidak berjalan, perintah kill akan gagal (status keluar kurang dari nol).
Ketika server Anda diretas / rootkit diinstal, salah satu hal pertama yang dilakukannya adalah memberi tahu kernel untuk menyembunyikan proses yang terpengaruh dari tabel proses dll. Namun ia dapat melakukan segala macam hal keren di ruang kernel untuk dikacaukan dengan proses. Jadi ini artinya
a) Pemeriksaan ini bukan pemeriksaan ekstensif, karena rootkit yang dikodekan / cerdas akan memastikan bahwa kernel akan membalas dengan jawaban "proses tidak ada" yang membuat pemeriksaan ini berlebihan. b) Bagaimanapun juga, ketika server yang diretas menjalankan proses "buruk", biasanya PID tidak akan ditampilkan di bawah / proc.
Jadi , jika Anda di sini sampai sekarang, metode ini adalah untuk membunuh -0 setiap proses yang tersedia dalam sistem (mulai dari 1 -> / proc / sys / kernel / pid_max) dan lihat apakah ada proses yang berjalan tetapi tidak dilaporkan di / proc.
Jika beberapa proses muncul sebagai berjalan, tetapi tidak dilaporkan di / proc, Anda mungkin memiliki masalah dengan cara apa pun Anda melihatnya.
Berikut skrip bash yang mengimplementasikan semua itu - https://gist.github.com/1032229 . Simpan itu di beberapa file dan jalankan, jika Anda menemukan proses yang muncul tidak dilaporkan dalam proc, Anda harus memiliki beberapa petunjuk untuk mulai menggali.
HTH.
Saya akan memberikan tanggapan kedua yang diberikan di sini dan menambahkan salah satu dari saya sendiri.
find /etc /var -mtime -2
Ini akan memberi Anda indikasi cepat jika ada file server utama Anda telah berubah dalam 2 hari terakhir.
Ini dari artikel tentang deteksi retasan. Bagaimana mendeteksi apakah server Anda diretas.
Dari Bagaimana saya bisa mendeteksi intrusi yang tidak diinginkan di server saya?
Gunakan IDS
SNORT® adalah sistem pencegahan dan deteksi intrusi jaringan sumber terbuka yang menggunakan bahasa yang digerakkan oleh aturan, yang menggabungkan manfaat metode inspeksi berbasis tanda tangan, protokol, dan anomali. Dengan jutaan unduhan hingga saat ini, Snort adalah teknologi deteksi dan pencegahan intrusi yang paling banyak digunakan di seluruh dunia dan telah menjadi standar de facto untuk industri ini.
Snort membaca lalu lintas jaringan dan dapat mencari hal-hal seperti "drive dengan pengujian pena" di mana seseorang hanya menjalankan seluruh pemindaian metasploit terhadap server Anda. Senang mengetahui hal-hal semacam ini, menurut saya.
Gunakan log ...
Bergantung pada penggunaan Anda, Anda dapat mengaturnya sehingga Anda tahu setiap kali pengguna login, atau masuk dari IP aneh, atau setiap kali login root, atau setiap kali seseorang mencoba masuk. Saya benar-benar memiliki server mengirimi saya email setiap log pesan lebih tinggi dari Debug. Ya, bahkan Pemberitahuan. Saya menyaring beberapa dari mereka tentu saja, tetapi setiap pagi ketika saya mendapatkan 10 email tentang hal-hal itu membuat saya ingin memperbaikinya sehingga berhenti terjadi.
Pantau konfigurasi Anda - Saya benar-benar menyimpan seluruh / etc saya dalam subversi sehingga saya dapat melacak revisi.
Jalankan pemindaian. Alat seperti Lynis dan Rootkit Hunter dapat memberi Anda peringatan tentang kemungkinan lubang keamanan di aplikasi Anda. Ada beberapa program yang memelihara pohon hash atau hash dari semua tempat sampah Anda dan dapat mengingatkan Anda untuk perubahan.
Monitor server Anda - Sama seperti yang Anda sebutkan pada diskspace - grafik dapat memberi Anda petunjuk jika ada sesuatu yang tidak biasa. Saya menggunakan Cacti untuk mengawasi pada CPU, lalu lintas jaringan, ruang disk, suhu, dll Jika sesuatu tampak aneh itu adalah aneh dan Anda harus mencari tahu mengapa hal itu aneh.
Saya hanya ingin menambahkan ini:
Periksa riwayat bash Anda, jika kosong dan Anda belum membatalkan atau mengosongkannya, ada kemungkinan seseorang telah membahayakan server Anda.
Periksa yang terakhir. Entah Anda akan melihat IP yang tidak dikenal atau akan terlihat sangat kosong.
Kemudian ketika jawaban yang diterima dinyatakan, file sistem sering diubah, periksa tanggal yang dimodifikasi. Namun mereka sering merusak tanggal yang dimodifikasi.
Mereka sering menginstal ssh versi lain yang berjalan pada port acak. Ini sering disembunyikan di beberapa tempat yang sangat aneh. Perhatikan bahwa biasanya akan diubah namanya menjadi sesuatu selain ssh. Jadi, periksa netstat (mungkin tidak berfungsi karena mereka sering menggantinya) dan gunakan iptables untuk memblokir port yang tidak dikenal.
Bagaimanapun, ini adalah situasi di mana pencegahan lebih baik daripada mengobati. Jika Anda telah dikompromikan, yang terbaik adalah hanya memformat dan memulai lagi. Hampir tidak mungkin untuk mengkonfirmasi bahwa Anda telah berhasil membersihkan retasan.
Perhatikan hal-hal berikut untuk mencegah server Anda dari gangguan.
Patut diperhatikan saat mencatat bahwa dalam satu server, mereka akan memeriksa bash history Anda dan mencari server lain yang terhubung melalui ssh dari server itu. Mereka kemudian akan mencoba untuk terhubung ke server-server itu. Jadi, jika Anda mendapatkan brute paksa karena kata sandi yang buruk, sangat mungkin mereka akan dapat terhubung ke server lain dan kompromi juga.
Ini adalah dunia yang buruk di luar sana, saya tegaskan bahwa pencegahan lebih baik daripada mengobati.
Setelah mencari-cari sedikit, ada ini juga, ia melakukan apa yang saya sebutkan di atas, di antara beberapa hal lain: http://www.chkrootkit.org/ dan http://www.rootkit.nl/projects/rootkit_hunter.html
Anda harus memeriksa GuardRail. Itu dapat memindai server Anda setiap hari dan memberi tahu Anda apa yang berubah dengan cara visual yang bagus. Itu tidak memerlukan agen dan dapat terhubung melalui SSH sehingga Anda tidak perlu membuang mesin dan sumber daya Anda dengan agen.
Yang terbaik dari semuanya, gratis hingga 5 server.
Lihat disini: