在CentOS系統上進行SFTP安全設置,主要包括以下幾個方面:
首先,確保你的CentOS系統上安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
編輯SSH配置文件 /etc/ssh/sshd_config
,確保以下配置項已正確設置:
# 啟用SFTP子系統
Subsystem sftp /usr/libexec/openssh/sftp-server
# 禁用FTP協議
# Subsystem sftp /bin/false
# 禁止root用戶登錄
PermitRootLogin no
創建一個新用戶,專門用于SFTP文件傳輸,并設置密碼:
sudo useradd -G sftp -s /sbin/nologin sftp_user
sudo passwd sftp_user
為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
在 /etc/ssh/sshd_config
文件中添加以下內容,以限制SFTP用戶只能訪問其主目錄:
Match User sftp_user
ChrootDirectory /srv/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
檢查并刪除不必要的超級用戶賬戶,以減少系統受攻擊的風險。
設置復雜的口令,包含大寫字母、小寫字母、數字和特殊字符,并且長度大于10位。
使用 chattr
命令給 /etc/passwd
, /etc/shadow
, /etc/group
, 和 /etc/gshadow
文件加上不可更改屬性,以防止未授權訪問。
通過修改 /etc/profile
文件中的 TMOUT
參數,設置root賬戶的自動注銷時限。
編輯 /etc/pam.d/su
文件,限制只有特定組的用戶才能使用 su
命令切換為root。
通過修改 /etc/inittab
文件,禁用ctrl+alt+delete組合鍵重啟機器的命令。
確保 /etc/rc.d/init.d/
目錄下所有文件的權限,以確保只有root用戶可以操作這些服務。
避免在登錄時顯示系統和版本信息,以減少信息泄露的風險。
對于使用NFS網絡文件系統服務的系統,確保 /etc/exports
文件具有最嚴格的訪問權限設置。
通過編輯 /etc/securetty
文件,限制root用戶只能在特定的tty設備上登錄。
編輯 host.conf
文件和設置資源限制,如最大進程數和內存使用量,以防止IP欺騙和DoS攻擊。