Pencegahan peretasan, forensik, audit dan tindakan balasan


11

Baru-baru ini (tetapi ini juga merupakan pertanyaan berulang) kami melihat 3 utas menarik tentang peretasan dan keamanan:

Bagaimana cara saya menangani server yang disusupi? .
Menemukan bagaimana server yang diretas diretas
Pertanyaan izin file

Yang terakhir tidak terkait langsung, tetapi menyoroti betapa mudahnya mengacaukan administrasi server web.

Karena ada beberapa hal, yang dapat dilakukan, sebelum sesuatu yang buruk terjadi, saya ingin saran Anda dalam hal praktik yang baik untuk membatasi efek belakang serangan dan bagaimana bereaksi dalam kasus sedih akan terjadi.

Ini bukan hanya masalah mengamankan server dan kode, tetapi juga tentang audit, pencatatan dan tindakan balasan.

Apakah Anda memiliki daftar praktik yang baik atau lebih suka mengandalkan perangkat lunak atau pakar yang terus-menerus menganalisis server web Anda (atau tidak sama sekali)?

Jika ya, dapatkah Anda membagikan daftar dan gagasan / pendapat Anda?

MEMPERBARUI

Saya menerima beberapa umpan balik yang bagus dan menarik.

Saya ingin memiliki daftar sederhana, sehingga dapat berguna untuk administrator Keamanan TI tetapi juga untuk master web factotum .

Sekalipun semua orang memberikan jawaban yang baik dan benar, saat ini saya lebih suka yang Robert karena yang paling sederhana, jelas dan ringkas dan yang sysadmin1138 karena itu yang paling lengkap dan tepat.

Tapi tidak ada yang mempertimbangkan perspektif dan persepsi pengguna, saya pikir itu yang pertama yang harus dipertimbangkan.

Apa yang akan dipikirkan pengguna ketika akan mengunjungi situs saya yang diretas, apalagi jika Anda memiliki data yang masuk akal tentang mereka. Ini bukan hanya masalah di mana menyimpan data, tetapi bagaimana menenangkan pengguna yang marah.

Bagaimana dengan data, media, otoritas, dan pesaing?


3
Mulai dengan security.stackexchange.com . Meskipun sudah ada beberapa jawaban yang baik di sini ....
AviD

Poin bagus! Saya tidak tahu ada satu, saya pikir daftar lengkapnya ada di footer masing-masing tumpukan situs web.
tmow

Saya pikir situs beta tidak muncul di situs yang dipenuhi. Dan, situs fullfledged juga tidak ada pada beta footer :)
AviD

Jawaban:


11

Ada dua area besar untuk fokus:

  1. Membuatnya sulit untuk masuk.
  2. Membuat kebijakan dan prosedur untuk menangani dengan tenang dan efisien jika seseorang memasuki poin 1 sebelumnya.

Membuatnya sulit untuk masuk

