Linux: sysadmin produktif tanpa root (mengamankan kekayaan intelektual)?


66

Apakah ada cara untuk membuat syadmin Linux berpengalaman menjadi produktif tanpa memberinya akses root penuh?

Pertanyaan ini berasal dari perspektif melindungi kekayaan intelektual (IP), yang dalam kasus saya, sepenuhnya merupakan kode dan / atau file konfigurasi (yaitu file digital kecil yang mudah disalin). Saus rahasia kami telah membuat kami lebih sukses daripada yang disarankan ukuran kecil kami. Demikian juga, kami pernah digigit, dua kali malu dari beberapa mantan karyawan yang tidak bermoral (bukan sysadmin) yang mencoba mencuri IP. Posisi manajemen puncak pada dasarnya adalah, "Kami memercayai orang-orang, tetapi karena kepentingan pribadi, tidak mampu menanggung risiko memberi satu orang lebih banyak akses daripada yang benar-benar mereka butuhkan untuk melakukan pekerjaan mereka."

Di sisi pengembang , relatif mudah untuk membagi alur kerja dan tingkat akses sehingga orang bisa menjadi produktif tetapi hanya melihat apa yang perlu mereka lihat. Hanya orang-orang top (pemilik perusahaan yang sebenarnya) yang memiliki kemampuan untuk menggabungkan semua bahan dan membuat saus khusus.

Tapi saya belum bisa menemukan cara yang baik untuk menjaga kerahasiaan IP ini di sisi admin Linux. Kami menggunakan GPG secara ekstensif untuk kode dan file teks sensitif ... tetapi apa yang membuat admin berhenti (misalnya) menuntut pengguna dan melompat pada tmux atau sesi Layar GNU dan melihat apa yang mereka lakukan?

(Kami juga memiliki akses Internet dinonaktifkan di mana-mana yang mungkin berhubungan dengan informasi sensitif. Tapi, tidak ada yang sempurna, dan mungkin ada lubang yang terbuka untuk sysadmin pintar atau kesalahan di sisi admin jaringan. Atau bahkan USB lama yang baik. Ada beberapa tentu saja banyak langkah-langkah lain di tempat, tetapi itu berada di luar cakupan pertanyaan ini.)

Yang terbaik yang bisa saya lakukan pada dasarnya adalah menggunakan akun yang dipersonalisasi dengan sudo , mirip dengan apa yang dijelaskan dalam beberapa sysadmin Linux yang berfungsi sebagai root . Khususnya: tidak ada seorang pun kecuali pemilik perusahaan yang benar-benar memiliki akses root langsung. Admin lain akan memiliki akun yang dipersonalisasi dan kemampuan untuk sudo menjadi root. Selain itu, logging jarak jauh akan dilembagakan, dan log akan pergi ke server yang hanya dapat diakses oleh pemilik perusahaan. Melihat logging dimatikan akan memicu semacam peringatan.

Sysadmin yang cerdik mungkin masih dapat menemukan beberapa lubang dalam skema ini. Selain itu, masih reaktif daripada proaktif . Masalah dengan IP kami adalah sedemikian rupa sehingga pesaing dapat menggunakannya dengan sangat cepat, dan menyebabkan banyak kerusakan dalam waktu yang sangat singkat.

Jadi masih lebih baik akan menjadi mekanisme yang membatasi apa yang bisa dilakukan admin. Tetapi saya menyadari bahwa ini adalah keseimbangan yang sulit (terutama dalam hal mengatasi masalah dan memperbaiki masalah produksi yang perlu diselesaikan sekarang ).

Saya bertanya-tanya bagaimana organisasi lain dengan data yang sangat sensitif mengelola masalah ini? Sebagai contoh, sysadmin militer: bagaimana mereka mengelola server dan data tanpa dapat melihat informasi rahasia?

Sunting: Dalam postingan awal, saya bermaksud untuk lebih dulu menanggapi komentar "praktik perekrutan" yang mulai muncul. Satu, ini seharusnya menjadi pertanyaan teknis , dan mempekerjakan praktik IMO lebih cenderung ke pertanyaan sosial . Tapi, dua, saya akan mengatakan ini: Saya percaya kita melakukan semua yang masuk akal untuk mempekerjakan orang: wawancara dengan banyak orangorang-orang di perusahaan; pemeriksaan latar belakang dan referensi; semua karyawan menandatangani banyak dokumen hukum, termasuk yang mengatakan mereka telah membaca dan memahami buku pegangan kami yang merinci keprihatinan IP secara terperinci. Sekarang, itu di luar ruang lingkup pertanyaan / situs ini, tetapi jika seseorang dapat mengusulkan praktik perekrutan yang "sempurna" yang menyaring 100% aktor-aktor jahat, saya mendengar semuanya. Faktanya adalah: (1) Saya tidak percaya ada proses perekrutan yang sempurna; (2) orang berubah - malaikat hari ini bisa jadi iblis besok; (3) percobaan pencurian kode tampaknya agak rutin di industri ini.


15
Hal pertama yang terlintas dalam pikiran ketika membaca pertanyaan terakhir Anda ... Snowden.
Hrvoje Ĺ poljar

