centos

CentOS SFTP安全设置有哪些

小樊
33
2025-02-20 20:07:28
栏目: 智能运维

在CentOS系统上进行SFTP安全设置,主要包括以下几个方面:

1. 安装和配置OpenSSH服务器

首先,确保你的CentOS系统上安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:

sudo yum install openssh-server

2. 配置SFTP子系统

编辑SSH配置文件 /etc/ssh/sshd_config,确保以下配置项已正确设置:

# 启用SFTP子系统
Subsystem sftp /usr/libexec/openssh/sftp-server

# 禁用FTP协议
# Subsystem sftp /bin/false

# 禁止root用户登录
PermitRootLogin no

3. 创建SFTP用户

创建一个新用户,专门用于SFTP文件传输,并设置密码:

sudo useradd -G sftp -s /sbin/nologin sftp_user
sudo passwd sftp_user

4. 配置用户目录和权限

为SFTP用户创建一个目录,并设置适当的权限:

sudo mkdir /srv/sftp/sftp_user
sudo chown root:sftp /srv/sftp/sftp_user
sudo chmod 755 /srv/sftp/sftp_user
sudo usermod -d /srv/sftp/sftp_user sftp_user

5. 限制用户访问目录

/etc/ssh/sshd_config 文件中添加以下内容,以限制SFTP用户只能访问其主目录:

Match User sftp_user
    ChrootDirectory /srv/sftp/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

6. 禁用不必要的超级用户

检查并删除不必要的超级用户账户,以减少系统受攻击的风险。

7. 强化用户口令

设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。

8. 保护口令文件

使用 chattr 命令给 /etc/passwd, /etc/shadow, /etc/group, 和 /etc/gshadow 文件加上不可更改属性,以防止未授权访问。

9. 设置root账户自动注销时限

通过修改 /etc/profile 文件中的 TMOUT 参数,设置root账户的自动注销时限。

10. 限制su命令

编辑 /etc/pam.d/su 文件,限制只有特定组的用户才能使用 su 命令切换为root。

11. 禁用ctrl+alt+delete重启命令

通过修改 /etc/inittab 文件,禁用ctrl+alt+delete组合键重启机器的命令。

12. 设置开机启动服务权限

确保 /etc/rc.d/init.d/ 目录下所有文件的权限,以确保只有root用户可以操作这些服务。

13. 防止登录时显示系统信息

避免在登录时显示系统和版本信息,以减少信息泄露的风险。

14. 限制NFS网络访问

对于使用NFS网络文件系统服务的系统,确保 /etc/exports 文件具有最严格的访问权限设置。

15. 登录终端设置

通过编辑 /etc/securetty 文件,限制root用户只能在特定的tty设备上登录。

16. 防止攻击

编辑 host.conf 文件和设置资源限制,如最大进程数和内存使用量,以防止IP欺骗和DoS攻击。

0
看了该问题的人还看了