Ini adalah topik yang sangat kompleks, dan banyak yang berfokus untuk memastikan Anda memiliki informasi yang cukup untuk mencari tahu WTF yang terjadi setelah fakta. Poin-poin abstrak untuk kesederhanaan:

  • Menyimpan catatan (lihat juga, Manajemen Kejadian Informasi Keamanan)
    • Setiap upaya otorisasi, baik yang berhasil maupun yang gagal, sebaiknya dengan sumber informasi yang utuh.
    • Log akses firewall (ini mungkin harus menyertakan firewall per server, jika sedang digunakan).
    • Log akses server web
    • Log otentikasi server database
    • Log penggunaan khusus aplikasi
    • Jika memungkinkan, SIEM dapat memberikan peringatan tentang pola yang mencurigakan.
  • Terapkan kontrol akses yang tepat
    • Pastikan hak diatur dengan benar di mana-mana, dan hindari 'hak malas' ("oh, beri semua orang baca") jika memungkinkan.
    • Audit berkala ACL untuk memastikan bahwa prosedur benar-benar diikuti, dan langkah pemecahan masalah sementara ("beri semua orang membaca, lihat apakah itu berfungsi") telah dihapus dengan benar setelah pemecahan masalah selesai.
    • Semua aturan lintas firewall perlu dibenarkan, dan diaudit secara berkala.
    • Kontrol akses server web perlu diaudit juga, baik server web dan sistem file ACL.
  • Menegakkan manajemen perubahan
    • Setiap perubahan pada lingkungan keamanan harus dilacak dan ditinjau oleh lebih dari satu orang secara terpusat.
    • Tambalan harus disertakan dalam proses ini.
    • Memiliki OS build umum (templat) akan menyederhanakan lingkungan dan membuat perubahan lebih mudah untuk dilacak dan diterapkan.
  • Nonaktifkan akun tamu.
  • Pastikan semua kata sandi tidak disetel ke default.
    • Aplikasi off-the-shelf dapat mengatur pengguna dengan kata sandi yang telah ditentukan. Ubah mereka.
    • Banyak perangkat TI yang dilengkapi dengan pasangan pengguna / kata sandi yang sangat terkenal. Ubah itu, bahkan jika Anda masuk ke benda itu hanya setahun sekali.
  • Berlatihlah yang paling tidak istimewa. Berikan pengguna akses yang sebenarnya mereka butuhkan.
    • Untuk pengguna Admin, pengaturan dua akun adalah bijaksana. Satu akun biasa digunakan untuk email dan tugas kantor lainnya, dan yang kedua untuk pekerjaan privat yang lebih tinggi. VM membuat ini lebih mudah untuk hidup.
    • JANGAN menganjurkan penggunaan administrator umum / akun root, sulit untuk melacak siapa yang melakukan apa dan kapan.

Membuat kebijakan dan prosedur untuk menangani dengan tenang dan efisien acara seseorang masuk

Kebijakan acara keamanan harus dimiliki semua organisasi. Ini sangat mengurangi fase "berkeliaran dengan kepala terputus" sebagai respons, karena orang cenderung menjadi tidak rasional ketika dihadapkan dengan peristiwa seperti ini. Intrusi adalah urusan besar dan menakutkan. Rasa malu karena mengalami gangguan dapat menyebabkan sysadmin berkepala dingin mulai bereaksi secara tidak benar.

Semua tingkatan organisasi perlu mengetahui kebijakan tersebut. Semakin besar insiden tersebut, semakin besar kemungkinan manajemen tingkat atas akan terlibat dalam beberapa cara, dan telah menetapkan prosedur untuk menangani berbagai hal akan sangat membantu dalam menangkis "bantuan" dari atas. Ini juga memberikan tingkat perlindungan bagi teknisi yang terlibat langsung dalam respons insiden, dalam bentuk prosedur untuk manajemen menengah untuk berinteraksi dengan anggota organisasi lainnya.

Idealnya, kebijakan Pemulihan Bencana Anda telah menentukan berapa lama layanan tertentu mungkin tidak tersedia sebelum kebijakan DR dimulai. Ini akan membantu respons insiden, karena peristiwa semacam ini adalah bencana. Jika acara adalah jenis di mana jendela pemulihan TIDAK akan dipenuhi (contoh: situs DR cadangan panas mendapatkan umpan waktu nyata dari data yang diubah, dan penyusup menghapus sekelompok data yang direplikasi ke situs DR sebelum mereka Oleh karena itu, prosedur pemulihan dingin perlu digunakan) maka manajemen tingkat atas perlu terlibat untuk pembicaraan penilaian risiko.

