Saya baru mengenal Ansible. Sebagian besar panduan penyediaan VPS yang saya lihat sejauh ini melakukan ini:
- nonaktifkan root dari login
- buat pengguna baru yang hanya bisa masuk dengan
ssh
(bukan kata sandi) - tambahkan pengguna baru ke
wheel
grup, dengan izin sudo tanpa kata sandi
Saya mengerti (1) dan (2), tetapi tidak (3).
Tentunya tanpa kata sandi sudo
sama seperti masuk sebagai root
? Saya mengerti manfaatnya (kenyamanan), tetapi bukankah ini sangat tidak aman?
Saya menyadari bahwa admin menjalankan jaringan mereka dengan berbagai cara, dan ini bisa dikatakan "subyektif", tetapi ini adalah praktik yang SANGAT umum, bahkan ditampilkan dalam berbagai dokumen resmi resmi serta panduan yang diterbitkan oleh perusahaan hosting. Itu bertentangan dengan akal sehat. Apa logika di baliknya?
Jawaban:
Jika akun layanan dapat melakukan sudo tanpa kata sandi, maka Anda harus melindungi akses ke akun itu.
Memiliki akun tidak memiliki kata sandi, dan hanya menggunakan kunci ssh untuk masuk, selesaikan ini, asalkan Anda dapat menjaga kunci pribadi ssh tetap aman.
sumber
Pengguna baru yang dibuat pada (2) hanya dapat masuk dengan kunci SSH, tanpa kata sandi. Kunci SSH memberikan akses root tidak langsung. Jadi ini setara dengan hanya mengizinkan login root dengan kunci.
Karena akun tidak memiliki kata sandi, tidak mungkin
sudo
meminta kata sandi. Ansible juga harus dapat menjalankan perintah. Memiliki kata sandi tambahan untuk diberikan di tempat yang sama dengan kunci tidak akan meningkatkan keamanan.sumber
Masalahnya adalah bahwa ansible adalah untuk administrator dan otomatisasi, jadi jika Anda perlu memasukkan kata sandi untuk menjalankan skrip sebenarnya bukan cara terbaik. Juga tidak aman untuk menyimpan kata sandi untuk sudo dalam file atau database dan bisa mendapatkannya setiap kali menjalankan buku pedoman. Jadi kombinasi sudo tanpa kata sandi dan otentikasi dengan ssh Keys adalah metode terbaik untuk memastikan keamanan dan tidak ada masalah dengan menjalankan playbook. Anda juga seorang administrator dan tahu apa yang Anda pemrograman dalam buku pedoman. Jadi playbook tidak dapat menghancurkan server Anda.
sumber