【連線】禁止以作業系統認證方式登入資料庫
作業系統認證方式登入資料庫的含義是:只要是以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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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 as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:00:52 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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.小結
作業系統認證方式連線資料庫是預設行為,這種方法給我們管理資料庫帶來了極大的便利。在得到便捷操作的同時帶來的是安全上的問題,權衡利弊,做出最後的選擇。
“預設值”並不總是最美麗的!
Good luck.
secooler
10.12.26
-- The End --
出於安全的考慮,我們可能需要禁用這個特性。當然,如果以作業系統認證方式無法順利登入,也可以透過在這個方法來排查故障問題。
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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 as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Dec 26 21:00:52 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
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.小結
作業系統認證方式連線資料庫是預設行為,這種方法給我們管理資料庫帶來了極大的便利。在得到便捷操作的同時帶來的是安全上的問題,權衡利弊,做出最後的選擇。
“預設值”並不總是最美麗的!
Good luck.
secooler
10.12.26
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-682660/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 1.6.4.3. 使用作業系統認證連線資料庫作業系統資料庫
- Oracle RMAN 連線資料庫認證方法Oracle資料庫
- 系統登入認證流程對比(cookie方式與jwt)CookieJWT
- WebForm登入頁面(連線資料庫)WebORM資料庫
- 認證系統之登入認證系統的進階使用 (二)
- [20230306]os認證連線資料庫問題.txt資料庫
- Ubuntu部署Maxkey單點登入認證系統Ubuntu
- javaweb專案(1)連線資料庫,登入註冊JavaWeb資料庫
- Android連線網路資料庫的方式Android資料庫
- 禁止ssh連線時的確認提示
- 直播系統程式碼,登入時常用驗證方式實現
- Python + Tkinter簡單實現註冊登入(連線本地MySQL資料庫)PythonMySql資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- HGAdmin無法連線本地資料庫解決方式資料庫
- JDBC連線批量處理資料入庫JDBC
- 帶你進入資料庫連線池資料庫
- 連線資料庫資料庫
- passport API 認證 -- 多表登入PassportAPI
- 簡單的選課系統(2)——資料庫的連線資料庫
- React & Redux 實現註冊登入認證系統(31 個視訊)ReactRedux
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- python連線clickhouse資料庫的兩種方式小結Python資料庫
- 117 遠端連線mysql資料庫的幾種方式MySql資料庫
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- Odoo 連線ldap 域認證OdooLDA
- Android studio 連線sqlist資料庫,賬號密碼錯誤仍能登入的原因AndroidSQL資料庫密碼
- 簡單的登入註冊(前端+後端+MySQL資料庫 DRuid連線池 DBUtils)前端後端MySql資料庫UI
- JDBC連線資料庫JDBC資料庫
- 連線資料庫-mysql資料庫MySql
- jmeter連線資料庫JMeter資料庫
- Mybatis連線資料庫MyBatis資料庫
- Android 連線資料庫Android資料庫
- java連線資料庫Java資料庫
- JSP連線資料庫JS資料庫
- mysqli連線資料庫MySql資料庫
- Mongodb資料庫連線MongoDB資料庫
- Flask Session 登入認證模組FlaskSession
- JWT登入認證-專案BotBattleJWTBAT
- Redis使用認證密碼登入Redis密碼