Beberapa komponen rencana respons kejadian:

  • Identifikasi sistem yang dikompromikan dan data yang terbuka.
  • Tentukan sejak awal apakah bukti hukum perlu disimpan atau tidak untuk penuntutan akhirnya.
    • Jika bukti harus disimpan, jangan sentuh apa pun tentang sistem itu kecuali jika memang diperlukan . Jangan masuk untuk itu. Jangan menyaring file-file log. Melakukan. Tidak. Sentuh.
    • Jika bukti harus dipertahankan, sistem yang dikompromikan perlu dibiarkan online tetapi diputuskan sampai ahli komputer forensik bersertifikat dapat membedah sistem dengan cara yang kompatibel dengan aturan penanganan bukti.
      • Mematikan sistem yang dikompromikan dapat mencemari data.
      • Jika sistem penyimpanan Anda mengizinkan ini (perangkat SAN diskrit) snapshot LUN yang terpengaruh sebelum pemutusan dan beri tanda baca-saja.
    • Aturan penanganan bukti rumit dan oh sangat mudah dikacaukan. Jangan lakukan itu kecuali Anda telah menerima pelatihan tentang mereka. Kebanyakan SysAdmin umum TIDAK memiliki pelatihan semacam ini.
    • Jika bukti disimpan, perlakukan kehilangan layanan sebagai bencana kehilangan perangkat keras dan mulai prosedur pemulihan dengan perangkat keras baru.
  • Aturan yang sudah ditentukan sebelumnya untuk jenis bencana apa yang membutuhkan jenis pemberitahuan apa. Hukum dan peraturan berbeda-beda berdasarkan daerah.
    • Aturan yang berkaitan dengan 'paparan' dan 'kompromi terbukti' memang beragam.
    • Aturan pemberitahuan akan meminta departemen Komunikasi untuk terlibat.
    • Jika pemberitahuan yang diperlukan cukup besar, manajemen tingkat atas harus dilibatkan.
  • Dengan menggunakan data DR, tentukan berapa banyak waktu "WTF yang baru saja terjadi" yang dapat dihabiskan sebelum mendapatkan layanan kembali ke jalur telepon menjadi prioritas yang lebih tinggi.
    • Waktu pemulihan layanan mungkin memerlukan pekerjaan untuk mencari tahu apa yang terjadi dengan bawahan. Jika demikian, maka ambil gambar drive perangkat yang terkena untuk pembedahan setelah layanan dipulihkan (ini bukan salinan pembuktian, itu untuk para teknisi untuk merekayasa balik).
    • Rencanakan tugas pemulihan layanan Anda untuk menyertakan pembangunan kembali lengkap sistem yang terpengaruh, tidak hanya membersihkan kekacauan.
    • Dalam beberapa kasus, waktu pemulihan layanan cukup ketat sehingga gambar disk harus segera diambil setelah mengidentifikasi kompromi telah terjadi dan bukti hukum tidak dapat dipertahankan. Setelah layanan dibangun kembali, pekerjaan mencari tahu apa yang terjadi dapat dimulai.
  • Telusuri logfiles untuk mendapatkan informasi yang berkaitan dengan bagaimana penyerang masuk dan apa yang mungkin mereka lakukan sekali.
  • Menyaring file yang diubah untuk informasi yang berkaitan dengan bagaimana mereka masuk, dan apa yang mereka lakukan setelah mereka masuk.
  • Telusuri log firewall untuk informasi tentang dari mana mereka berasal, ke mana mereka mungkin mengirim data, dan berapa banyak dari itu mungkin telah dikirim.

Memiliki kebijakan dan prosedur sebelum kompromi, dan dikenal oleh orang-orang yang akan mengimplementasikannya dalam hal kompromi, adalah sesuatu yang perlu dilakukan. Ini memberi setiap orang kerangka kerja respons pada saat orang tidak akan berpikir jernih. Manajemen tingkat atas dapat menggelegar dan menyulut tuntutan hukum dan tuntutan pidana, tetapi sebenarnya menyatukan kasus adalah proses yang mahal dan mengetahui bahwa sebelumnya dapat membantu meredam amarah.

Saya juga mencatat bahwa peristiwa semacam ini perlu diperhitungkan dalam keseluruhan rencana Respons Bencana. Kompromi akan sangat mungkin memicu kebijakan respons 'perangkat keras yang hilang' dan juga akan memicu respons 'kehilangan data'. Mengetahui waktu pemulihan layanan Anda membantu menetapkan harapan untuk berapa lama tim respons keamanan dapat menuangkan sistem yang dikompromikan yang sebenarnya (jika tidak menyimpan bukti hukum) sebelum diperlukan dalam pemulihan layanan.


Saya telah memilih jawaban Anda karena ini adalah yang paling lengkap, dan untuk itulah perusahaan, seperti yang bekerja untuk kami, mereka gunakan dan terus meningkat, tetapi saya ingin tahu bagaimana dapat disederhanakan juga untuk webmaster biasa, yang harus segera mencari solusinya, jauh lebih banyak tanpa uang dalam jumlah besar.
tmow

Masih tidak yakin antara jawaban Anda dan Robert.
tmow

