centos

centos环境下sqlplus安全设置

小樊
41
2025-08-02 12:08:43
栏目: 云计算

在CentOS环境下配置SQL*Plus涉及多个步骤,以确保数据库的安全性。以下是详细的步骤:

1. 安装Oracle客户端

首先,您需要下载并安装Oracle Instant Client。您可以从Oracle官方网站下载适合您操作系统的Instant Client包。例如,对于Oracle 19c,您可以下载以下包:

然后使用yum安装这些包:

sudo yum localinstall oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
sudo yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

2. 配置环境变量

安装完成后,您需要配置环境变量。编辑~/.bashrc文件(或/root/.bashrc,如果您以root用户操作),添加以下内容:

export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_SID=orclcdb

保存文件并运行以下命令使更改生效:

source ~/.bashrc

3. 创建数据库用户和设置权限

使用以下命令创建一个用户并为其分配密码:

sudo useradd -g oinstall -G dba oracle
sudo passwd oracle

按照提示设置密码。接下来,为用户分配适当的权限。例如,要为用户分配创建会话和创建表的权限,使用以下命令:

GRANT CREATE SESSION, CREATE TABLE TO oracle;

刷新权限以使更改生效:

FLUSH PRIVILEGES;

4. 配置SQL*Plus连接文件(可选)

在您的主目录下创建一个名为.sqlplusrc的文件,用于存储连接信息:

touch ~/.sqlplusrc

使用文本编辑器打开文件,添加以下内容:

DB_SID=orclcdb
DB_PDB=orclpdb1
DB_DOMAIN=your_domain_name
DB_MEMORY=2G
DB_DOMAIN_HOME=/opt/oracle/instantclient_19_8

保存文件并关闭编辑器。现在,您可以使用以下命令连接到数据库:

sqlplus /@your_connection_string

your_connection_string替换为您在.sqlplusrc文件中配置的连接信息。

5. 加强系统访问控制

6. 配置防火墙

在CentOS上,可以使用以下命令来安装iptables:

sudo yum install iptables

安装完成后,您需要配置防火墙以允许数据库服务器的流量通过,并阻止不必要的流量。以下是一些常用的防火墙规则示例:

# 允许SSH访问
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许MySQL访问
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# 允许HTTP和HTTPS访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 其他流量全部拒绝
sudo iptables -A INPUT -j DROP

在配置完规则后,您可以使用以下命令启动防火墙:

sudo systemctl enable iptables
sudo systemctl start iptables

7. 使用SSL连接(可选)

要将SQL*Plus配置为使用SSL连接到RDS for Oracle数据库实例,请按照以下步骤操作:

  1. ORACLE_HOME环境变量设置为Oracle主目录的位置。
  2. $ORACLE_HOME/lib追加到LD_LIBRARY_PATH环境变量。
  3. $ORACLE_HOME/ssl_wallet处的Oracle钱包创建一个目录。
  4. 下载适用于所有Amazon Web Services区域的证书捆绑.pem文件并将此文件放在ssl_wallet目录中。
  5. $ORACLE_HOME/network/admin目录中,修改或创建tnsnames.ora文件并包含SSL相关的条目。
  6. 在同一目录中,修改或创建sqlnet.ora文件并包含以下参数:
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet)))
SSL_CLIENT_AUTHENTICATION = FALSE
SSL_VERSION = 1.0
SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
SSL_SERVER_DN_MATCH = ON

运行下列命令以创建Oracle钱包:

orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only

使用操作系统实用程序将.pem捆绑文件中的每个证书解压缩到单独的.pem文件中。使用单独的orapki命令将每个证书添加到Wallet中。

通过以上步骤,您可以在CentOS上成功配置SQL*Plus并连接到Oracle数据库,同时确保数据库的安全性。

0
看了该问题的人还看了