33
Anda bisa mendapatkan jauh dengan kebijakan SELinux yang tepat, tetapi ini akan cukup mahal untuk diterapkan. Pada akhirnya, sysadmin harus memiliki beberapa akses ke sistem dan file-file di atasnya, untuk melakukan pekerjaan mereka. Masalah Anda bukan teknis, sedang dalam proses perekrutan.
Michael Hampton

6
Militer menggunakan izin keamanan dan integritas dua orang . Meski begitu, terkadang ada pelanggaran. Kemungkinan kedua orang memiliki rencana jahat jauh lebih sedikit.
Steve

14
Alasan ini berbau seperti masalah orang adalah karena itu masalah orang.
Sirex

6
Ini adalah untuk apa NDA.
Michael Martinez

Jawaban:


19

Apa yang Anda bicarakan dikenal sebagai risiko "Evil Sysadmin". Panjang dan pendeknya adalah:

  • Sysadmin adalah seseorang yang memiliki hak istimewa yang tinggi
  • Secara teknis mahir, ke level yang akan membuat mereka menjadi 'hacker' yang baik.
  • Berinteraksi dengan sistem dalam skenario anomali.

Kombinasi hal-hal ini pada dasarnya tidak memungkinkan untuk menghentikan tindakan jahat. Bahkan audit menjadi sulit, karena Anda tidak memiliki 'normal' untuk dibandingkan. (Dan terus terang - sistem yang rusak mungkin juga telah merusak audit).

Ada banyak langkah mitigasi:

  • Pemisahan hak istimewa - Anda tidak dapat menghentikan pria dengan root untuk melakukan sesuatu pada sistem. Tetapi Anda dapat membuat satu tim bertanggung jawab untuk jaringan, dan tim lain bertanggung jawab untuk 'sistem operasi' (atau Unix / Windows secara terpisah).
  • Batasi akses fisik ke kit ke tim yang berbeda, yang tidak mendapatkan akun admin ... tapi urus semua pekerjaan 'tangan'.
  • Pisahkan tanggung jawab 'desktop' dan 'server'. Konfigurasikan desktop untuk mencegah penghapusan data. Admin desktop tidak memiliki kemampuan untuk mengakses sensitif, admin server dapat mencurinya, tetapi harus melewati rintangan untuk mengeluarkannya dari gedung.
  • Mengaudit ke sistem akses terbatas - syslogdan audit level acara, ke sistem yang relatif lebih ramah yang tidak dapat mereka akses. Tetapi mengumpulkannya tidak cukup, Anda perlu memantaunya - dan terus terang, ada banyak cara untuk 'mencuri' informasi yang mungkin tidak muncul di radar audit. (Pemburu vs gamekeeper)
  • menerapkan enkripsi 'saat istirahat', sehingga data tidak disimpan 'di tempat yang jelas', dan membutuhkan sistem langsung untuk mengakses. Ini berarti bahwa orang-orang dengan akses fisik tidak dapat mengakses sistem yang tidak dimonitor secara aktif, dan bahwa dalam skenario 'anomali' di mana sysadmin bekerja di dalamnya, data kurang terekspos. (mis. jika database tidak berfungsi, data mungkin tidak dapat dibaca)
  • Aturan dua orang - jika Anda baik-baik saja dengan produktivitas Anda yang cacat, dan moral Anda juga. (Serius - Saya sudah melihatnya selesai, dan kondisi kerja dan pengawasan yang terus-menerus membuat kondisi kerja sangat sulit).
  • Periksa sysadmin Anda - berbagai catatan pemeriksaan mungkin ada tergantung pada negara. (Pemeriksaan catatan kriminal, Anda bahkan mungkin menemukan Anda dapat mengajukan permohonan izin keamanan dalam beberapa kasus, yang akan memicu pemeriksaan)
  • Jaga sysadmin Anda - hal terakhir yang mutlak ingin Anda lakukan adalah memberi tahu orang yang "tepercaya" bahwa Anda tidak mempercayai mereka. Dan Anda tentu tidak ingin merusak moral, karena hal itu meningkatkan kemungkinan perilaku jahat (atau 'tidak-cukup-kelalaian, tetapi tergelincir dalam kewaspadaan'). Tapi bayar sesuai tanggung jawab dan juga keahlian. Dan pertimbangkan 'tunjangan' - yang lebih murah dari gaji, tetapi mungkin lebih dihargai. Suka kopi gratis, atau pizza seminggu sekali.
  • dan Anda juga dapat mencoba dan menerapkan persyaratan kontrak untuk mencegahnya, tetapi berhati-hatilah dengan hal di atas.

Tapi cukup mendasar - Anda harus menerima bahwa ini adalah hal yang dapat dipercaya, bukan hal teknis. Sysadmin Anda akan selalu berpotensi sangat berbahaya bagi Anda, sebagai akibat dari badai yang sempurna ini.