Ini adalah jawaban yang bagus, berharap saya bisa +2 bukan hanya +1
Rob Moir

7

Bagaimana prosedur helpdesk yang tepat dapat membantu

Kita perlu mempertimbangkan bagaimana pelanggan ditangani di sini (ini berlaku untuk pelanggan internal dan eksternal yang menghubungi helpdesk).

Pertama-tama, komunikasi itu penting ; pengguna akan marah tentang gangguan terhadap bisnis, dan mungkin juga khawatir tentang tingkat / konsekuensi dari pelanggaran informasi yang mungkin terjadi sebagai bagian dari intrusi. Memberi informasi kepada orang-orang ini akan membantu mengelola kemarahan dan kepedulian mereka, baik dari sudut pandang bahwa berbagi pengetahuan itu baik, dan dari sudut pandang yang mungkin agak kurang jelas bahwa satu hal yang perlu mereka dengar adalah bahwa Anda mengendalikan situasi.

Helpdesk dan manajemen TI perlu bertindak sebagai "payung" pada titik ini, melindungi orang-orang yang melakukan pekerjaan untuk menentukan tingkat intrusi dan memulihkan layanan dari banyak pertanyaan yang mengganggu pekerjaan itu.

  1. Coba dan posting pembaruan yang realistis kepada pelanggan, dan bekerjalah dengan mereka untuk menentukan urgensi membawa layanan kembali online. Menyadari kebutuhan pelanggan adalah penting, tetapi pada saat yang sama tidak memungkinkan mereka untuk menentukan jadwal yang tidak dapat dikerjakan untuk Anda.
  2. Pastikan tim helpdesk Anda tahu informasi apa yang bisa dan tidak bisa dirilis, dan bahwa mereka tidak boleh mendorong desas-desus dan spekulasi (dan sama sekali tidak boleh membahas apa pun yang dapat merugikan tindakan hukum yang mungkin diambil atau dihadapi oleh organisasi Anda).
  3. Satu hal positif yang harus dilakukan helpdesk adalah mencatat semua panggilan yang berkaitan dengan intrusi - ini dapat membantu mengukur gangguan yang disebabkan oleh intrusi itu sendiri dan proses yang terjadi untuk mengatasinya. Menempatkan waktu dan biaya finansial pada intrusi dan mitigasi dapat sangat membantu baik dengan menyempurnakan strategi masa depan, dan jelas mungkin terbukti berguna dengan tindakan hukum apa pun. Insiden ITIL vs. rekaman masalah dapat membantu di sini - baik intrusi itu sendiri dan mitigasi dapat dicatat sebagai masalah yang terpisah, dan setiap penelepon dilacak sebagai insiden dari satu atau kedua masalah.

Bagaimana standar penerapan dapat membantu

Menerapkan ke template yang ditetapkan (atau setidaknya daftar periksa) juga membantu, bersama dengan mempraktikkan kontrol / manajemen perubahan atas penyesuaian / peningkatan pada template penempatan Anda. Anda dapat memiliki beberapa templat ke akun untuk server yang melakukan pekerjaan berbeda (mis. Templat server mail, templat server web, dll).

Templat harus bekerja untuk OS dan aplikasi, dan tidak hanya mencakup keamanan tetapi semua pengaturan yang Anda gunakan, dan idealnya harus dituliskan (misalnya templat) daripada diterapkan secara manual (mis. Daftar periksa) untuk menghilangkan kesalahan manusia sebanyak mungkin.

Ini membantu dalam beberapa cara:

  • Memungkinkan Anda untuk memulihkan / membangun kembali lebih cepat jika terjadi intrusi (perhatikan bahwa Anda tidak boleh menggunakan dari template ini 'apa adanya' karena Anda tahu itu rentan, tetapi itu memungkinkan Anda kembali ke "konfigurasi baik terakhir yang diketahui" " yang perlu menjalani pengerasan lebih lanjut sebelum penyebaran langsung ... dan jangan lupa untuk memperbarui templat penempatan Anda setelah Anda yakin itu dikunci dengan benar, baik)
  • Memberi Anda "garis dasar" untuk membandingkan server yang diretas
  • Mengurangi kesalahan yang tidak perlu yang mungkin mengarah pada intrusi
  • Membantu dengan manajemen perubahan dan tambalan karena ketika menjadi jelas bahwa Anda memerlukan tambalan / pemutakhiran atau perubahan prosedural untuk keamanan (atau alasan lain apa pun), membuatnya lebih mudah untuk melihat sistem apa yang memerlukan perubahan, membuatnya lebih mudah untuk menulis tes untuk melihat apakah perubahan diterapkan dengan benar, dll).
  • Jika segala sesuatunya konsisten dan masuk akal, itu membantu membuat peristiwa yang tidak biasa dan mencurigakan sedikit lebih jauh.

