centos进程如何进行安全加固
CentOS进程安全加固的关键措施
1. 最小权限原则:限制进程运行权限
进程应以非root用户身份运行,避免滥用系统权限。例如,Web服务(如Apache/Nginx)使用apache
/nginx
用户,数据库服务(如MySQL)使用mysql
用户。通过systemctl edit 服务名
修改服务的User
和Group
参数,或在服务脚本中指定用户(如ExecStart=/usr/sbin/nginx -g 'daemon off;
'
改为ExecStart=/usr/sbin/nginx -g 'daemon off;
' --user=nginx
)。此外,使用chmod
、chown
调整进程相关文件/目录权限(如/var/www/html
目录设为nginx:nginx
,权限750
),防止未授权访问。
2. SELinux/AppArmor:强制访问控制
启用SELinux(CentOS默认开启)并将其设为Enforcing
模式(/etc/selinux/config
中SELINUX=enforcing
),通过semanage
、setsebool
等命令配置进程权限。例如,允许Apache访问用户家目录:setsebool -P httpd_enable_homedirs 1
。若使用AppArmor,为进程创建配置文件(如/etc/apparmor.d/usr.sbin.apache2
),限制其能访问的文件路径、网络端口等资源,进一步提升隔离性。
3. 服务与端口管理:减少攻击面
禁用不必要的系统服务(如telnet
、ftp
、bluetooth
),使用systemctl disable 服务名
命令,避免未使用的进程暴露端口。仅开放必要的端口(如SSH的22端口、Web的80/443端口),通过firewalld
配置规则:firewall-cmd --permanent --add-service=http --add-service=https
,然后firewall-cmd --reload
。修改SSH默认端口(如改为2222),降低暴力破解风险:编辑/etc/ssh/sshd_config
,设置Port 2222
,重启SSH服务。
4. 进程隔离:防止权限扩散
使用systemd
将进程托管为守护进程,通过Restart=always
参数实现自动重启(如/etc/systemd/system/nginx.service
中添加Restart=always
),避免进程意外终止。通过chroot
命令将进程限制在特定目录(如将FTP服务限制在/var/ftp
),限制其对系统其他部分的访问。例如,chroot /var/ftp /bin/bash
将用户限制在该目录内,无法访问上级目录。
5. 日志与监控:及时发现异常
启用auditd
审计服务,监控进程的关键操作(如启动、停止、访问敏感文件)。编辑/etc/audit/audit.rules
,添加规则:-w /usr/sbin/nginx -p x -k nginx_exec
(监控Nginx执行),-w /etc/passwd -p wa -k passwd_mod
(监控密码文件修改)。使用monit
或supervisord
监控进程状态,配置自动重启:例如,monit
配置文件中添加check process nginx with pidfile /var/run/nginx.pid start program = "/usr/sbin/nginx" stop program = "/usr/sbin/nginx -s stop"
,确保进程异常退出时自动恢复。
6. 用户与权限管理:控制进程发起者
删除不必要的默认用户(如adm
、lp
、sync
),使用userdel 用户名
命令,减少潜在的攻击入口。设置强密码策略:编辑/etc/login.defs
,要求密码长度≥10位、包含大小写字母、数字和特殊字符(如PASS_MIN_LEN 10
、PASS_REQUIRE_MIXED_CASE yes
),并通过chage -M 90 用户名
设置密码有效期为90天。使用sudo
替代直接root登录,通过visudo
命令配置精细权限(如允许devuser1
重启HTTP服务:devuser1 ALL=(root) NOPASSWD: /usr/bin/systemctl restart httpd
),避免密码泄露风险。
7. 防止进程被意外终止
使用nohup
命令让进程忽略挂起信号(如nohup your_command &
),输出重定向到nohup.out
文件,即使终端关闭仍继续运行。使用screen
或tmux
创建会话(如screen -S my_session your_command
),断开连接后可重新附加(screen -r my_session
),保持进程运行。调整进程优先级:使用nice -n 10 your_command
降低进程优先级(数值越大优先级越低),减少被系统OOM Killer终止的可能性;若进程已运行,使用renice 10 -p PID
调整其优先级。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos进程如何进行安全加固
本文地址: https://pptw.com/jishu/715029.html