RHEL 8のnologinシェルのユーザがvsftpにログインできない

Facebooktwittermail

RHEL 7.6から /etc/shellにnologinが含まれなくなりました。

これはCVE-2018-1113対策のようで/sbin/nologinを指定してもある状況下でシステムにアクセスできてしまうとか。
https://access.redhat.com/security/cve/cve-2018-1113

その為にnologinシェルを指定したユーザがvsftpにログインできないと。
How to authenticate user without shell access to ftp server vsftp without adding nologin in /etc/shells on RHEL 7.6.
https://access.redhat.com/solutions/4162001
※RedHatアカウントでログインしないと全文が読めません。

Red Hat Enterprise Linux release 8.2 (Ootpa)で試してみました。

ログインに失敗します。/etc/shellsに/sbin/nologinを追加するとログインできました。

ただこの方法だとCVE-2018-1113に反してリスクが発生するので推奨方法は仮想ユーザを作成して対応するとのこと。
※RedHatアカウントでログインしないと全文が読めません。
How to use vsftpd with virtual users
https://access.redhat.com/solutions/54295

  1. 仮想ユーザのテキストファイル作成
  2. 交互にユーザ名、パスワードを記述したテキストファイルを作成します。

  3. テキストファイルからデータベースファイルにコンバート
  4. パーミッション変更
  5. /etc/pam.d/vsftpd.virtualの作成
  6. 仮想ユーザ(pam_userdb)で認証できるように新たに/etc/pam.d/vsftpd.virtualを作成します。

  7. 仮想ユーザのホームディレクトリ作成
  8. /etc/vsftpd/vsftpd.confの変更
  9. /etc/vsftpd/vsftpd.confに下記を追加します。

  10. vsftpdの再起動
  11. ftp接続
  12. 忘れていました。chrootしたディレクトリの/(ルートディレクトリ)には書込みできないといつものエラーです。
    取り合えず/etc/vsftpd/vsftpd.confに下記を追加して下さい。

    vsftpdを再起動して試してみます。

RedHatのサイトを参考にしたのですが、上手くいかなかったので色々なサイトを参考にさせて頂きました。
取り合えず基本的なところは大丈夫か?

Leave a Reply