2
Saya sesekali memakai topi sysadmin. Saya merasa perlu untuk menyimpan alat-alat canggih di sekitar tempat saya bisa mendapatkannya, beberapa di antaranya memiliki tujuan yang dirancang untuk mengelak dari kontrol akses sistem (kalau-kalau ada yang berhasil mengunci semua orang keluar dari workstation tentu saja). Seperti sifat operasi mereka, audit menjadi lemah atau tidak efektif.
joshudson

3
Iya. Untuk semua alasan tukang kunci dapat masuk ke rumah Anda secara sah, sysadmin mungkin perlu masuk ke jaringan.
Sobrique

@ Sobrique: ada sesuatu yang saya masih tidak mengerti: mengapa kita mendengar tentang sysadmin nakal mencuri banyak data dan bukan tentang pelayan nakal melakukan hal yang sama (mereka bisa melakukannya selama semuanya ada di atas kertas) .
user2284570

Volume - terabyte hardcopy besar. Dan kerusakan. Menyabotase sistem itu secara harfiah dapat menghancurkan perusahaan.
Sobrique

51

Semua yang dikatakan sejauh ini di sini adalah hal yang baik tetapi ada satu cara non teknis 'mudah' yang membantu meniadakan admin sys nakal - prinsip empat mata yang pada dasarnya mengharuskan dua sysadmin hadir untuk setiap akses tinggi.

EDIT: Dua item terbesar yang saya lihat di komentar membahas biaya dan kemungkinan kolusi. Salah satu cara terbesar yang saya pertimbangkan untuk menghindari kedua masalah tersebut adalah dengan menggunakan perusahaan jasa terkelola yang hanya digunakan untuk verifikasi tindakan yang diambil. Jika dilakukan dengan benar, para teknisi tidak akan saling kenal. Dengan asumsi kecakapan teknis bahwa MSP harus memiliki itu akan cukup mudah untuk memiliki tanda dari tindakan yang diambil .. bahkan mungkin sesederhana ya / tidak untuk apa pun yang jahat.


17
@ Sirex: Ya, itulah masalah dengan keamanan - selalu ada biaya.
sleske

10
Tidak, saya telah bekerja di organisasi yang cukup kecil (100-1000 orang) yang melakukan hal itu. Mereka hanya menerima bahwa prosedur mereka akan membuat semua biaya aktivitas sysadmin antara empat dan sepuluh kali lebih banyak dari yang seharusnya, dan mereka membayar.
MadHatter

10
Ini satu-satunya jawaban nyata. Kit kami berada di dalam beberapa lokasi pemerintah yang aman dan (di antara langkah-langkah lain) kami menggunakan pendekatan ini untuk memastikan bahwa tidak ada orang yang dapat mengakses terminal yang ditinggikan. Permintaan terperinci diajukan untuk pekerjaan yang harus dilakukan, banyak orang menandatanganinya (50+, mendesah ), kemudian dua admin berkumpul dan melakukan perubahan. Ini meminimalkan risiko (dan juga kesalahan konyol). Memang mahal dan sangat menyakitkan untuk menyelesaikan apa pun, tetapi itulah harga keamanannya. Re: 50+ penandatangan, yang meliputi tim jaringan, tim DC, manajer proyek, keamanan, penyimpanan, pen tester, vendor perangkat lunak, dll.
Basic

4
Anda mungkin akan kesulitan untuk mempekerjakan, ya. Ini akan menjadi penghenti acara instan bagi saya karena saya ingin benar-benar menyelesaikan sesuatu dan itu akan melemahkan kenikmatan kerja saya.
Sirex

3
Perhatikan bahwa kenaikan biaya tidak berlaku untuk setiap tindakan sysadmin. Namun, itu berlaku untuk tindakan yang ditinggikan sendiri maupun persiapan mereka. TKI, Anda tidak bisa mengatakan: "sysadmin bekerja 40 jam seminggu, 4 di antaranya meningkat, sehingga kenaikan biaya hanya 10%". Di sisi positifnya, skema ini juga menangkap kesalahan normal dan jujur. Itu menghemat uang.
MSalters

27

Jika orang benar-benar membutuhkan akses admin ke suatu sistem maka ada sedikit yang dapat Anda lakukan untuk membatasi aktivitas mereka di kotak itu.

Apa yang dilakukan sebagian besar organisasi adalah kepercayaan, tetapi verifikasi - Anda mungkin memberi orang akses ke bagian-bagian sistem tetapi Anda menggunakan akun admin bernama (mis. Anda tidak memberi mereka akses langsung ke root ) dan kemudian mengaudit aktivitas mereka ke log yang mereka tidak dapat mengganggu.

Ada tindakan penyeimbangan di sini; Anda mungkin perlu melindungi sistem Anda, tetapi Anda perlu mempercayai orang lain untuk melakukan pekerjaan mereka juga. Jika perusahaan sebelumnya "digigit" oleh karyawan yang tidak bertanggung jawab, maka ini mungkin menunjukkan bahwa perusahaan yang mempekerjakannya buruk dalam beberapa hal, dan praktik itu mungkin diciptakan oleh "manajer puncak". Kepercayaan dimulai di rumah; apa yang mereka lakukan untuk memperbaiki pilihan perekrutan mereka?


