oracle安全加固方案.docx
《oracle安全加固方案.docx》由会员分享,可在线阅读,更多相关《oracle安全加固方案.docx(11页珍藏版)》请在冰豆网上搜索。
oracle安全加固方案
oracle安全加固方案
1.说明
a.通过SSH远程连接服务器,上传Oracle11g安装包,在CentOS6.8上无图形化界面静默安装Oracle11g。
b.安装完成后,修复Oracle补丁
c.依据安全基线,配置Oracle安全设置
d.依据安全基线,配置WebLogic安全设置
e.依据安全基线,修复Linux漏洞
2.环境描述
a.操作系统:
CentOS6.864位
b.数据库:
Oracle(暂未安装)
c.中间件:
WebLogic(已安装)
3.过程
a.Oracle安装
i.安装依赖包
yum–yinstallbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-develgccgcc-c++glibcglibc.i686glibc-commonglibc-develglibc-devel.i686glibc-headerskshlibaiolibaio.i686libaio-devellibaio-devel.i686
libgcclibgcc.i686libstdc++libstdc++.i686libstdc++-develmakesysstatunixODBCunixODBC-devel
ii.设定swap空间
1.生成swap文件
ddif=/dev/zeroof=/home/swapfilebs=1Mcount=2048
2.设定使用swapfile交换文件
mkswap/home/swapfile
3.启用交换分区
swapon/home/swapfile
4.编辑文件/etc/fstab
vi/etc/fstab
5.以便引导系统时启用交换文件,文件最下方插入
/home/swapfileswapswapdefaults00
iii.添加Oracle用户和用户组
创建oinstall、dba用户组,将oracle用户加入组,修改并设定oracle用户密码
groupaddoinstall
gruopadddba
useradd–goinstall–gdbaoraclepasswdEcode1234
iv.修改内核参数
1.编辑/etc/sysctl.conf
vi/etc/sysctl.conf
2.添加参数
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
3.执行命令使生效
sysctl-p
v.修改用户资源限制
1.修改/etc/security/limits.conf文件
vi/etc/security/limits.conf
2.加入参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
3.修改/etc/pam.d/login文件
vi/etc/pam.d/login
4.加入参数
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
vi.创建安装目录
1.mkdir–p/opt/db/app/oracle/opt/db/app/oraInventory/opt/db/app/oradata
2.chown–Roracle:
oinstall/opt/db/app/oracle/opt/db/app/oraInventory/opt/db/app/oradata
3.chmod–r755/opt/db/app/oracle/opt/db/app/oraInventory/opt/db/app/oradata
vii.创建oraInst.loc
1.创建/etc/oraInst.loc文件
Vi/etc/oraInst.loc
2.加入内容
inventory_loc=/opt/db/app/oraInventory
inst_group=oinstall
3.保存退出,设定用户组及权限
chownoracle:
oinstall/etc/oraInst.loc
chmod664/etc/oraInst.loc
viii.上传并解压安装文件
Cd/opt/db
Unziplinux.x64_11gR2_database_1of7.zip
Unziplinux.x64_11gR2_database_2of7.zip
Chmod777/opt/db/database
Chown–roracle:
oinstall/opt/db/database
ix.编辑应答模版文件db_install.rsp
1.该文件默认存放在/opt/db/database/response下,将该文件拷贝到/opt/db/下
Cp/opt/db/database/response/db_install.rsp/opt/db/
2.修改应答文件的所属组及权限
Chownoracle:
oinstall/opt/db/*.rsp
Chmod755/opt/db/*.rsp
3.配置db_install.rsp
Vi/opt/db/db_install.rsp
4.修改相应参数(列出的仅为需要格外修改的参数)
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=hzgs.server
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/db/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/db/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/opt/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1024
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
x.设置oracle用户环境
1.Root用户切换至oracle用户
Su-oracle
2.修改用户配置文件
Vi.base_profile
文件内加入并修改至以下内容:
exportORACLE_BASE=/opt/db/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportORACLE_SID=orcl
exportORACLE_OWNER=oracle
exportPATH=$PATH:
$ORACLE_HOME/bin:
$HOME/bin
3.保存退出,并生效
Source.bash_profile
xi.开始安装
执行一下命令:
/opt/db/database/./runInstaller-silent-force-ignorePrereq-responseFile/opt/db/db_install.rsp
大约等待20分钟后,提示安装成功。
由于安装的数据库版本仅为数据库软件,没有创建相关的实例,下一步我们需要手动创建oracle实例。
xii.手动创建oracle实例
1.创建并修改initorcl.ora文件
a.Oracle11g默认的init.ora文件位于$ORACLE_HOME/dbs目录下,复制init.ora文件,改名为initorcl.ora文件即可。
>Cpinit.orainitorcl.ora
b.修改里面的参数值
2.创建实例所需要的文件夹
>cd/opt/db/app/oracle
>mkdiradmin
>cdadmin
>mkdirorcl
>cdorcl
>mkdiradumpbdump
>cd/opt/db/app/oradata
>mkdirorcl
>cd../
>mkdirflash_recovery_area
>pwd
>/opt/db/app/oracle
>ls
>adminflash_recovery_areaproduct
3.启动实例测试
>sqlplus/assysdba
>startupnomount
SQL>selectinstance_namefromv$instance;
INSTANCE_NAME
Orcl
4.创建密码文件
Orapwdfile='/opt/db/app/oracle/product/11.2.0/db_1/dbs/
orapworcl'password=oracleentries=10;
5.编写创建数据库实例脚本
CREATEDATABASEorcl
USERSYSIDENTIFIEDBYHzgs_swgl_2017
USERSYSTEMIDENTIFIEDBY Hzgs_swgl_2017
LOGFILEGROUP1('/opt/db/app/oradata/hzgs/redo01.log')SIZE20M,
GROUP2('/opt/db/app/oradata/hzgs/redo02.log')SIZE20M,
GROUP3('/opt/db/app/oradata/hzgs/redo03.log')SIZE20M
MAXLOGFILES5
MAXLOGMEMBERS5
MAXLOGHISTORY1
MAXDATAFILES100
MAXINSTANCES1
CHARACTERSETUS7ASCII
NATIONALCHARACTERSETUTF8
DATAFILE'/opt/db/app/oradata/hzgs/system01.dbf'SIZE325MREUSE
EXTENTMANAGEMENTLOCAL
SYSAUXDATAFILE'/opt/db/app/oradata/hzgs/sysaux01.dbf'SIZE325MREUSE
DEFAULTTABLESPACEtbs_1datafile'/opt/db/app/oradata/hzgs/tbs_1.dbf'size50m
DEFAULTTEMPORARYTABLESPACEtemp
TEMPFILE'/opt/db/app/oradata/hzgs/temp01.dbf'
SIZE20MREUSE
UNDOTABLESPACEundotbs1
DATAFILE'/opt/db/app/oradata/hzgs/undotbs01.dbf'
SIZE200MREUSEAUTOEXTENDONMAXSIZEUNLIMITED;
6.验证是否创建成功
SQL>selectstatusfromv$instance;
STATUS
OPEN
7.运行后续脚本,创建数据字典及相关视图
SQL>connsysassysdba
SQL>@?
/rdbms/admin/catalog.sql;
此过程可能需要10分钟左右
SQL>@?
/rdbms/admin/catproc.sql;
此过程可能需要15分钟左右
SQL>@?
/rdbms/admin/catblock.sql;
SQL>@?
/rdbms/admin/catoctk.sql;
SQL>@?
/rdbms/admin/owminst.plb;
SQL>connsystem/manager
SQL>@?
/sqlplus/admin/pupbld.sql;
SQL>@?
/sqlplus/admin/help/hlpbld.sqlhelpus.sql
8.监听文件配置(listener.ora)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME=/opt/db/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=orcl)
)
)
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=hzgs.server)(PORT=1521))
)
)
9.本地服务名配置(tnsnames.ora)
ORCL=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=hzgs.server)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
b.oracle补丁包安装
i.更新patch文件夹
在oracle安装目录$ORACLE_HOME下,自带一个OPatch工具包,不过通常需要首先升级OPatch,之后才能进行打补丁。
首先,需要确定当前OPatch的版本,进入OPatch目录,进行确认。
>cd/opt/db/app/oracle/product/11.2.0/dbhome_1
>cdOPatch
>./opatchversion
OPatchVersion11.2.0.1.1
升级之前,需要先对原有的OPatch进行备份,然后将Opatch的最新版本进行解压缩。
ii.更新p24006111_112040_Linux-x86-64.zip补丁包
将p24006111_112040_Linux-x86-64.zip补丁包解压缩(进行打补丁之前,一定要先关闭oracle的监听和服务)
>unzipp24006111_112040_Linux-x86-64.zip
>cdp2*******
>$OARCLE_HOME/OPatch/opatchapply
iii.更新p24315821_112040_Linux-x86-64.zip
iv.更新p24433711_112040_Linux-x86-64.zip
b.依据安全基线,配置Oracle安全设置
c.依据安全基线,配置WebLogic安全设置
d.依据安全基线,修复Linux漏洞