Saya memiliki server rumah yang menjalankan distribusi ubuntu desktop. Saya menemukan ini di crontab saya
* * * * * /home/username/ /.access.log/y2kupdate >/dev/null 2>&1
dan ketika mencari di direktori itu (spasi setelah nama pengguna / adalah nama direktori) saya menemukan banyak skrip yang jelas melakukan sesuatu yang seharusnya tidak mereka lakukan.
Sebelum saya menghapus komputer itu dan menginstal ulang hal-hal, saya ingin mencari tahu apa yang menyebabkan pelanggaran keamanan dan kapan itu dilakukan. Jadi saya tidak membuka lubang yang sama lagi.
File log apa yang harus saya cari? Satu-satunya server yang saya tahu sedang berjalan di komputer adalah sshd dan lighttpd.
Apa yang harus saya lakukan untuk mendeteksi jika hal seperti ini terjadi lagi?
Jawaban:
Pertama, pastikan komputer terputus dari jaringan apa pun.
Kedua, pastikan Anda mendapatkan data penting dari drive sebelum mem-boot kembali OS yang diretas.
Mulailah dengan memeriksa perangko waktu pada file yang dimaksud. Seringkali mereka akurat.
Referensi silang dengan log httpd dan auth log jika tidak dihapus. Jika satu sama lain dihapus, Anda bisa bertaruh bahwa itu adalah cara masuk. Jika masih bijaksana, Anda mungkin dapat memperoleh informasi lebih lanjut tentang cara mereka masuk dari log.
Jika semuanya terhapus, Anda cukup kacau. Mungkin akan membutuhkan lebih banyak waktu untuk mencari tahu apa yang terjadi daripada nilainya.
Anda menyebutkan kedua layanan itu sedang berjalan, adakah firewall yang bagus untuk mencegah semua hal lain diakses? Apakah Anda mengizinkan SSH pada port 22; apakah login Anda cukup mudah ditebak; apakah Anda mengizinkan login kata sandi; apakah Anda memiliki semacam batasan tingkat riil untuk login kata sandi? Apakah Anda memiliki perangkat lunak tambahan yang diinstal dengan lighttpd; perl; php; cgi; sebuah CMS atau serupa? Apakah Anda menjalankan versi terbaru dari semua perangkat lunak; Apakah Anda berlangganan pemberitahuan keamanan untuk semua perangkat lunak yang Anda jalankan dan hati-hati mengevaluasi semua pemberitahuan untuk melihat apakah mereka berlaku untuk perangkat lunak yang Anda jalankan / ekspos kepada publik?
sumber
Ini semacam topik tersendiri; Anda dapat menggunakan google for linux forensics untuk informasi lebih lanjut. Pada dasarnya Anda harus membuat gambar drive Anda untuk analisis offline terlebih dahulu, lalu bersihkan komputer dan instal dari papan tulis yang bersih.
Dan ingat semua ongkosnya. Siapa pun yang menggunakan komputer dapat memiliki kata sandi yang disusupi. Ubah kata sandi, simpan offline, dll. Hingga Anda mendapatkannya di "ruang bersih" (VM terisolasi).
Kalau tidak, banyak memeriksa log (yang dapat dipalsukan) dan memeriksa aplikasi Anda (skrip php? Database? Diperbarui untuk perbaikan terbaru? Pengguna lain memberikan kata sandi?)
Secara harfiah tidak ada cara mudah untuk menjawab pertanyaan Anda karena Anda harus melakukan pekerjaan forensik di server dan memeriksa lubang. Anda bisa menggunakan beberapa alat otomatis tetapi perlu diingat jika penyerang memiliki Root privs Anda tidak bisa mempercayai biner sistem lagi, dan Anda tidak bisa mempercayai log.
Adapun serangan di masa depan, tergantung pada seberapa aman Anda ingin membuatnya, Anda dapat mulai dengan mengarahkan log Anda ke sistem yang hanya digunakan untuk menyimpan log sistem. Tidak ada akses lain, untuk mengurangi jejak serangan.
Anda juga menjalankan perangkat lunak checksum di sistem Anda seperti Tripwire untuk memeriksa integritas file Anda.
Dan tentu saja tetap up to date dengan pembaruan dan jalankan perangkat lunak pemindaian yang memeriksa rootkit.
Sekali lagi, keamanan bukanlah hal yang mudah. Ini bisa menjadi spesialisasi dalam dirinya sendiri juga. Keamanan berlapis bisa seketat memeriksa host / IP yang tidak termasuk dalam jaringan Anda, mengenkripsi semua akses ke sistem, membuat log harian perubahan yang ditemukan pada sistem Anda dikirimkan kepada Anda, dan mengatur honeypot pada jaringan Anda untuk mencari aktivitas aneh (mengapa server saya mencoba untuk terhubung ke port 25 pada komputer honeypot?)
Pertama dan terutama jika Anda ingin memeriksa aktivitas, dapatkan disk image dan instal ulang perangkat lunak server. Dari awal. Biner server tidak bisa dipercaya lagi.
EDIT - beberapa hal lain yang terjadi pada saya karena Anda menjalankan SSH - instal denyhosts. Itu dapat dikonfigurasikan sehingga serangan otomatis terhadap sistem Anda pada SSHD akan dikunci setelah sejumlah percobaan X. Itu juga dapat dikonfigurasi untuk memperbarui dari server denyhost lain di "cloud" untuk berbagi IP yang terkunci untuk membantu meminimalkan serangan otomatis. Anda juga dapat memindahkan port yang didengarnya; banyak orang menunjukkan bahwa ini hanya keamanan melalui ketidakjelasan, tetapi mengingat jumlah pemindaian bot, ini mengurangi secara signifikan pada upaya acak untuk masuk.
sumber