3
Ini adalah pengamatan yang bagus - audit yang baik memungkinkan orang menyelesaikan pekerjaan mereka namun tetap bertanggung jawab atas tindakan mereka.
Steve Bonds

1
Penggunaan yang benar dari auditd dan syslog juga bisa bermanfaat. Data itu dapat dipantau oleh segudang alat keamanan untuk mencari perilaku aneh atau jelas buruk.
Aaron

3
Masalah sebenarnya dengan audit adalah bahwa ada BANYAK kebisingan. Setelah beberapa bulan, tidak ada yang akan melihat log kecuali ketika sesuatu terjadi.
TomTom

1
Saya setuju TomTom, mendapatkan rasio signal to noise tepat pada log keamanan adalah masalah tetapi Anda masih perlu login, saya pikir. @Sobrique Saya akan mengatakan, bahwa 'sysadmin jahat' sebagian besar merupakan masalah perekrutan daripada masalah teknologi; Anda harus menutup kedua sisi celah, jadi saya akan memerlukan 'praktik terbaik' hari ke hari dan meningkatkan proses perekrutan, pertimbangkan '4 mata' untuk hal-hal saus rahasia yang sebenarnya sebagaimana disinggung Tim, serta pengayakan log
Rob Moir

1
Sedikit, tetapi ingatlah tentang 'siklus kerja' yang dapat dilakukan oleh aktor yang beritikad baik menjadi jahat. Itu lebih tentang pencabutan hak dan moral daripada mempekerjakan praktik sendiri. Hal-hal yang menjadikan seseorang sysadmin yang baik juga akan menjadikan mereka peretas yang baik. Jadi mungkin pada titik itu - mempekerjakan sysadmin biasa-biasa saja adalah jalan ke depan?
Sobrique

18

Tanpa menempatkan diri Anda dalam putaran pikiran teknis yang gila untuk mencoba dan menemukan cara untuk memberikan kekuatan sysadmin tanpa memberi mereka kekuatan (itu kemungkinan bisa dilakukan, tetapi pada akhirnya akan cacat dalam beberapa cara).

Dari sudut pandang praktik bisnis, ada serangkaian solusi sederhana. Bukan solusi murah, tapi sederhana.

Anda menyebutkan bahwa potongan-potongan IP yang Anda khawatirkan dibagi dan hanya orang-orang di atas yang memiliki kekuatan untuk melihatnya. Ini pada dasarnya adalah jawaban Anda. Anda harus memiliki beberapa admin, dan NONE dari mereka harus menjadi admin pada sistem yang cukup untuk mengumpulkan gambar lengkap. Anda tentu saja membutuhkan setidaknya 2 atau 3 admin untuk setiap bagian, jika admin sakit atau dalam kecelakaan mobil atau sesuatu. Mungkin bahkan mengejutkan mereka. katakanlah Anda memiliki 4 admin, dan 8 informasi. admin 1 dapat mengakses sistem yang memiliki bagian 1 dan 2, admin 2 dapat mencapai potongan 2 dan 3, admin 3 dapat mencapai 3 dan 4, dan admin 4 dapat mencapai 4 dan 1. Setiap sistem memiliki admin cadangan, tetapi tidak ada admin dapat kompromi gambar lengkap.

Salah satu teknik yang digunakan militer juga adalah keterbatasan memindahkan data. Di area sensitif mungkin hanya ada satu sistem yang mampu membakar disk, atau menggunakan USB flash drive, semua sistem lain dibatasi. Dan kemampuan untuk menggunakan sistem itu sangat terbatas dan memerlukan persetujuan khusus yang didokumentasikan oleh para petinggi sebelum siapa pun diizinkan untuk meletakkan data apa pun pada apa pun yang dapat menyebabkan tumpahan informasi. Sepanjang token yang sama, Anda memastikan bahwa lalu lintas jaringan antara sistem yang berbeda dibatasi oleh firewall perangkat keras. Admin jaringan Anda yang mengontrol tembok api tidak memiliki akses ke sistem yang dirutekaninya, sehingga mereka tidak dapat secara khusus mendapatkan akses ke informasi, dan admin server / workstation Anda memastikan bahwa semua data ke dan dari sistem dikonfigurasikan untuk dienkripsi,

Semua laptop / workstation harus memiliki hard drive terenkripsi, dan setiap karyawan harus memiliki loker pribadi. Mereka harus mengunci drive / laptop pada akhir malam untuk memastikan bahwa tidak ada yang datang lebih awal / terlambat dan mendapatkan akses ke sesuatu mereka tidak seharusnya.

Setiap server setidaknya harus berada di rak terkunci sendiri, jika tidak ruang terkunci sendiri, sehingga hanya admin yang bertanggung jawab untuk setiap server memiliki akses ke sana, karena pada akhirnya akses fisik mengalahkan semua.

Berikutnya ada latihan yang bisa melukai / membantu. Kontrak terbatas. Jika Anda pikir Anda dapat membayar cukup untuk terus menarik talenta baru, opsi hanya menyimpan setiap admin untuk waktu yang telah ditentukan sebelumnya (yaitu 6 bulan, 1 tahun, 2 tahun) akan memungkinkan Anda untuk membatasi berapa lama seseorang akan memiliki untuk mencoba menyatukan semua bagian dari IP Anda.

