AWS Amazon AMI-限制 SFTP/SSH 访问

AWS Amazon AMI-限制 SFTP/SSH 访问

我有一个使用 sftp/ftp 服务器(vsftp)运行的 AWS Amazon Linux EC2 实例。

出于安全目的,我想使用 AWS 实例的最佳实践解决方案来保护系统。我的目标是允许一个组的一些用户进行 ssh 访问(包括身份验证密钥),并禁止所有其他用户使用 ssh。另一个组应该被允许访问 sftp 和 ftp。

我看到 PAM 在 AMI 的默认 sshd_config 中激活。

答案1

假设您有 2 个组/etc/passwd

  1. ssh_users
  2. ftp_users

要仅允许ssh_users通过 SSH 登录,请添加此行到/etc/ssh/sshd_config

AllowGroups ssh_users

man sshd_configAllowGroups - 如果指定,则允许登录仅有的对于其主要组或补充组列表与其中一种模式匹配的用户。


ftp_users例如,为了仅允许组内成员进行 FTP 登录,您可以使用pam_listfile(请参阅man pam_listfile详细信息)。

  1. 首先将组名写入例如/etc/pam.d/vsftpd-groups.conf

    ~ # echo ftp_users > /etc/pam.d/vsftpd-groups.conf
    
  2. 然后添加pam_listfile到您的/etc/pam.d/vsftpd文件中:

        auth        required      pam_env.so
        auth        sufficient    pam_unix.so nullok try_first_pass
        auth        requisite     pam_succeed_if.so uid >= 500 quiet
    >>  auth        required      pam_listfile.so item=group sense=allow file=/etc/pam.d/group-access.conf onerr=fail
        auth        required      pam_deny.so
    
        account     required      pam_unix.so broken_shadow
        account     sufficient    pam_localuser.so
        account     sufficient    pam_succeed_if.so uid < 500 quiet
    >>  account     required      pam_listfile.so item=group sense=allow file=/etc/pam.d/group-access.conf onerr=fail
        account     required      pam_permit.so
    

您还应该查看 EC2 实例安全组并且仅允许从已知的 SSH 或 FTP 用户的 IP 地址进行访问(如果可能)。

那就可以了。

相关内容