nologin di / etc / shells berbahaya .. MENGAPA?

21

Saya menemukan ini di internet, sambil memasang server FTP di FreeBSD.

Menempatkan nologin ke / etc / shells berpotensi menciptakan pintu belakang di mana akun tersebut dapat digunakan dengan FTP.

(lihat: http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html )

Adakah yang bisa menjelaskan mengapa ini? Dan mengapa mengambil salinan nologin dan meletakkannya di / etc / shells menyelesaikan masalah ini?

RobAu
sumber

Jawaban:

23

/etc/shellsberisi daftar binari yang dianggap sistem (tidak dibatasi) oleh shell. Itu berarti bahwa setiap pengguna yang telah mengkonfigurasi salah satu dari binari tersebut sebagai shell mereka diasumsikan memiliki akses penuh ke sistem (artinya mereka dapat menjalankan perintah apa saja, asalkan mereka memiliki izin yang sesuai).

Hasil paling langsung adalah bahwa mereka dapat menggunakan chshuntuk mengganti shell yang telah dikonfigurasikan.

Jika pengguna memiliki shell yang dikonfigurasikan yang tidak ada dalam daftar ini, maka sistem mengasumsikan bahwa ia entah bagaimana dibatasi. Dalam kasus chshitu berarti pengguna tidak dapat mengubah nilai itu.

Program lain mungkin meminta daftar itu dan menerapkan pembatasan serupa.

Jadi dengan menempatkan nologindi /etc/shellsAnda secara efektif mengatakan "setiap pengguna yang memiliki nologinsebagai cangkangnya dianggap penuh, tidak dibatasi pengguna". Itu hampir pasti kebalikan dari apa nologin yang ingin dikatakan .

Joachim Sauer
sumber
8

ftp tidak menyediakan shell standar, ia menyediakan antarmuka ftp. Pengguna yang memiliki akun meskipun poin shell mereka ke nologin masih dapat mengakses antarmuka ftp. Selain itu, mereka masih dapat mengakses layanan lain yang Anda berikan yang tidak memerlukan shell juga (misalnya, jika Anda memiliki antarmuka web http, dll. Yang bergantung pada otentikasi akun tetapi bukan akses shell). Ini tidak selalu merupakan pintu belakang ke sistem Anda, tetapi merupakan pintu belakang ke layanan.

Andrew Case
sumber