Desain pribadi saya akan menjadi sesuatu di sepanjang garis ... Membagi data Anda menjadi betapapun banyaknya, katakanlah demi memiliki nomor 8, Anda memiliki 8 server git, masing-masing dengan perangkat keras mereka sendiri yang berlebihan, masing-masing diadministrasikan oleh satu set admin yang berbeda.

Hardrives terenkripsi untuk semua workstation yang akan menyentuh IP. dengan direktori "proyek" khusus pada drive yang merupakan satu-satunya direktori pengguna yang diizinkan untuk memasukkan proyek mereka. Pada akhir setiap malam mereka diharuskan untuk membersihkan direktori proyek mereka dengan alat penghapusan yang aman, kemudian hard drive dihapus dan terkunci (hanya untuk aman).

Setiap bit proyek memiliki admin yang berbeda ditugaskan untuk itu, sehingga pengguna hanya akan berinteraksi dengan admin workstation mereka ditugaskan, jika tugas proyek mereka berubah, data mereka dihapus, mereka ditugaskan admin baru. Sistem mereka seharusnya tidak memiliki kapabilitas pembakaran dan harus menggunakan program keamanan untuk mencegah penggunaan flash drive USB untuk mentransfer data tanpa otorisasi.

ambil dari ini apa yang Anda inginkan.


2
Terima kasih, banyak hal bagus di sana, dan banyak yang kami lakukan. Meskipun saya menyukai gagasan multi admin, kami tidak benar-benar cukup besar membutuhkannya. Saya benar-benar hanya membutuhkan satu admin, jadi jika saya punya empat, mereka biasanya akan bosan. Bagaimana kita menemukan bakat tingkat atas yang kita inginkan, tetapi hanya memberi mereka beban kerja yang sangat kecil? Saya khawatir orang pintar akan cepat bosan dan beralih ke padang rumput yang lebih hijau.
Matt

2
Ya, itu adalah masalah besar, dan sebenarnya salah satu bidang pemerintah sangat menderita. Tempat saya memulai sebagai admin sering disebut sebagai "pintu putar." Semuanya adalah masalah yang sulit untuk ditangani. Jaminan informasi secara umum adalah kacang yang cukup sulit untuk ditembus: \
Gravy

@Matt How do we find the top-tier talent we want, but only give them a teeny-tiny workload?Sampai batas tertentu, Anda dapat mengurangi ini dengan memberi mereka lingkungan uji / R & D yang besar, akses ke mainan baru yang keren dan mendorong mereka untuk menghabiskan sebagian besar dari hari kerja mereka untuk mengembangkan keterampilan teknologi mereka. Beban kerja 25% yang efektif mungkin mendorong hal itu terlalu jauh, tetapi saya benar-benar ingin tahu tentang pekerjaan yang merupakan 50% pekerjaan aktual dan 50% pengembangan teknis / Litbang (dengan asumsi gaji berada pada tingkat yang sama dengan yang normal ~ 100% " pekerjaan aktual ").
HopelessN00b

11

Ini akan mirip dengan tantangan mempekerjakan petugas kebersihan untuk sebuah bangunan. Petugas kebersihan dapat memiliki semua kunci, dapat membuka pintu apa pun, tetapi alasannya adalah bahwa petugas kebersihan membutuhkan mereka untuk melakukan pekerjaan itu. Sama dengan admin sistem. Secara simetris orang dapat memikirkan masalah tua zaman ini dan melihat cara-cara kepercayaan diberikan secara historis.

Meskipun tidak ada solusi teknis yang rapi, fakta bahwa tidak ada solusi yang seharusnya tidak menjadi alasan bahwa kami tidak mencoba, agregasi solusi yang tidak sempurna dapat memberikan hasil yang agak bagus.

Model di mana kepercayaan diperoleh :

  • Berikan lebih sedikit izin untuk memulai
  • Tingkatkan izin secara bertahap
  • Pasang honeypot dan pantau apa yang terjadi dalam beberapa hari mendatang
  • Jika sysadmin melaporkannya alih-alih mencoba menyalahgunakannya, itu awal yang baik

Menerapkan beberapa tingkat kekuatan administratif :

  • Level 1: Dapat memodifikasi tingkat yang lebih rendah dari file konfigurasi
  • Level 2: Dapat memodifikasi tier file konfigurasi yang sedikit lebih tinggi
  • Level 3: Dapat memodifikasi tier file konfigurasi dan pengaturan OS yang sedikit lebih tinggi

Selalu menciptakan lingkungan di mana akses total oleh satu orang tidak mungkin :

  • Membagi sistem dalam kelompok
  • Berikan kekuatan admin cluster untuk grup yang berbeda
  • Minimal 2 kelompok

Gunakan aturan Two-man saat melakukan perubahan inti tingkat tinggi :

