Bagaimana cara menyimpan kata sandi dengan aman dalam file konfigurasi di Linux?

0

Saya memiliki file di sistem Linux saya yang disebut ".fetchmailrc" dan digunakan untuk mengonfigurasi alamat email tempat fetchmail akan mendapatkan email. Karenanya, saya harus mengetikkan kata sandi dan alamat email saya dalam teks biasa.

Berikut ini tampilan file .fetchmailrc:

set daemon 1
set logfile /home/user/.fetchmail.log
set no bouncemail
poll pop.gmail.com proto POP3 auth password no dns user "MY_EMAIL" password     "MY_PASSWORD" is user keep ssl

mda "/usr/bin/procmail -d %T"

Saya percaya pasti ada cara yang lebih baik untuk melakukan ini, karena jika seorang hacker mendapatkan akses ke server saya, ia dapat dengan mudah membaca file dan mendapatkan kredensial saya.

Saya mendengar bahwa di sistem Linux ada PAM (Modul Otentikasi Pluggable) tetapi saya tidak tahu apakah itu terkait dengan apa yang saya coba lakukan.

William Tang
sumber

Jawaban:

2

Tidak masalah bagaimana Anda menyimpan kata sandi Anda, ketika menjalankan program yang tidak meminta kata sandi Anda, program harus mendekripsi kata sandi yang disimpan dengan informasi yang tersedia di server. "Peretas" yang mendapatkan akses ke server Anda dapat menggunakan semua informasi yang tersimpan di server. Jadi dia juga dapat mendekripsi kata sandi dengan cara yang sama seperti program mendekripsi.

Jika skema yang Anda gunakan untuk mengenkripsi dan menyimpan kata sandi Anda sedikit lebih terlibat, mungkin dibutuhkan "peretas" sedikit lebih lama.

Jadi tidak ada cara untuk melakukan apa yang Anda inginkan: Tidak peduli bagaimana Anda menyimpan kata sandi, Anda tidak dapat menjadikannya "hacker aman". Peretas hanya perlu melakukan apa pun yang dilakukan program (atau bahkan mungkin hanya menjalankan program, dan mengendus lalu lintas jaringan).

Modul PAM tidak ada hubungannya dengan itu. Itu bukan untuk menyimpan kata sandi, tetapi menyediakan cara untuk mengkonfigurasi metode otentikasi untuk layanan Linux yang ada. Program yang ingin menggunakan PAM harus ditulis untuk itu.

dirkt
sumber
1

Gunakan Layanan Retensi Kunci Kernel

Jika Anda khawatir seseorang mendapatkan akses root berulang ke sistem Anda, maka hampir tidak ada yang dapat Anda lakukan setelah itu. (Tapi itu mimpi buruk, ikuti praktik terbaik & simpan cadangan yang baik).

Namun, jika semuanya masih aman, maka Anda bisa melakukan jauh lebih baik daripada meninggalkan kata sandi dalam file teks biasa (siapa pun yang menemukan drive sistem yang sedang berjalan atau mati dapat membacanya). Lakukan hal-hal seperti:

  • Enkripsi rumah Anda, jadi file teks (dalam $ HOME) dienkripsi setidaknya saat Anda tidak masuk.
  • Enkripsi seluruh drive Anda, mirip dengan di atas.
  • Jangan simpan kata sandi dalam file, ketikkan saja kata sandi itu sendiri saat dibutuhkan
  • Jika Anda harus menyimpan kata sandi yang diketik, ketikkan pada saat login lalu masukkan:
Xen2050
sumber
mendapatkan fetchmail untuk menggunakan keyring kernel mungkin sedikit bekerja, meskipun.
dirkt
Seharusnya menerima kata sandi dengan cara lain selain sebagai argumen baris perintah (yang terlihat oleh semua orang melalui ps). Menerima melalui pipa / stdin sangat umum.
Xen2050