1
+1. Ya, itu benar, tetapi kemudian, jika semuanya terjadi berarti template Anda tidak seaman yang Anda kira, jadi Anda tidak dapat menggunakannya untuk menggunakan situs web baru. Anda memerlukan setidaknya halaman pemeliharaan yang memberi tahu pelanggan tentang masalah sementara dan lebih baik menyimpannya di tempat lain (server lain, IP lain, dan pengalihan dari yang lama). Saya pikir kita harus selalu mempertimbangkan kasus terburuk.
tmow

2
@ tmow - Anda benar tetapi templat memungkinkan Anda untuk mengembalikan sistem ke konfigurasi "diketahui" Anda dengan cepat, yang kemudian perlu Anda modifikasi sebelum Anda menggunakan server lagi. Saya akan mengubah jawaban untuk mencerminkan bahwa karena seharusnya disebutkan, Anda benar-benar di sana.
Rob Moir

1
Terima kasih. Jangan lupa perspektif dan persepsi pengguna.
tmow

@tmow menambahkan sedikit tentang pengguna dan menempatkan meja dukungan untuk bekerja membantu dengan hal itu.
Rob Moir

4

Untuk sebagian besar server kami, kami mengandalkan firewall host dan jaringan, perangkat lunak anti virus / spyware, IDS jaringan, dan host IDS untuk sebagian besar pencegahan kami. Ini bersama dengan semua pedoman umum seperti privasi minimum, program tidak penting yang dihapus, pembaruan, dll. Dari sana kami menggunakan produk-produk seperti Nagios, Cacti, dan solusi SIEM untuk berbagai lapisan dasar dan pemberitahuan kapan peristiwa terjadi. HIDS kami (OSSEC) melakukan banyak logging tipe SIEM juga yang bagus. Kami pada dasarnya mencoba melakukan hal-hal yang menghalangi sebanyak mungkin, tetapi kemudian login secara terpusat sehingga jika sesuatu terjadi kita dapat menganalisis dan menghubungkannya.


Semua benar, saya pikir tidak ada lagi yang diperlukan, tetapi sekali lagi, ketika itu terjadi, karena itu terjadi, apa yang sebenarnya Anda lakukan, apa yang Anda butuhkan untuk bereaksi cepat? Menganalisis ribuan baris log, lebih banyak lagi dalam situasi yang menekan, tidak akan memberikan solusi cepat atau solusi sementara untuk setidaknya menginformasikan pengguna.
tmow

Ketika sesuatu benar-benar terjadi, saat itulah Anda memerlukan prosedur dan tim yang merespons insiden yang telah dilatih dan tahu apa yang harus dilakukan. Saya tahu menganalisis ribuan baris log adalah tugas yang menakutkan, tetapi dengan pelatihan dan alat yang benar Anda akan dapat mempersempitnya sedikit. Ini masih akan menyedot pada akhirnya, tetapi mungkin satu-satunya solusi. Anda juga perlu memastikan bahwa Anda memiliki pemahaman yang baik dengan manajemen dan bagaimana mengendalikan setiap pengumuman insiden. Juga, prosedur pencadangan yang baik dapat meminimalkan berapa lama Anda turun jika sistemnya benar-benar tidak dapat dipulihkan.

Saya terbiasa menggiling miliaran baris log per hari dan yang saya tahu adalah bahwa sebelum memahami apa yang terjadi, jauh lebih penting untuk diperbaiki atau diselesaikan, yang dapat berupa server sementara hanya dengan halaman statis. menjelaskan kepada pengguna bla, bla, ..., bla dan minta maaf. Ini adalah langkah pertama, maka Anda berpikir tentang apa dan kapan Anda dapat membangun kembali layanan (atau bagian dari layanan itu) dan akhirnya Anda menyelidiki dan menerapkan tindakan pencegahan apa pun.
tmow