Percaya dan verifikasi :

  • Catat semuanya
  • Log pemantauan dan peringatan
  • Pastikan semua tindakan dapat dibedakan

Dokumen :

  • Mintalah mereka menandatangani dokumen untuk membuat sistem hukum dapat membantu Anda dengan menuntut mereka jika mereka menyakiti Anda memberi lebih banyak insentif untuk tidak melakukannya

Tidak hanya mencatat segalanya, tetapi sesuatu perlu memonitor dan mengingatkan pada log tersebut, idealnya dengan cara yang mudah dikonsumsi manusia.
Aaron

9

Sangat sulit untuk mengamankan host terhadap mereka yang memiliki akses administratif. Sementara alat-alat seperti PowerBroker berusaha melakukan ini, biayanya adalah menambahkan sesuatu yang lain yang dapat merusak DAN menambahkan hambatan pada upaya memperbaikinya. Ketersediaan sistem Anda AKAN jatuh ketika Anda menerapkan sesuatu seperti ini jadi tetapkan harapan itu lebih awal sebagai biaya untuk melindungi sesuatu.

Kemungkinan lain adalah untuk melihat apakah aplikasi Anda dapat berjalan di host pakai melalui penyedia cloud atau di cloud pribadi yang di-host secara lokal. Ketika ada yang rusak, alih-alih mengirim admin untuk memperbaikinya, Anda membuangnya dan membuat pengganti secara otomatis. Ini akan membutuhkan cukup banyak pekerjaan di sisi aplikasi untuk membuatnya berjalan dalam model ini, tetapi dapat menyelesaikan banyak masalah operasional dan keamanan. Jika dilakukan dengan buruk, ini dapat menciptakan beberapa masalah keamanan yang signifikan, jadi dapatkan bantuan berpengalaman jika Anda menempuh rute itu.


4

Ini adalah diskusi dasar Anda: https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux

Anda membagi tanggung jawab Anda dengan meminta insinyur keamanan yang tugasnya membuat konfigurasi dan pemasangan sistem, tetapi mereka tidak mendapatkan kredensial atau akses ke mesin yang sedang diproduksi. Mereka juga menjalankan infrastruktur audit Anda.

Anda memiliki admin produksi yang menerima sistem tetapi tidak memiliki kunci untuk mem-boot mesin tanpa kebijakan SELinux aktif. Keamanan tidak mendapatkan kunci untuk mendekripsi data sensitif yang disimpan saat istirahat di disk ketika mereka mendapatkan mesin yang rusak ditarik dari layanan.

Memanfaatkan sistem otentikasi terpusat dengan audit yang kuat seperti Vault dan memanfaatkan operasi crypto-nya. Bagikan perangkat Yubikey untuk membuat kunci benar-benar pribadi dan tidak dapat dibaca.

Mesin bisa terhapus pada kerusakan atau ditangani oleh ops dan keamanan bersama, dan jika Anda merasa perlu pengawasan eksekutif.


2

Admin berdasarkan sifat pekerjaan memiliki akses ke semuanya. Mereka dapat melihat setiap file dalam sistem file dengan kredensial admin mereka. Jadi, Anda memerlukan cara untuk mengenkripsi file sehingga admin tidak dapat melihatnya, tetapi file tersebut masih dapat digunakan oleh tim yang seharusnya melihatnya. Lihat ke dalam Enkripsi Transparan Vormetrik ( http://www.vormetric.com/products/transparent-encryption )

Cara kerjanya adalah bahwa ia berada di antara sistem file dan aplikasi yang mengaksesnya. Manajemen dapat membuat kebijakan yang mengatakan "Hanya pengguna httpd, menjalankan daemon server web dapat melihat file tidak terenkripsi". Kemudian admin dengan kredensial root mereka dapat mencoba membaca file dan hanya mendapatkan versi terenkripsi. Tetapi server web dan alat apa pun yang dibutuhkan melihat mereka tidak terenkripsi. Bahkan dapat checksum biner untuk mempersulit admin untuk berkeliling.

Tentu saja Anda harus mengaktifkan audit sehingga jika admin mencoba mengakses file, pesan akan ditandai dan orang-orang tahu tentangnya.


1
Lalu, siapa yang dapat memperbarui file? Bagaimana mereka melakukannya?
Michael Hampton

3
Plus ... Jika saya melakukan root pada kotak itu, kemungkinan besar saya dapat menumbangkan daemon server web. Bahkan jika itu memeriksa hash biner untuk memastikan saya belum mengganti daemon, akan ada beberapa cara saya bisa menipu server web untuk membuat permintaan yang tampaknya sah untuk data.
Dasar

1
Sebenarnya SysAdmins mungkin tidak memiliki akses ke semua file-C2 dan sistem yang lebih aman dapat memblokir admin. Mereka dapat memaksa akses, tetapi ini tidak dapat dibatalkan (mengatur mereka sebagai pengguna) dan meninggalkan jejak (log, yang dapat mereka hapus tetapi tidak mudah berubah).
TomTom

Ini tidak akan membantu karena admin dapat 'menjadi' httpd ... Admin juga dapat membaca / dev / mem dan karenanya semua kunci.
John Keates

2
@TomTom: Kemungkinan sistem operasi yang memuaskan C2 adalah mitos. Windows NT4 lulus sertifikasi, tetapi ternyata merupakan kartu palsu. Kemampuan untuk mundur dari akses paksa selalu ada, dan saya telah menggunakannya, dan kami memiliki prosedur yang bergantung pada itu berfungsi karena beberapa program mencoba menggunakannya untuk memverifikasi bahwa file-nya tidak dirusak, tetapi kita perlu mengubah mereka.
joshudson

2

Satu-satunya cara praktis adalah membatasi siapa yang bisa melakukan apa dengan sudo. Anda mungkin juga berpotensi melakukan sebagian besar dari apa yang Anda inginkan dengan selinux tetapi mungkin perlu waktu lama untuk mengetahui konfigurasi yang benar yang mungkin membuatnya tidak praktis.

Perjanjian tanpa pengungkapan. Menyewa sysadmin, mereka harus menandatangani NDA, jika mereka melanggar janji mereka, membawa mereka ke pengadilan. Ini mungkin tidak mencegah mereka mencuri rahasia, tetapi segala kerusakan yang mereka sebabkan dapat dipulihkan di pengadilan.

Sysadmin militer dan pemerintah harus mendapatkan izin keamanan dengan nilai yang berbeda tergantung pada seberapa sensitif bahan tersebut. Gagasannya adalah bahwa seseorang yang bisa mendapatkan izin lebih kecil kemungkinannya untuk mencuri atau menipu.


Idenya adalah bahwa 1) mendapatkan dan mempertahankan izin membatasi kemampuan mereka untuk melakukan bisnis yang teduh; 2) pekerjaan yang membutuhkan izin keamanan yang lebih tinggi membayar lebih baik, yang berarti insentif kuat untuk menjaga izin itu terlepas dari apakah Anda menyukai majikan Anda saat ini .
Shadur

