search
HomeDatabaseMysql TutorialOracle的一些安全加固配置

Oracle数据库安全往往容易被SA或者DBA所忽视,实则还是需要提高警惕,一下是一些配置和参数以改进Oracle数据库的安全性。

Oracle数据库安全往往容易被SA或者DBA所忽视,实则还是需要提高警惕,一下是一些配置和参数以改进Oracle数据库的安全性。

0. 限制sysdba角色的用户使用远程登录
alter system set remote_login_passwordfile=none scope=spfile;
这个参数默认值为 EXCLUSIVE ,注意,修改后只能从主机上使用OS认证的方式进行登录。

1. 使用profile进行限定资源和口令安全
如果要使用口令管理,以SYS执行 utlpwdmg.sql 脚本。
@?/rdbms/admin/utlpwdmg.sql;
口令帐户锁定相关参数:
FAILED_LOGIN_ATTEMPTS  锁允许登录失败的次数
PASSWORD_LOCK_TIME     达到登录失败次数后,帐户锁定的天数,过了这个天数之后帐户会自动解锁
口令失效和过期相关参数:
PASSWORD_LIFE_TIME     口令的生存期(天)
PASSWORD_GRACE_TIME    口令失效后从第一次成功登录算起的更改口令的宽限期(天)
口令历史记录相关参数:
PASSWORD_REUSE_TIME    可以重新使用口令前的天数
PASSWORD_REUSE_MAX     可以重新使用口令的最多次数
口令校验相关参数: 【Linux公社 】
PASSWORD_VERIFY_FUNCTION 检验口令设置的PL/SQL 函数

如何使用这些参数呢?一是创建新的配置文件,然后把配置文件绑定到用户:
CREATE PROFILE profile_name LIMIT  
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME 1/24;
ALTER USER user_name PROFILE profile_name;
如果不需要配置文件了,删除:
DROP PROFILE developer_prof CASCADE

二是直接修改默认的配置文件,,这样对每个使用该配置文件的用户都是生效的:
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME 1/24;

2. 设置监听器口令
在10g当中,监听器的口令设置已经过时了,对监听器的任何操作默认情况下变成了OS认证方式,也就是说对监听启动操作的用户可以任意停止监听,而非启动用户则无法对监听器进行停止,但是如果你想要恢复到9i的那种需要口令操作的情况,可以如下设置:
listener.ora文件增加如下一行参数:
LOCAL_OS_AUTHENTICATION_[listener name] = OFF

通过以下方式设置口令:
[oracle@test admin]$ lsnrctl

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 08-AUG-2012 14:42:03

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.4)(PORT=1521)))
Password changed for LISTENER
The command completed successfully
LSNRCTL> save_config --奇怪的是保存失败,需要执行下 set password之后重新保存即可
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.4)(PORT=1521)))
TNS-01169: The listener has not recognized the password
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.4)(PORT=1521)))
Saved LISTENER configuration parameters.
Listener Parameter File   /u01/oracle/10g/product/10.2.0/db_1/network/admin/listener.ora
Old Parameter File   /u01/oracle/10g/product/10.2.0/db_1/network/admin/listener.bak
The command completed successfully
LSNRCTL>

linux

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL: BLOB and other no-sql storage, what are the differences?MySQL: BLOB and other no-sql storage, what are the differences?May 13, 2025 am 12:14 AM

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

MySQL Add User: Syntax, Options, and Security Best PracticesMySQL Add User: Syntax, Options, and Security Best PracticesMay 13, 2025 am 12:12 AM

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

MySQL: How to avoid String Data Types common mistakes?MySQL: How to avoid String Data Types common mistakes?May 13, 2025 am 12:09 AM

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

MySQL: String Data Types and ENUMs?MySQL: String Data Types and ENUMs?May 13, 2025 am 12:05 AM

MySQloffersechar, Varchar, text, Anddenumforstringdata.usecharforfixed-Lengthstrings, VarcharerForvariable-Length, text forlarger text, AndenumforenforcingdataAntegritywithaetofvalues.

MySQL BLOB: how to optimize BLOBs requestsMySQL BLOB: how to optimize BLOBs requestsMay 13, 2025 am 12:03 AM

Optimizing MySQLBLOB requests can be done through the following strategies: 1. Reduce the frequency of BLOB query, use independent requests or delay loading; 2. Select the appropriate BLOB type (such as TINYBLOB); 3. Separate the BLOB data into separate tables; 4. Compress the BLOB data at the application layer; 5. Index the BLOB metadata. These methods can effectively improve performance by combining monitoring, caching and data sharding in actual applications.

Adding Users to MySQL: The Complete TutorialAdding Users to MySQL: The Complete TutorialMay 12, 2025 am 12:14 AM

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

Mastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: String Data Types and Indexing: Best PracticesMySQL: String Data Types and Indexing: Best PracticesMay 12, 2025 am 12:11 AM

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),