以非root用户运行WebLogic
Linux系统通过用户权限隔离保障安全,WebLogic进程不应以root(超级用户)身份运行。需创建专用用户(如weblogic)和组(如weblogic),将WebLogic安装目录及文件的所有权赋予该用户(如chown -R weblogic:weblogic /opt/weblogic),启动时使用该用户身份(如su - weblogic -c "/opt/weblogic/startWebLogic.sh")。这可防止WebLogic进程被攻击后直接获取系统最高权限。
配置Linux防火墙限制网络访问
使用Linux防火墙(如CentOS的firewalld)设置严格规则,仅允许必要流量通过。例如,允许HTTP(80端口)、HTTPS(443端口)及WebLogic管理端口(如7001)的入站流量,拒绝其他无关端口。命令示例:firewall-cmd --zone=public --add-port=7001/tcp --permanent(添加端口)、firewall-cmd --reload(生效)。这能有效阻止非法IP扫描或攻击WebLogic服务。
启用SELinux强制访问控制
SELinux(Security-Enhanced Linux)是Linux内核级安全模块,可实现细粒度的访问控制。启用SELinux(setenforce 1)并配置针对WebLogic的策略,限制WebLogic进程仅能访问其所需的文件和目录(如/opt/weblogic、/tmp等)。例如,通过semanage fcontext -a -t weblogic_exec_t "/opt/weblogic(/.*)?"设置WebLogic目录的安全上下文,再用restorecon -Rv /opt/weblogic应用策略。这可防止提权攻击或未授权文件访问。
强化系统用户口令策略
通过Linux的/etc/login.defs文件设置强口令要求,如最小长度(PASS_MIN_LEN 10)、必须包含大小写字母、数字和特殊字符。同时,使用chage命令设置口令过期时间(如chage -M 90 weblogic,90天过期),强制用户定期更换口令。此外,保护口令文件(/etc/passwd、/etc/shadow),用chattr +i命令设置不可更改属性,防止未授权修改。
禁用不必要的系统服务与功能
关闭Linux系统中不必要的服务(如Telnet、FTP,使用systemctl stop telnet.socket),减少攻击面。修改/etc/ssh/sshd_config文件,禁用root远程登录(PermitRootLogin no)、启用公钥认证(PubkeyAuthentication yes),降低SSH暴力破解风险。同时,禁用Ctrl+Alt+Delete组合键重启系统(修改/etc/inittab文件,注释对应行),防止物理接触攻击。
配置文件与目录权限控制
使用Linux的chmod、chown命令设置WebLogic关键文件和目录的权限,确保只有授权用户可访问。例如,设置umask为066(umask 066),使新建文件默认权限为600(仅所有者可读写),目录权限为700(仅所有者可访问)。对于WebLogic的安全敏感目录(如/domains/domain-name/servers/server-name/data/ldap/ldapfiles、私钥库目录),限制为weblogic用户专属访问,防止未授权读取或篡改。
利用Linux日志监控与审计
通过Linux的rsyslog或auditd服务记录系统及WebLogic日志,便于追溯异常行为。例如,配置auditd规则监控WebLogic目录的访问(如-w /opt/weblogic -p war -k weblogic_access),记录所有对该目录的读、写、执行操作。定期检查/var/log/messages、/var/log/secure及WebLogic日志(如server.log),分析登录失败、端口扫描等异常事件,及时响应安全威胁。