WebLogic教程FG026-WebLogic安全最佳实践与防护实战
内容简介
本教程基于Oracle WebLogic Server 15c(15.1.1.0.0)官方文档,详细介绍WebLogic安全最佳实践与防护措施,结合生产环境经验,帮助读者掌握WebLogic安全配置和防护的最佳实践。
风哥教程参考WebLogic官方文档安全指南、安全配置文档等相关内容,内容涵盖安全架构、认证与授权、加密、审计等方面。
本文档适用于WebLogic管理员和安全工程师,通过详细的步骤说明和实战操作,确保WebLogic系统的安全性。
目录大纲
Part01-基础概念与理论知识
1.1 WebLogic安全架构
WebLogic安全架构是一个多层次的安全体系,主要包括:
- 认证(Authentication):验证用户的身份
- 授权(Authorization):控制用户对资源的访问权限
- 加密(Encryption):保护数据的传输和存储
- 审计(Audit):记录安全事件和操作
- 安全管理(Security Management):管理安全配置和策略
WebLogic安全架构基于Java EE安全规范,同时提供了额外的安全功能,如:
- 安全域(Security Realm):管理用户、组、角色和权限
- 安全提供商(Security Providers):提供认证、授权、加密等功能
- 安全策略(Security Policies):定义资源的访问控制规则
- 安全审计(Security Audit):记录安全事件和操作
学习交流加群风哥微信: itpux-com。
1.2 安全威胁与风险
WebLogic系统面临的主要安全威胁包括:
- 未授权访问:未经授权的用户访问系统资源
- SQL注入:通过输入恶意SQL语句攻击数据库
- 跨站脚本(XSS):通过注入恶意脚本攻击Web应用
- 跨站请求伪造(CSRF):通过伪造用户请求攻击系统
- 拒绝服务(DoS):通过大量请求使系统无法正常服务
- 中间人攻击(MITM):在通信过程中截获和篡改数据
- 密码破解:通过暴力破解或字典攻击获取用户密码
- 权限提升:通过漏洞获取更高的权限
1.3 安全最佳实践概述
WebLogic安全最佳实践主要包括:
- 最小权限原则:只授予用户必要的权限
- 定期更新:及时应用安全补丁和更新
- 强密码策略:使用复杂的密码和定期更换密码
- 加密通信:使用SSL/TLS加密传输数据
- 安全审计:记录和监控安全事件
- 访问控制:严格控制对系统资源的访问
- 安全测试:定期进行安全测试和漏洞扫描
- 安全培训:对管理员和开发人员进行安全培训
风哥提示:安全是WebLogic系统的重要组成部分,需要持续关注和维护。
Part02-生产环境规划与建议
2.1 安全规划
安全规划的主要内容:
- 安全目标:确定系统的安全目标和要求
- 风险评估:评估系统面临的安全风险
- 安全策略:制定安全策略和规则
- 安全架构:设计系统的安全架构
- 安全措施:实施安全措施和控制
- 安全监控:建立安全监控和审计机制
2.2 安全配置建议
WebLogic安全配置的建议:
- 默认账户:修改默认管理员账户的密码
- 端口安全:修改默认端口,限制访问
- SSL/TLS:启用SSL/TLS,使用强加密算法
- 认证提供者:配置合适的认证提供者,如LDAP、SAML等
- 授权策略:配置细粒度的授权策略
- 安全域:配置多个安全域,分离不同的安全策略
- 安全审计:启用安全审计,记录安全事件
- 密码策略:配置强密码策略,定期更换密码
2.3 安全监控与审计
安全监控与审计的建议:
- 日志管理:集中管理和分析安全日志
- 入侵检测:部署入侵检测系统
- 漏洞扫描:定期进行漏洞扫描
- 安全监控:监控系统的安全状态
- 事件响应:建立安全事件响应机制
- 合规检查:定期进行安全合规检查
更多视频教程www.fgedu.net.cn
Part03-生产环境项目实施方案
3.1 认证与授权配置
WebLogic认证与授权配置的步骤:
1. 配置安全域
# 配置安全域
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
realm = cmo.getSecurityConfiguration().getDefaultRealm()
# 配置认证提供者
authenticator = realm.lookupAuthenticationProvider(‘DefaultAuthenticator’)
authenticator.setPasswordPolicy(‘DefaultPasswordValidator’)
# 配置授权提供者
authorizer = realm.lookupAuthorizationProvider(‘XACMLAuthorizer’)
authorizer.setPolicyDeploymentEnabled(true)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
realm = cmo.getSecurityConfiguration().getDefaultRealm()
# 配置认证提供者
authenticator = realm.lookupAuthenticationProvider(‘DefaultAuthenticator’)
authenticator.setPasswordPolicy(‘DefaultPasswordValidator’)
# 配置授权提供者
authorizer = realm.lookupAuthorizationProvider(‘XACMLAuthorizer’)
authorizer.setPolicyDeploymentEnabled(true)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
2. 配置用户和组
# 配置用户和组
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
realm = cmo.getSecurityConfiguration().getDefaultRealm()
authenticator = realm.lookupAuthenticationProvider(‘DefaultAuthenticator’)
# 创建组
authenticator.createGroup(‘fgeduAdminGroup’, ‘fgedu Admin Group’)
authenticator.createGroup(‘fgeduUserGroup’, ‘fgedu User Group’)
# 创建用户
authenticator.createUser(‘fgeduadmin’, ‘password123’, ‘fgedu Admin User’)
authenticator.createUser(‘fgeduuser’, ‘password123’, ‘fgedu User’)
# 将用户添加到组
authenticator.addMemberToGroup(‘fgeduAdminGroup’, ‘fgeduadmin’)
authenticator.addMemberToGroup(‘fgeduUserGroup’, ‘fgeduuser’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
realm = cmo.getSecurityConfiguration().getDefaultRealm()
authenticator = realm.lookupAuthenticationProvider(‘DefaultAuthenticator’)
# 创建组
authenticator.createGroup(‘fgeduAdminGroup’, ‘fgedu Admin Group’)
authenticator.createGroup(‘fgeduUserGroup’, ‘fgedu User Group’)
# 创建用户
authenticator.createUser(‘fgeduadmin’, ‘password123’, ‘fgedu Admin User’)
authenticator.createUser(‘fgeduuser’, ‘password123’, ‘fgedu User’)
# 将用户添加到组
authenticator.addMemberToGroup(‘fgeduAdminGroup’, ‘fgeduadmin’)
authenticator.addMemberToGroup(‘fgeduUserGroup’, ‘fgeduuser’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
3.2 加密配置
WebLogic加密配置的步骤:
1. 配置SSL
# 配置SSL
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置SSL
server = cmo.lookupServer(‘AdminServer’)
ssl = server.getSSL()
ssl.setEnabled(true)
ssl.setListenPort(7002)
# 配置密钥库
ssl.setKeyStore(‘DemoIdentity.jks’)
ssl.setKeyStorePassPhrase(‘DemoIdentityKeyStorePassPhrase’)
# 配置信任库
ssl.setTrustStore(‘DemoTrust.jks’)
ssl.setTrustStorePassPhrase(‘DemoTrustKeyStorePassPhrase’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置SSL
server = cmo.lookupServer(‘AdminServer’)
ssl = server.getSSL()
ssl.setEnabled(true)
ssl.setListenPort(7002)
# 配置密钥库
ssl.setKeyStore(‘DemoIdentity.jks’)
ssl.setKeyStorePassPhrase(‘DemoIdentityKeyStorePassPhrase’)
# 配置信任库
ssl.setTrustStore(‘DemoTrust.jks’)
ssl.setTrustStorePassPhrase(‘DemoTrustKeyStorePassPhrase’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
2. 配置加密算法
# 配置加密算法
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置加密算法
securityConfig = cmo.getSecurityConfiguration()
securityConfig.setCipherSuites(‘TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256’)
securityConfig.setSSLProtocolVersion(‘TLSv1.2’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置加密算法
securityConfig = cmo.getSecurityConfiguration()
securityConfig.setCipherSuites(‘TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256’)
securityConfig.setSSLProtocolVersion(‘TLSv1.2’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
3.3 安全审计配置
WebLogic安全审计配置的步骤:
1. 启用安全审计
# 启用安全审计
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 启用安全审计
realm = cmo.getSecurityConfiguration().getDefaultRealm()
auditor = realm.lookupAuditProvider(‘DefaultAuditor’)
auditor.setEnabled(true)
auditor.setAuditStoreDir(‘/WebLogic/fgdata/audit’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 启用安全审计
realm = cmo.getSecurityConfiguration().getDefaultRealm()
auditor = realm.lookupAuditProvider(‘DefaultAuditor’)
auditor.setEnabled(true)
auditor.setAuditStoreDir(‘/WebLogic/fgdata/audit’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
2. 配置审计策略
# 配置审计策略
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置审计策略
realm = cmo.getSecurityConfiguration().getDefaultRealm()
auditor = realm.lookupAuditProvider(‘DefaultAuditor’)
auditor.setAuditPolicy(‘All Events’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置审计策略
realm = cmo.getSecurityConfiguration().getDefaultRealm()
auditor = realm.lookupAuditProvider(‘DefaultAuditor’)
auditor.setAuditPolicy(‘All Events’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
学习交流加群风哥QQ113257174
Part04-生产案例与实战讲解
4.1 安全配置实战
WebLogic安全配置的实战案例:
1. 配置LDAP认证
# 配置LDAP认证
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置LDAP认证提供者
realm = cmo.getSecurityConfiguration().getDefaultRealm()
ldapAuth = realm.createAuthenticationProvider(‘LDAPAuthenticator’, ‘weblogic.security.providers.authentication.LDAPAuthenticator’)
ldapAuth.setHost(‘ldap.fgedu.net.cn’)
ldapAuth.setPort(389)
ldapAuth.setPrincipal(‘cn=admin,dc=fgedu,dc=net,dc=cn’)
ldapAuth.setCredential(‘password123’)
ldapAuth.setUserBaseDN(‘ou=users,dc=fgedu,dc=net,dc=cn’)
ldapAuth.setGroupBaseDN(‘ou=groups,dc=fgedu,dc=net,dc=cn’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置LDAP认证提供者
realm = cmo.getSecurityConfiguration().getDefaultRealm()
ldapAuth = realm.createAuthenticationProvider(‘LDAPAuthenticator’, ‘weblogic.security.providers.authentication.LDAPAuthenticator’)
ldapAuth.setHost(‘ldap.fgedu.net.cn’)
ldapAuth.setPort(389)
ldapAuth.setPrincipal(‘cn=admin,dc=fgedu,dc=net,dc=cn’)
ldapAuth.setCredential(‘password123’)
ldapAuth.setUserBaseDN(‘ou=users,dc=fgedu,dc=net,dc=cn’)
ldapAuth.setGroupBaseDN(‘ou=groups,dc=fgedu,dc=net,dc=cn’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
2. 配置SSL证书
# 生成SSL证书
cd /WebLogic/app/weblogic15c/wlserver/server/bin
./keytool -genkey -alias fgedu -keyalg RSA -keystore fgedu_keystore.jks -keysize 2048 -validity 365
cd /WebLogic/app/weblogic15c/wlserver/server/bin
./keytool -genkey -alias fgedu -keyalg RSA -keystore fgedu_keystore.jks -keysize 2048 -validity 365
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: fgedu.net.cn
What is the name of your organizational unit?
[Unknown]: IT
What is the name of your organization?
[Unknown]: fgedu
What is the name of your City or Locality?
[Unknown]: Beijing
What is the name of your State or Province?
[Unknown]: Beijing
What is the two-letter country code for this unit?
[Unknown]: CN
Is CN=fgedu.net.cn, OU=IT, O=fgedu, L=Beijing, ST=Beijing, C=CN correct?
[no]: yes
Enter key password for
(RETURN if same as keystore password):
Re-enter new password:
What is your first and last name?
[Unknown]: fgedu.net.cn
What is the name of your organizational unit?
[Unknown]: IT
What is the name of your organization?
[Unknown]: fgedu
What is the name of your City or Locality?
[Unknown]: Beijing
What is the name of your State or Province?
[Unknown]: Beijing
What is the two-letter country code for this unit?
[Unknown]: CN
Is CN=fgedu.net.cn, OU=IT, O=fgedu, L=Beijing, ST=Beijing, C=CN correct?
[no]: yes
Enter key password for
(RETURN if same as keystore password):
3. 配置SSL
# 配置SSL
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置SSL
server = cmo.lookupServer(‘AdminServer’)
ssl = server.getSSL()
ssl.setEnabled(true)
ssl.setListenPort(7002)
ssl.setKeyStore(‘/WebLogic/app/weblogic15c/wlserver/server/bin/fgedu_keystore.jks’)
ssl.setKeyStorePassPhrase(‘password123’)
ssl.setPrivateKeyPassPhrase(‘password123’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置SSL
server = cmo.lookupServer(‘AdminServer’)
ssl = server.getSSL()
ssl.setEnabled(true)
ssl.setListenPort(7002)
ssl.setKeyStore(‘/WebLogic/app/weblogic15c/wlserver/server/bin/fgedu_keystore.jks’)
ssl.setKeyStorePassPhrase(‘password123’)
ssl.setPrivateKeyPassPhrase(‘password123’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
4.2 安全监控实战
WebLogic安全监控的实战案例:
1. 配置安全监控
# 配置安全监控
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置安全监控
domain = cmo
domain.setSecurityMonitoringEnabled(true)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置安全监控
domain = cmo
domain.setSecurityMonitoringEnabled(true)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
2. 查看安全监控数据
# 查看安全监控数据
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
# 查看安全事件
domain = cmo
securityRuntime = domain.getSecurityRuntime()
auditRuntime = securityRuntime.getAuditRuntime()
auditRecords = auditRuntime.getAuditRecords()
for record in auditRecords:
print(‘Event Type: ‘ + record.getEventType())
print(‘Subject: ‘ + record.getSubject())
print(‘Resource: ‘ + record.getResource())
print(‘Result: ‘ + record.getResult())
print(‘Timestamp: ‘ + record.getTimestamp())
print(‘—‘)
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
# 查看安全事件
domain = cmo
securityRuntime = domain.getSecurityRuntime()
auditRuntime = securityRuntime.getAuditRuntime()
auditRecords = auditRuntime.getAuditRecords()
for record in auditRecords:
print(‘Event Type: ‘ + record.getEventType())
print(‘Subject: ‘ + record.getSubject())
print(‘Resource: ‘ + record.getResource())
print(‘Result: ‘ + record.getResult())
print(‘Timestamp: ‘ + record.getTimestamp())
print(‘—‘)
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Event Type: Authentication
Subject: weblogic
Resource: AdminServer
Result: SUCCESS
Timestamp: 2024-01-01T10:00:00Z
—
Event Type: Authorization
Subject: weblogic
Resource: /console
Result: SUCCESS
Timestamp: 2024-01-01T10:00:01Z
—
Event Type: Authentication
Subject: fgeduadmin
Resource: AdminServer
Result: SUCCESS
Timestamp: 2024-01-01T10:00:02Z
—
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Event Type: Authentication
Subject: weblogic
Resource: AdminServer
Result: SUCCESS
Timestamp: 2024-01-01T10:00:00Z
—
Event Type: Authorization
Subject: weblogic
Resource: /console
Result: SUCCESS
Timestamp: 2024-01-01T10:00:01Z
—
Event Type: Authentication
Subject: fgeduadmin
Resource: AdminServer
Result: SUCCESS
Timestamp: 2024-01-01T10:00:02Z
—
Exiting WebLogic Scripting Tool.
4.3 安全防护实战
WebLogic安全防护的实战案例:
1. 配置防火墙规则
# 配置防火墙规则
# 允许WebLogic端口
firewall-cmd –permanent –add-port=7001/tcp
firewall-cmd –permanent –add-port=7002/tcp
firewall-cmd –permanent –add-port=5556/tcp
# 重新加载防火墙规则
firewall-cmd –reload
# 查看防火墙规则
firewall-cmd –list-all
# 允许WebLogic端口
firewall-cmd –permanent –add-port=7001/tcp
firewall-cmd –permanent –add-port=7002/tcp
firewall-cmd –permanent –add-port=5556/tcp
# 重新加载防火墙规则
firewall-cmd –reload
# 查看防火墙规则
firewall-cmd –list-all
success
success
success
success
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports: 7001/tcp 7002/tcp 5556/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
success
success
success
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports: 7001/tcp 7002/tcp 5556/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
2. 配置访问控制
# 配置访问控制
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置访问控制
server = cmo.lookupServer(‘AdminServer’)
networkAccessPoint = server.getNetworkAccessPoint(‘default’)
networkAccessPoint.setAccessControlEnabled(true)
# 配置访问控制列表
accessControl = networkAccessPoint.getAccessControl()
accessControl.createAccessControlEntry(‘192.168.1.0/24’, ‘ALLOW’)
accessControl.createAccessControlEntry(‘0.0.0.0/0’, ‘DENY’)
save()
activate()
exit()
cd /WebLogic/app/weblogic15c/oracle_common/common/bin
./wlst.sh
connect(‘weblogic’, ‘password123’, ‘t3://localhost:7001’)
edit()
startEdit()
# 配置访问控制
server = cmo.lookupServer(‘AdminServer’)
networkAccessPoint = server.getNetworkAccessPoint(‘default’)
networkAccessPoint.setAccessControlEnabled(true)
# 配置访问控制列表
accessControl = networkAccessPoint.getAccessControl()
accessControl.createAccessControlEntry(‘192.168.1.0/24’, ‘ALLOW’)
accessControl.createAccessControlEntry(‘0.0.0.0/0’, ‘DENY’)
save()
activate()
exit()
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
Welcome to WebLogic Server Administration Scripting Shell
Connecting to t3://localhost:7001 with userid weblogic …
Location changed to edit tree. This is a writable tree with No Root. This tree includes all the configuration that can be edited.
Starting an edit session …
Session started, be sure to save and activate your changes when you are done.
Saving all your changes …
Saved all your changes successfully.
Activating all your changes, this may take a while …
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Exiting WebLogic Scripting Tool.
3. 配置安全补丁
# 应用安全补丁
cd /WebLogic/app/weblogic15c
./OPatch/opatch apply /WebLogic/patches/3456789_151100_Generic.zip
cd /WebLogic/app/weblogic15c
./OPatch/opatch apply /WebLogic/patches/3456789_151100_Generic.zip
Oracle Interim Patch Installer version 13.9.4.2.11
Copyright (c) 2024, Oracle Corporation. All rights reserved.
Oracle Home : /WebLogic/app/weblogic15c
Central Inventory : /WebLogic/app/oraInventory
from : /WebLogic/app/weblogic15c/oraInst.loc
OPatch version : 13.9.4.2.11
OUI version : 13.9.4.0.0
Log file location : /WebLogic/app/weblogic15c/cfgtoollogs/opatch/opatch2024-01-01_10-00-00AM_1.log
Verifying environment and performing prerequisite checks…
Patch 3456789: Optional component(s) present : [WebLogic Server, 15.1.1.0.0]
Prerequisite check “CheckMinimumOPatchVersion” passed.
Prerequisite check “CheckSystemCommandAvailable” passed.
Patch 3456789 successfully applied.
OPatch succeeded.
Copyright (c) 2024, Oracle Corporation. All rights reserved.
Oracle Home : /WebLogic/app/weblogic15c
Central Inventory : /WebLogic/app/oraInventory
from : /WebLogic/app/weblogic15c/oraInst.loc
OPatch version : 13.9.4.2.11
OUI version : 13.9.4.0.0
Log file location : /WebLogic/app/weblogic15c/cfgtoollogs/opatch/opatch2024-01-01_10-00-00AM_1.log
Verifying environment and performing prerequisite checks…
Patch 3456789: Optional component(s) present : [WebLogic Server, 15.1.1.0.0]
Prerequisite check “CheckMinimumOPatchVersion” passed.
Prerequisite check “CheckSystemCommandAvailable” passed.
Patch 3456789 successfully applied.
OPatch succeeded.
更多学习教程公众号风哥教程itpux_com
Part05-风哥经验总结与分享
5.1 安全最佳实践
- 定期更新:及时应用安全补丁和更新,确保系统的安全性
- 最小权限原则:只授予用户必要的权限,避免权限过度
- 强密码策略:使用复杂的密码和定期更换密码
- 加密通信:使用SSL/TLS加密传输数据,保护数据安全
- 安全审计:启用安全审计,记录安全事件和操作
- 访问控制:严格控制对系统资源的访问,限制来自不可信网络的访问
- 安全测试:定期进行安全测试和漏洞扫描,发现并修复安全漏洞
- 安全培训:对管理员和开发人员进行安全培训,提高安全意识
5.2 安全防护技巧
- 使用防火墙:配置防火墙规则,限制对WebLogic端口的访问
- 使用VPN:通过VPN访问WebLogic管理控制台,提高安全性
- 使用负载均衡器:通过负载均衡器分发流量,提高系统的可用性和安全性
- 使用Web应用防火墙(WAF):部署WAF,保护Web应用免受攻击
- 使用入侵检测系统(IDS):部署IDS,检测和响应安全事件
- 使用加密存储:加密存储敏感数据,保护数据安全
- 使用多因素认证:启用多因素认证,提高认证安全性
- 使用安全监控工具:使用安全监控工具,实时监控系统的安全状态
5.3 安全事件处理
- 事件响应计划:制定安全事件响应计划,明确响应步骤和责任
- 事件检测:及时检测安全事件,通过日志分析、入侵检测等手段
- 事件分析:分析安全事件的原因和影响,确定应对措施
- 事件响应:根据响应计划,采取相应的措施,控制事件的影响
- 事件恢复:恢复系统的正常运行,修复安全漏洞
- 事件总结:总结安全事件的经验教训,改进安全措施
- 事件报告:向相关方报告安全事件,包括管理层、客户等
- 持续改进:根据安全事件的经验,持续改进安全措施
风哥提示:WebLogic安全是一个持续的过程,需要定期评估和改进,确保系统的安全性。
from WebLogic视频:www.itpux.com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
