Bagaimana cara memeriksa apakah server Linux bersih dari rootkit / backdoors / botnet dll?

9

Jika server Linux terpapar ke internet dengan kebijakan keamanan sangat rendah (r / w folder Samba anonim, server database Firebird dengan kata sandi admin default, tidak ada firewall, dll.) Selama seminggu, lalu bagaimana cara memastikan sistemnya tidak dikompromikan tanpa pemformatan penuh & instal ulang, mengaksesnya hanya dari jarak jauh melalui SSH?

Ivan
sumber

Jawaban:

7

Biasanya saya akan menyarankan cek lokal dengan alat seperti chkrootkit tetapi jika satu-satunya cara untuk menjalankan cek adalah dengan melakukannya dari jarak jauh, maka saya akan merekomendasikan Anda untuk mencoba Rootkit Hunter .

Rookit Hunter memeriksa rootkit dan aktivitas lainnya dengan menjalankan tes seperti berikut (lihat Informasi Proyek untuk detail lebih lanjut):

  • MD5 hash bandingkan
  • Cari file default yang digunakan oleh rootkit
  • Izin file yang salah untuk binari
  • Cari string yang dicurigai dalam modul LKM dan KLD
  • Cari file yang tersembunyi

Saya ingin menambahkan bahwa seperti yang dikatakan orang lain, satu-satunya cara pasti untuk memastikan tidak ada gangguan pada layanan Anda adalah dengan membangunnya kembali. Alat-alat ini bekerja dengan baik, tetapi itu bukan jaminan kesuksesan 100%.

runlevelsix
sumber
2

OSSEC memeriksa rootkit dan mendeteksi aktivitas mencurigakan.

chmeee
sumber
2

Saya tahu jawaban ini bukan apa yang ingin Anda dengar tetapi di sini kita lanjutkan. Ada beberapa alat yang dapat memeriksa sistem cara terbaik untuk memastikan sistem bersih adalah dengan menghapus server dan membangun kembali. Saya akan melakukan hal berikut:

  • Hapus komputer dari internet
  • Cadangkan data dan informasi konfigurasi untuk menghapus perangkat
  • Format Penyimpanan
  • Instal ulang Basis / Pengaturan Standar / Pembaruan
  • Mengkonfigurasi ulang Server menggunakan data lama sebagai referensi
  • Mengembalikan data pengguna

Berikut adalah beberapa sumber yang saya akan mulai membaca jika Anda belum melakukannya.

[teks tautan] [1] teks tautan teks tautan teks

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901 "Linux Rootkits Beginners"

JJ01
sumber
2

Juga bukan jawaban yang Anda inginkan tetapi jika ada kemungkinan sistem di-root, mungkin sangat sulit untuk 100% yakin sistemnya bersih. Rootkit dirancang agar sulit dideteksi. Jika Anda menjalankan berbagai pemeriksa root dan memeriksa bersih, "kemungkinan besar" sistem Anda bersih.

Jika masalah keamanan, saya akan mempertimbangkan membangun kembali seperti poster di atas hanya mengatakan atau memulihkannya dari cadangan yang baik.

USACASD
sumber
1

Anda benar-benar harus proaktif di sini. Tidak ada cara yang dapat diandalkan untuk mendeteksi rootkit pada mesin, karena itu Anda perlu mencegah mereka sampai di sana dan menemukan cara untuk mendeteksi mereka pada saat masuk (misalnya melalui tripwire dan antarmuka yang terkunci).

Jika Anda berpikir mesin telah dieksploitasi dengan cara apa pun, Anda benar-benar perlu menginstal ulang - tidak ada cara dijamin untuk membersihkannya sebelum menginstal ulang. Sejauh ini pilihan paling aman.

Adam Gibbins
sumber
1

RKhunter, Tripwire dll bagus, tetapi benar-benar hanya bermanfaat jika diinstal sebelum kejadian - ini karena mereka bagus untuk mendeteksi apakah file kunci telah diubah. Jika Anda menginstal RKHunter sekarang dan menjalankannya, itu akan mendeteksi dimasukkannya banyak rootkit, tetapi itu tidak akan mendeteksi setiap pintu belakang penyerang dibuka di OS atau aplikasi yang Anda gunakan.

Misalnya, Anda dapat menyelinap ke komputer, membuat pengguna baru, memberi mereka izin SSH dan sudo, dan kemudian membersihkannya setelah meninggalkan konfigurasi yang sah, dan tidak ada rootkit - lalu kembali lagi nanti dan lakukan kejahatan Anda.

Hal terbaik yang harus dilakukan adalah melihat port mana yang memiliki layanan mendengarkannya, kemudian lihat konfigurasi semua layanan tersebut dan pastikan semuanya sah. Kemudian lihat konfigurasi firewall Anda dan kunci port yang tidak Anda butuhkan, baik masuk maupun keluar. Kemudian instal RKHunter dll untuk melihat apakah beberapa script-kiddie menjatuhkan root kit di sana dengan berantakan.

Sejujurnya, itu mungkin kurang bekerja untuk melakukan apa yang disarankan JJ dan membangun kembali daripada memastikan benar-benar komputer tidak terganggu. Ini adalah data yang berharga, bukan OS dan konfigurasi (selain dari jam kerja dalam pengaturan itu).

Anda tidak akan pernah yakin itu tidak retak oleh seseorang yang lebih pintar dari Anda.

dunxd
sumber
0

Langkah pertama harus benar-benar rkhunter / chkrootkit, namun saya juga beruntung di masa lalu dengan fitur-fitur yang dibangun ke dalam manajer paket tertentu, misalnya 'rpmverify' yang akan melalui semua paket pada sistem Anda dan memeriksa apakah MD5Sum dari file yang mereka masukkan tidak berbeda dari file pada disk.

Binari inti harus benar-benar memiliki MD5 identik dengan apa yang ditentukan dalam database RPM atau DPKG, jadi jika mereka berbeda, Anda tahu ada sesuatu yang aneh terjadi.

James Hannah
sumber
-1

Cara paling efektif untuk menentukan apakah sistem Anda yang sedang berjalan terganggu adalah dengan menggunakan Tampilan Kedua . Ini akan memverifikasi kernel dan semua perangkat lunak yang berjalan di memori untuk memastikan mereka konsisten dengan apa yang dikirimkan oleh vendor distribusi. Ini adalah pendekatan yang jauh lebih baik daripada rkhunter, chkrootkit, dll, yang mencari artefak infeksi spesifik yang diketahui . Second Look tidak membuat asumsi tentang integritas sistem operasi, jadi Anda tidak perlu menggunakan atau menginstalnya sebelum insiden.

(Penafian: Saya adalah pengembang utama dari Tampilan Kedua.)

Andrew Tappert
sumber