4

Apa yang Anda inginkan dapat dibagi menjadi 3 area dasar:

  1. Konfigurasi Sistem Standar
  2. Pemantauan Sistem / Aplikasi
  3. Respon Insiden

Jika Anda memiliki staf informasi (jaminan | keamanan) yang tersedia, maka Anda harus berbicara dengan mereka. Sementara Incident Response sering menjadi ruang lingkup kantor tersebut, sisanya harus merupakan upaya pengembangan bersama di semua pihak yang terkena dampak.

Dengan risiko self-mucikari, jawaban untuk pertanyaan terkait ini akan mengindeks banyak sumber daya yang berguna untuk Anda: Kiat untuk Mengamankan Server LAMP.

Idealnya, Anda harus memiliki jumlah OS yang didukung terkecil, dan membangun masing-masing menggunakan gambar dasar. Anda hanya boleh menyimpang dari pangkalan sebanyak yang diperlukan untuk menyediakan layanan apa pun yang disediakan server. Penyimpangan harus didokumentasikan, atau mungkin diperlukan jika Anda harus memenuhi PCI / HIPAA / dll. atau kepatuhan lainnya. Menggunakan penerapan dan sistem manajemen konfigurasi dapat banyak membantu dalam hal ini. Spesifikasi akan sangat tergantung pada OS Anda, tukang sepatu / boneka / Altiris / DeployStudio / SCCM, dll.

Anda pasti harus melakukan semacam tinjauan log reguler. Diberi opsi, SIEM bisa sangat membantu, tetapi mereka juga memiliki kelemahan yaitu menjadi mahal baik dalam harga pembelian maupun biaya pembangunan. Lihat pertanyaan ini dari situs SE Keamanan TI untuk beberapa komentar tentang analisis log: Bagaimana Anda menangani analisis log? Jika ini masih terlalu berat, bahkan alat umum seperti LogWatch dapat memberikan beberapa konteks yang baik untuk apa yang terjadi. Namun, bagian yang penting adalah meluangkan waktu untuk melihat log sama sekali. Ini akan membantu Anda berkenalan dengan apa yang merupakan perilaku normal, sehingga Anda bisa mengenali abnormal.

Selain meninjau log, pemantauan keadaan server juga penting. Mengetahui kapan perubahan terjadi, apakah direncanakan atau tidak, sangat penting. Memanfaatkan alat pemantauan lokal seperti Tripwire dapat mengingatkan admin untuk perubahan. Sayangnya, seperti SIEM dan IDSes memiliki kelemahan yaitu menjadi mahal untuk disesuaikan dan / atau dibeli. Selain itu, tanpa penyetelan yang baik, ambang peringatan Anda akan sangat tinggi sehingga pesan bagus apa pun akan hilang dalam kebisingan dan menjadi tidak berguna.


Saya menyetujui hampir semua hal tetapi ini berlaku terutama untuk perusahaan menengah dan besar. Perusahaan kecil tidak membutuhkan atau menginginkan struktur yang mahal.
tmow


2

Saya bukan ahli keamanan, jadi saya terutama tunduk kepada mereka; tetapi mulai dengan Principal of Least Privilege hampir selalu membuat pekerjaan mereka jauh lebih mudah. Menerapkan ini seperti salep penyembuhan bekerja dengan baik untuk banyak aspek keamanan: izin file, pengguna runtime, aturan firewall, dll. CIUMAN juga tidak ada salahnya.


2

Sebagian besar solusi yang disebutkan di sini berlaku di tingkat host dan jaringan tetapi kita sering lupa aplikasi web tidak aman. Aplikasi web adalah lubang keamanan yang paling sering terlihat. Ngomong-ngomong aplikasi web penyerang bisa mendapatkan akses ke database atau host Anda. Tidak ada firewall, IDS, firewall yang dapat melindungi Anda dari semua itu. OWASP menyimpan daftar 10 kerentanan paling kritis dan menawarkan perbaikan untuk mereka.

http://www.scribd.com/doc/19982/OWASP-Web-Security-Guide

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.