温馨提示×

Linux Dopra:安全防护技巧

小樊
40
2025-11-02 10:39:01
栏目: 智能运维

Linux系统(含Dopra相关环境)安全防护技巧

1. 细粒度权限控制

通过访问控制列表(ACL)为特定用户/组设置超越基本权限的访问规则(需文件系统支持,如ext4/ext3默认开启)。例如,给用户dopraadmin添加/opt/dopra/config目录的读写权限:sudo setfacl -m u:dopraadmin:rw /opt/dopra/config;给组dopradev添加/opt/dopra/bin目录的执行权限:sudo setfacl -m g:dopradev:x /opt/dopra/bin。同时,合理使用特殊权限setuid(让普通用户执行文件时临时拥有所有者权限,如/usr/bin/passwd)需用sudo chmod u+s /path/to/file设置;粘滞位(防止普通用户删除其他用户目录下的文件,如/tmp)需用sudo chmod +t /path/to/directory设置。

2. 强化账户与密码安全

  • 禁用不必要账户:通过/etc/passwd文件检测并锁定无用的超级用户(如syncadm等),使用sudo usermod -L username锁定账户。
  • 设置复杂密码策略:编辑/etc/security/pwquality.conf文件,要求密码长度≥9位(minlen=9)、包含至少3种字符类别(大写字母、小写字母、数字、特殊字符,minclass=3);通过/etc/login.defs设置密码失效时间(PASS_MAX_DAYS=60-180)和修改间隔(PASS_MIN_DAYS=7-14)。
  • 保护密码文件:使用chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow命令将密码文件设为不可更改,防止非法修改。

3. 服务与端口安全管理

  • 禁用不必要服务:使用systemctl disable servicename(如telnetftp等明文传输服务)或chkconfig servicename off(CentOS)关闭不需要的服务,减少攻击面。
  • 限制端口开放:通过防火墙(如firewalld)仅允许必需端口(如SSH的22端口、Web服务的80/443端口)通过,命令示例:sudo firewall-cmd --permanent --zone=public --add-service=http && sudo firewall-cmd --reload

4. 防火墙与网络隔离

  • 配置防火墙规则:使用firewalld(推荐)或iptables设置入站/出站规则。例如,允许HTTP服务:sudo firewall-cmd --permanent --zone=public --add-service=http,然后重载配置;或用iptables限制SSH访问来源:sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT(仅允许192.168.1.0/24网段访问)。
  • 禁止ping请求:通过修改/proc/sys/net/ipv4/icmp_echo_ignore_all文件(echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all)临时禁止ping,或编辑/etc/sysctl.conf文件(net.ipv4.icmp_echo_ignore_all = 1)永久生效。

5. 强制访问控制(MAC)

启用SELinux(若系统支持)或AppArmor(Debian默认启用)限制进程权限:

  • SELinux:为Dopra目录设置正确安全上下文,例如sudo chcon -R -t dopra_exec_t /opt/dopra(需提前安装selinux-basics包并启用)。
  • AppArmor:编辑Dopra的配置文件(如/etc/apparmor.d/usr.bin.dopra),添加允许访问的目录(如/opt/dopra/data rw,),然后重载配置:sudo systemctl reload apparmor

6. SSH安全配置

  • 禁用root登录:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,防止root账户被暴力破解。
  • 使用密钥认证:生成SSH密钥对(ssh-keygen -t rsa),将公钥复制到服务器(ssh-copy-id user@server),并在sshd_config中设置PubkeyAuthentication yes
  • 修改SSH端口:将默认22端口改为10000以上(如Port 2222),减少自动扫描工具的攻击。

7. 日志监控与入侵检测

  • 日志管理:定期检查系统日志(/var/log/messages/var/log/secure),使用tail -f /var/log/secure实时监控失败登录尝试(如Failed password记录)。
  • 入侵检测工具:安装fail2bansudo yum install fail2bansudo apt install fail2ban),监控日志并自动禁止恶意IP(如多次SSH登录失败),设置开机自启:sudo systemctl enable fail2ban

8. 数据安全与备份

  • 数据加密:使用支持数据校验的文件系统(如ZFS、Btrfs),提高数据完整性;或通过LUKS(Linux Unified Key Setup)实现全盘加密。
  • 定期备份:使用rsyncrsync -avz /opt/dopra /backup/dopra)或tartar -czvf dopra_backup.tar.gz /opt/dopra)工具备份数据,将备份文件转移至离线存储(如外部硬盘、云存储)。

9. 系统更新与维护

  • 定期更新补丁:使用包管理器(apt/yum/dnf)定期更新系统和软件包,修复已知漏洞。例如,Debian/Ubuntu使用sudo apt update && sudo apt upgrade,CentOS使用sudo yum update
  • 最小化安装:系统安装时仅选择必要组件(如服务器版不安装桌面环境),减少潜在攻击面。

0