Yang mengatakan, sekali lagi, OP secara khusus mengatakan dia meminta langkah-langkah pencegahan - tentu saja, Anda dapat menuntut mereka atas pelanggaran NDA setelah itu, tetapi apakah sysadmin menyerang Anda karena kemungkinan akan menghasilkan uang yang cukup untuk memulihkan jenis kerusakan yang ia maksudkan?
Shadur

Anda tidak hanya memulihkan kerugian dari sysadmin, tetapi dari siapa pun atau bisnis lain apa pun yang menghasilkan uang dari rahasia-rahasia itu.
Michael Martinez

Ini adalah lingkungan yang sangat rahasia untuk memulai. Jadi katakanlah sysadmin yang buruk mencuri saus rahasia, melacak siapa yang dijualnya pada dasarnya tidak mungkin. Bagaimana jika dia mencuri beberapa kode, meninggalkan hubungan baik, menjual kode ke pesaing? Tiba-tiba laba kami terkikis, tetapi kami tidak tahu caranya (ini keuangan, tempat pasar anonim).
Matt

@ Matt Itu adalah risiko yang sama besarnya bagi orang-orang yang bertanggung jawab seperti halnya bagi mereka yang tidak. Orang-orang dengan saus rahasia khawatir tentang orang lain yang mencuri ketika kemungkinan besar salah satunya akan melakukannya.
Michael Martinez

1

Cara lain cara menurunkan risiko (gunakan di sebelah yang disebutkan sebelumnya, bukan sebagai ganti) adalah membayar uang baik kepada sysadmin Anda. Bayar mereka dengan sangat baik sehingga mereka tidak ingin mencuri dari IP Anda dan meninggalkan Anda.


2
Saya melihat dari mana Anda berasal, tetapi saya pikir sebagian besar dari kita memiliki etika profesional lebih dari itu. Saya tidak mencuri rahasia klien saya, tetapi itu bukan karena mereka membayar saya cukup sehingga saya tidak merasa perlu, itu karena itu salah untuk melakukan itu; Saya kira saya bukan satu-satunya orang di sini yang merasakan hal itu.
MadHatter

1
Ya, seperti yang ditulis Ben Franklin, "Jangan menagih seseorang lebih dari biaya untuk membunuhmu." Namun secara terbalik.
Bruce Ediger

Anda tidak dapat menyuap seseorang untuk integritas. Itu tidak akan berhasil. Seperti yang pernah dikatakan oleh orang bijak: kami telah menetapkan orang seperti apa Anda, sekarang kami hanya tawar-menawar soal harga. Tapi Anda bisa mendapatkan loyalitas seseorang dengan melakukan yang benar oleh mereka. Bayaran adalah bagian dari itu, tetapi begitu juga banyak hal. Otonomi dan penguasaan - memberikan kebebasan dan pelatihan dan pengembangan. Masalahnya adalah, godaan itu mungkin untuk menindas mereka sehingga mereka tidak tersesat, dan kemudian menyuap mereka untuk "memperbaiki" itu. Tapi seperti semua hubungan yang kasar, itu akan menjadi bumerang.
Sobrique

