Ketika saya harus mengelola server Linux yang ada, apa cara terbaik untuk memeriksa apakah itu aman?

9

Ada banyak tutorial tentang cara mengatur server aman baru .

Tetapi bagaimana jika saya harus mengatur server yang orang lain atur beberapa waktu lalu dan saya belum tahu banyak tentang konfigurasinya?

Apakah ada beberapa alat yang secara otomatis memeriksa "tersangka biasa" atau beberapa daftar periksa yang dapat saya lalui untuk memastikan tidak ada lubang keamanan yang jelas? Apakah ada layanan web yang memeriksa kerentanan dari jarak jauh?

Daniel Rikowski
sumber

Jawaban:

13

Unduh Nessus dan lakukan pemeriksaan jaringan. Ini akan memberi tahu Anda tentang kerentanan yang dapat dieksploitasi dari jarak jauh.

Juga, instal Ossec ; walaupun ini bukan tujuan utamanya, ia akan menemukan beberapa kesalahan konfigurasi yang umum (akun yang dikonfigurasi dengan tidak benar misalnya). Dan fungsi utamanya - deteksi intrusi berbasis host - akan membantu menemukan jika seseorang mencoba untuk mengeksploitasi kerentanan.

niXar
sumber
5
Nessus bukan open-source lagi. Garpu open-source-nya disebut openvas.
Anonim
1
Aku tahu. Tapi itu masih IIRC bir gratis, dan poster itu tidak pernah mengatakan dia hanya menginginkan F / OSS.
niXar
+1 Nessus sangat baik, saya juga akan melakukan dan pemindaian Nmap memuat hasilnya ke Nessus mungkin membantu mengambil beberapa kerentanan lebih dalam beberapa kasus.
Mark Davidson
1
+1 untuk OSSEC. Ini juga memiliki modul audit rootkit / sistem yang dapat Anda jalankan mandiri: ossec.net/rootcheck
sucuri
5

Saya akan mulai dengan daftar periksa "benchmark" Pusat Keamanan Internet . Ini adalah daftar periksa berdasarkan konsensus yang disusun oleh para profesional keamanan untuk berbagai platform dan paket perangkat lunak. Beberapa alat yang disebutkan oleh daftar periksa, atau yang biasanya direkomendasikan yang akan membantu dalam pencarian Anda untuk masalah keamanan:

  • Nessus / OpenVAS (pemindai kerentanan)
  • Nmap (pemindai port)
  • TCPdump / Wireshark (libpcap packet capture)
  • SNORT (sistem deteksi intrusi)

(tcpdump diinstal pada banyak sistem linux secara default, atau dapat dengan mudah diinstal dari repositori paket, dan memiliki halaman manual yang komprehensif)

Jika ini untuk perusahaan tempat Anda bekerja, pastikan bahwa analisis keamanan disahkan oleh manajemen, dan bahwa pemindaian tidak akan menyebabkan pemadaman atau kekonyolan aplikasi. Ya, portscan sederhana dapat menyebabkan masalah - portscan printer HP Laserjet yang lebih lama dan mereka akan memuntahkan banyak kertas.

jtimberman
sumber
4

Sebagai pemeriksaan pertama yang sangat cepat:

Lari

netstat -ltnp

sebagai root. Itu akan menunjukkan kepada Anda semua layanan mendengarkan di jaringan:

Ini mungkin menunjukkan hal-hal yang ingin Anda tutup segera. Kemudian Anda dapat melanjutkan dengan solusi di jawaban lain.

Untuk layanan yang perlu dijalankan, tetapi tidak dapat diakses dari luar (seperti server DB lokal), pertimbangkan untuk mengubah konfigurasi sehingga hanya mendengarkan di localhost / 127.0.0.1. Dengan begitu hanya bisa diakses oleh pengguna lokal.

sleske
sumber
4

Saya akan memeriksa Bastille-Linux di http://www.bastille-unix.org/ , satu set skrip yang dapat Anda jalankan dan akan memeriksa pengaturan sistem, izin file, pengaturan pengguna dll. Saya telah menggunakannya satu atau dua kali pada kotak saya sendiri, dan jika menemukan masalah pada instalasi default (kebanyakan r_x pada rsh / rsync utils). Ini output sebagai html / java + kutukan / teks datar.

Jimsmithkka
sumber
3

Distro apa?

Umum:

  • Tinjau pengaturan iptables dan / atau firewall
  • Tinjau konfigurasi SSHD
  • Tinjau semua konfigurasi layanan yang dapat diakses secara eksternal
  • Pastikan Anda menjalankan perangkat lunak terbaru yang tersedia
  • Periksa kerentanan kernel (uname -a lalu google)
  • Tinjau izin pengguna dan izin grup pada file yang dapat diedit
