禁止作業系統驗證登陸資料庫

2021-07-31 10:56:28 字數 3421 閱讀 9989

作業系統認證方式登入

資料庫的含義是:只要是以oracle使用者登入的使用者都可以使用「sqlplus / as sysdba」方式連線到資料庫中。

出於安全的考慮,我們可能需要禁用這個特性。當然,如果以作業系統認證方式無法順利登入,也可以通過在這個方法來排查故障問題。

1.以作業系統認證方式登入資料庫的方法

1)最基本的方法就是使用「sqlplus / as sysdba」登入資料庫

[oracle@secdb admin]$ sqlplus / as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:00:10 2010

connected to:

oracle database10genterprise edition release 10.2.0.3.0 - 64bit production

with the partitioning, oracle label security, olap and data mining scoring engine options

sql>

斜槓「/」左面是使用者名稱,右面是密碼,這裡表示不給出使用者名稱和密碼一樣可以登入到資料庫系統中。

2)使用正確的使用者名稱和密碼登陸資料庫

[oracle@secdb admin]$ sqlplus sys/oracle as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:00:52 2010

connected to:

oracle database 10g enterprise edition release 10.2.0.3.0 - 64bit production

with the partitioning, oracle label security, olap and data mining scoring engine options

sql>

顯然,登入完全沒有問題。

3)使用錯誤的使用者名稱和密碼登陸資料庫

[oracle@secdb admin]$ sqlplus sys_1/oracle_1 as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:01:07 2010

connected to:

oracle database 10g enterprise edition release 10.2.0.3.0 - 64bit production

with the partitioning, oracle label security, olap and data mining scoring engine options

sql>

這種作業系統認證方式登入資料庫,即使使用的是錯誤的使用者名稱和密碼依然可以順利的登入到資料庫中。

2.禁用作業系統認證方式登入資料庫

禁用的方法很簡單,僅需在sqlnet.ora配置檔案中新增一條「sqlnet.authentication_services=(none)」即可。

調整sqlnet.ora檔案內容。

[oracle@secdb ~]$ vi $oracle_home/network/admin/sqlnet.ora

sqlnet.authentication_services=(none)

3.驗證是否生效

1)必須使用正確的使用者名稱和密碼才能登陸到系統中

[oracle@secdb admin]$ sqlplus sys/oracle as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:58:29 2010

connected to:

oracle database 10g enterprise edition release 10.2.0.3.0 - 64bit production

with the partitioning, oracle label security, olap and data mining scoring engine options

sql>

2)使用正確的使用者名稱和錯誤的密碼進行登入測試

[oracle@secdb admin]$ sqlplus sys/oracle_1 as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:59:14 2010

error:

ora-01017: invalid username/password; logon denied

enter user-name:

提示無效的使用者名稱和密碼,無法完成登入!

3)使用「sqlplus / as sysdba」登入方式進行驗證

[oracle@secdb admin]$ sqlplus / as sysdba

sql*plus: release 10.2.0.3.0 - production on sun dec 26 21:58:05 2010

error:

ora-01031: insufficient privileges

enter user-name:

此處顯示許可權不足,不允許登入!

4.進一步提高系統的安全性

因為sqlnet.ora檔案預設條件下oracle使用者可以對其進行任意修改,我們可以通過調整sqlnet.ora檔案的owner和許可權的方式進一步提高系統的安全性。

1)預設條件下sqlnet.ora檔案的許可權和owner資訊

[oracle@secdb admin]$ ls -l sqlnet.ora

-rw-r--r-- 1 oracle oinstall 266 dec 26 21:00 sqlnet.ora

2)調整sqlnet.ora檔案的owner和許可權資訊

[root@secdb admin]# chown root:root sqlnet.ora

[root@secdb admin]# chmod 744 sqlnet.ora

[root@secdb admin]# ls -l sqlnet.ora

-rwxr--r-- 1 root root 266 dec 26 21:00 sqlnet.ora

調整之後,oracle使用者將再無許可權對sqlnet.ora檔案進行調整。

5.小結

作業系統認證方式連線資料庫是預設行為,這種方法給我們管理資料庫帶來了極大的便利。在得到便捷操作的同時帶來的是安全上的問題,權衡利弊,做出最後的選擇。

「預設值」並不總是最美麗的!

ORACLE口令檔案驗證與作業系統驗證

1 使用作業系統驗證 2個前提必須同時滿足 1 os下建立使用者ora dba使用者組,然後可以新建立使用者或者把原來的使用者加入到ora dba組中,然後使用這個使用者在安裝了資料庫的本地機器登陸或者使用安全的遠端連線登陸,可以作為sysdba登入,在資料庫級不需要提供密碼。2 sqlnet.or...

ORACLE口令檔案驗證與作業系統驗證 轉

1 使用作業系統驗證 2個前提必須同時滿足 1 os下建立使用者ora dba使用者組,然後可以新建立使用者或者把原來的使用者加入到ora dba組中,然後使用這個使用者在安裝了資料庫的本地機器登陸或者使用安全的遠端連線登陸,可以作為sysdba登入,在資料庫級不需要提供密碼。2 sqlnet.or...

禁止以作業系統認證方式登入資料庫

1.以作業系統認證方式登入資料庫的方法 1 最基本的方法就是使用 sqlplus as sysdba 登入資料庫 sqlplus as sysdba 斜槓 左面是使用者名稱,右面是密碼,這裡表示不給出使用者名稱和密碼一樣可以登入到資料庫系統中 2 使用正確的使用者名稱和密碼登陸資料庫 sqlplus...