2
Saya hanya menulis itu cara lain, bukan cara yang baik. Saya pikir ketika seseorang mempekerjakan sysadmin baru, harus ada kepercayaan. Karena sysadmin adalah - di sebelah CEO dan CFO - seseorang yang dapat menghancurkan perusahaan dalam hitungan menit. Admin yang baik tidak akan bekerja untuk uang kecil (atau seseorang dari Anda akan melakukannya?) Dan sysadmin yang akan bekerja dengan sedikit uang lebih berbahaya.
Ondra Sniper Flidr

1

Saya pikir pertanyaan ini mungkin tidak dapat dijawab sepenuhnya tanpa beberapa perincian lebih lanjut, seperti:

Berapa banyak sysadmin yang Anda harapkan tetap "dibatasi"?

Apa yang orang perlu akses "sysadmin" untuk lakukan?

Pertama-tama, perhatikan apa yang dapat Anda lakukan dengan sudo. Dengan sudo, Anda dapat mengizinkan izin yang ditinggikan untuk hanya menjalankan satu perintah (atau variasi, seperti perintah yang dimulai dengan "mount -r" tetapi perintah lain tidak diizinkan). Dengan kunci SSH, Anda dapat menetapkan kredensial yang memungkinkan seseorang hanya menjalankan perintah tertentu (seperti "sudo mount -r / dev / sdd0 / media / backup"). Oleh karena itu, ada cara yang relatif mudah untuk memungkinkan siapa saja (yang memiliki kunci SSH) untuk dapat melakukan beberapa operasi tertentu tanpa membiarkan mereka melakukan hal-hal lain secara mutlak.

Segalanya menjadi sedikit lebih menantang jika Anda ingin teknisi melakukan perbaikan atas apa yang rusak. Ini biasanya dapat memerlukan jumlah izin yang lebih tinggi, dan mungkin akses untuk menjalankan beragam perintah, dan / atau menulis ke berbagai file.

Saya sarankan mempertimbangkan pendekatan sistem berbasis web, seperti CPanel (yang digunakan oleh sejumlah ISP) atau sistem berbasis cloud. Mereka sering dapat membuat masalah pada mesin pergi, dengan membuat seluruh mesin pergi. Jadi, seseorang mungkin dapat menjalankan perintah yang menggantikan mesin (atau mengembalikan mesin ke gambar yang dikenal baik), tanpa harus memberi orang itu akses untuk membaca banyak data, atau membuat perubahan kecil (seperti menggabungkan perbaikan kecil) dengan pengenalan pintu belakang yang tidak sah). Kemudian, Anda perlu mempercayai orang-orang yang membuat gambar, tetapi Anda mengurangi berapa banyak orang yang perlu Anda percayai untuk melakukan hal-hal yang lebih kecil.

Namun, pada akhirnya, sejumlah kepercayaan perlu diberikan kepada sejumlah orang yang tidak nol yang membantu merancang sistem dan yang beroperasi pada tingkat tertinggi.

Satu hal yang dilakukan perusahaan besar adalah mengandalkan hal-hal seperti SQL server, yang menyimpan data yang dapat diakses dari jarak jauh oleh sejumlah besar mesin. Kemudian, sejumlah besar teknisi dapat memiliki akses root penuh pada beberapa mesin, sementara tidak memiliki akses root ke server SQL.

Pendekatan lain adalah terlalu besar untuk gagal. Jangan berpikir bahwa militer besar atau perusahaan raksasa tidak pernah memiliki insiden keamanan. Namun, mereka tahu bagaimana caranya:

  • memulihkan,
  • batasi kerusakan (dengan memisahkan barang-barang berharga)
  • memiliki tindakan balasan, termasuk ancaman litigasi
  • memiliki proses untuk membantu membatasi paparan yang tidak diinginkan pada pers, dan memiliki rencana bagaimana mempengaruhi putaran cerita negatif apa pun yang berkembang

Asumsi dasarnya adalah bahwa kerusakan yang terjadi hanyalah risiko dan biaya dalam berbisnis. Mereka berharap untuk terus beroperasi, dan pengembangan serta peningkatan yang sedang berlangsung selama bertahun-tahun akan membatasi seberapa besar kerusakan satu insiden yang mungkin benar-benar mempengaruhi nilai jangka panjang mereka selama periode waktu tertentu.



0

Tempatkan mesin administrasi root ke dalam ruangan terkunci dengan dua kunci, dan berikan hanya satu untuk masing-masing dari dua admin. Admin akan selalu bekerja bersama, mengamati aktivitas satu sama lain. Ini harus menjadi satu-satunya mesin yang berisi kunci pribadi untuk login sebagai root.

Beberapa kegiatan mungkin tidak memerlukan hak root, jadi hanya sebagian dari pekerjaan yang perlu masuk ke ruangan itu untuk "pair programming"

Anda juga dapat merekam aktivitas video di ruangan itu sebagian besar untuk memastikan bahwa tidak ada yang bekerja sendiri (yang mudah terlihat). Juga, pastikan tempat kerjanya sedemikian rupa sehingga layar mudah dilihat oleh kedua orang (mungkin layar TV besar dengan font besar).

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.