ubuntu

Ubuntu中lsnrctl的安全设置有哪些

小樊
38
2025-10-25 14:47:32
栏目: 智能运维

Ubuntu中lsnrctl的安全设置措施

1. 文件权限与所有权管理

确保lsnrctl二进制文件的权限严格受限,仅允许授权用户(如oracle)访问。通常需将文件所有者设为root,组设为oracle,并设置权限为750(所有者可读、写、执行;组可读、执行;其他用户无权限)。例如:

sudo chown root:oracle /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl  # 修改所有者和组
sudo chmod 750 /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl        # 设置权限

此外,监听器配置文件(listener.ora,位于$ORACLE_HOME/network/admin)需设置为600权限,防止未授权修改:

sudo chmod 600 $ORACLE_HOME/network/admin/listener.ora

2. sudoers配置限制执行权限

通过sudoers文件控制哪些用户可以执行lsnrctl命令,避免直接赋予普通用户root权限。使用visudo命令安全编辑/etc/sudoers,添加如下规则(以oracle用户为例):

oracle ALL=(oracle) NOPASSWD: /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl *  # 允许oracle用户无需密码执行lsnrctl

此配置仅允许指定用户以oracle身份运行lsnrctl,降低权限滥用风险。

3. SELinux/AppArmor强制访问控制

若系统启用SELinux或AppArmor,需配置相应策略限制lsnrctl的访问:

4. 防火墙限制端口访问

Oracle监听器默认使用1521端口(TCP),需通过防火墙限制仅允许信任IP访问。以ufw为例:

sudo ufw allow from <trusted_ip> to any port 1521/tcp  # 仅允许trusted_ip访问1521端口
sudo ufw enable                                      # 启用ufw

若使用iptables,可添加如下规则:

sudo iptables -A INPUT -p tcp --dport 1521 -s <trusted_ip> -j ACCEPT  # 允许trusted_ip
sudo iptables -A INPUT -p tcp --dport 1521 -j DROP                   # 拒绝其他IP

5. 监听器配置安全参数

修改listener.ora文件,增强监听器的安全性:

6. 强密码策略与审计

7. Oracle Wallet管理证书

若启用SSL加密,需使用Oracle Wallet安全存储证书和密钥:

0
看了该问题的人还看了