在Linux中,可以通过以下几种方式进行系统安全管理:
- 设置访问控制:
- chmod : 修改文件/目录访问权限。
- chown : 修改文件/目录所有者和所属组。
- setfacl : 设置文件访问控制列表(ACL)。
- sudo : 以其他用户身份运行命令。
例如:
chmod 600 file # 设置文件只有所有者可读写
chown user:group file # 修改文件所有者和所属组
setfacl -m u:user:rwx file # 设置user对file的rwx权限
sudo su # 切换至root用户
sudo -u user command # 以user用户执行command命令
- SSH安全:
- 使用密钥认证而非密码认证。
ssh-copy-id user@host
- 禁用密码认证。
sudo nano /etc/ssh/sshd_config
,设置PasswordAuthentication no
- 更改默认SSH端口。
Port 22222
,重启SSH服务。 - 启用SSH登录限制。
sudo nano /etc/ssh/sshd_config
, 设置 MaxAuthTries 3 等。
例如:
# 生成SSH密钥并拷贝至远程主机
ssh-keygen
ssh-copy-id root@192.168.1.100
# 禁用密码认证
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
# 更改SSH默认端口
Port 22222
- 日志审计:
- 查看系统日志。
tail -f /var/log/syslog
- 查看登录日志。
tail -f /var/log/auth.log
- 启用审计。
sudo nano /etc/audit/auditd.conf
,设置audit = 1
- 审计SSH登录。
sudo nano /etc/audit/audit.rules
,添加规则 -a always,exit -F arch=b64 -S sethostname,setdomainname -k myhost
例如:
# 查看登录日志
tail -f /var/log/auth.log
# 启用审计
sudo nano /etc/audit/auditd.conf
audit = 1
# 审计SSH登录
sudo nano /etc/audit/audit.rules
-a always,exit -F arch=b64 -S sethostname,setdomainname -k myhost