David Rickman
sumber
Tidak ada distribusi khusus / semua distribusi
Daniel Rikowski
Juga, Anda mungkin ingin mengambil daftar paket yang diinstal. Sesuatu seperti dpkg --get-choices> mounted_pkgs.txt untuk distro debian
David Rickman
2
Anda juga mungkin perlu memeriksa file setuid / setgid yang tidak biasa, yang akunnya memiliki kata sandi, apa shell login mereka, dll. Untuk menghilangkan pintu belakang yang mudah.
mas
Saran bagus mas, saya benar-benar lupa itu, yang berpotensi lubang besar.
David Rickman
3

Pemeriksaan pertama yang baik lainnya adalah menjalankan nmap hostname dari host lain di jaringan. Ini memberikan pandangan orang luar tentang apa yang ditunjukkan netstat pada tuan rumah.

kmarsh
sumber
3

Jika Anda khawatir, saya akan merekomendasikan mengikuti tutorial yang Anda sebutkan dan membangun kembali server. Terutama jika Anda berpikir admin lain mungkin meninggalkan sesuatu yang buruk. Sebagai admin baru, Anda harus tahu cara menggunakan layanan apa pun yang sedang berjalan kembali.

Pastikan Anda mencadangkan semuanya terlebih dahulu, Anda bisa membayangkan semua partisi untuk memastikan Anda benar melakukannya.

Jika bos Anda tidak mengizinkan Anda, maka rekomendasi orang lain terdengar bagus untuk saya :-)

Kyle Brandt
sumber
+1: Jika pembuatan / konfigurasi tidak didokumentasikan dan Anda punya waktu, maka mungkin mengambil kesempatan untuk membangunnya kembali. Daripada harus melakukannya di bawah tekanan di kemudian hari. Kemudian Anda dapat yakin bahwa itu aman dan akan didokumentasikan untuk referensi di masa mendatang.
Dan Carley
2

Selain beberapa tanggapan yang sangat baik di sini, lihat http://www.sans.org/ . Mereka memiliki beberapa dokumen yang sangat bagus jika Anda mau membaca sedikit untuk mendapatkan pemahaman yang lebih baik tentang "pertahanan mendalam".

Beberapa premis yang sangat mendasar:

  • pertahankan server Anda ditambal
  • jalankan hanya layanan yang perlu dijalankan
  • batasi akses pengguna ke server
Greeblesnort
sumber
1
Ingatlah untuk membatasi juga akses fisik, tidak hanya dari jaringan.
iny
1

Coba juga chkrootkit , ia hadir dalam repositori standar dari sebagian besar distribusi dan toh sangat mudah dipasang. Ini akan memeriksa sistem Anda untuk mengetahui banyak kerentanan, rootkit, dan worm yang diketahui.

wazoox
sumber
1

Satu hal yang dapat Anda lakukan untuk merasakan sistem adalah diff folder / etc terhadap instalasi baru (dengan pembaruan yang sama diterapkan.) Ini akan memberi tahu Anda apa yang telah berubah sehingga Anda dapat memfokuskan masalah keamanan Anda di sana.

Chris Nava
sumber
1

Untuk memperluas apa yang dikatakan mas, berikut adalah perintah find sederhana untuk mendaftar semua file setuid dan setgid pada sistem untuk ditinjau.

find / -type f \( -perm -4000 -o -perm -2000 \) -print

Tentu saja, seperti yang orang lain katakan, ini semua dengan asumsi mesin sudah tidak memiliki rootkit di atasnya ...

Brad
sumber
1

Chrootkit / rkhunter adalah buah yang menggantung panjang. Jika Anda memasang rootkit, semua yang dilaporkan akan dikompromikan dan karenanya tidak banyak membantu, jadi silakan unduh dari sumber yang dikenal, jangan gunakan yang sudah ada di kotak. Trik bagus lainnya adalah menginstal kernel yang Anda tahu baik (baik dari paket atau roll milik Anda sendiri). Periksa backdoors (lsof -i dan 0 uid akun non-root). Memeriksa aturan firewall biasanya dapat memberi tahu Anda banyak tentang kebiasaan admin sebelumnya. Letakkan wireshark / mendengus padanya, cobalah untuk menemukan sesuatu yang tidak biasa. Lihatlah di mana log akan pergi. Periksa semua jenis file .profile / .bashrc untuk perintah yang tidak biasa. Lihat .ssh / known_hosts untuk host yang cerdik.

Marcin
sumber