Oracle DB 概要檔案____Oracle

來源:互聯網
上載者:User

  1、概要檔案和使用者   一次只能向使用者指派一個概要檔案。 概要檔案: • 控制資源消耗量 • 管理帳戶狀態和口令失效   註:只有將RESOURCE_LIMIT設定為TRUE,概要檔案才能強制執行資源限制。         概要檔案是用於限制資料庫用法和執行個體資源的一組已命名的資源限制條件。通過概要檔案還可管理帳戶狀態並對使用者的口令進行限制(長度、失效時間等)。每個使用者都分配有一個概要檔案,而且 該使用者在指定時間只屬於一個概要檔案。如果在更改使用者概要檔案時使用者已經登入,則所做更改只在使用者下一次登入時才生效。 DEFAULT概要檔案用作其它所有概要檔案的基礎。 如上圖所示,可隱式指定概要檔案的限制,如在“CPU/Session(CPU/會話)”中, 可取消限制,如“CPU/Call(CPU/調用)”, 也可以引用DEFAULT概要檔案中的任何設定,如“Connect Time(連線時間)”。 除非RESOURCE_LIMIT初始化參數設定為TRUE,否則不能通過概要檔案強行設定使用者的資源限制。 如果RESOURCE_LIMIT使用預設值FALSE,則忽略概要檔案資源限制。總是強制實施概要檔案口令設定。   管理員使用概要檔案可控制以下系統資源:   • CPU:可按會話或調用限制CPU 資源。 將“CPU/Session(CPU/會話)”限制為1,000 表示,如果使用此概要檔案的任一會話佔用10 秒以上的CPU 時間(CPU 時間限制以百分之一秒為單位),該會話就會收到錯誤訊息並被登出: ORA-02392: exceeded session limit on CPU usage, you are being logged off 每個調用限制的作用是相同的,但是它不是限制使用者的整個會話,而是防止任一命令佔用過多的CPU。 如果“CPU/Call(CPU/調用)”受到限制,並且使用者超出了該限制,則命令會中止。 使用者將收到如下所示的錯誤訊息: ORA-02393: exceeded call limit on CPU usage     • 網路/記憶體:每個資料庫會話都會佔用系統記憶體資源和網路資源(如果會話來自伺服器的非本機使用者)。可以指定以下參數: - 連線時間:指示使用者在自動登出前可以保持串連的分鐘數。 - 閑置時間:指示使用者會話在自動登出前可以保持閑置的分鐘數。只會計算服務器進程的閑置時間。閑置時間中不考慮應用程式活動。IDLE_TIME限制不受長時間運 行查詢和其它操作的影響。 - 並行會話:指示使用資料庫使用者帳戶可以建立多少並行會話。 - 專用SGA:限制在系統全域地區(SGA) 中執行排序、合并位元影像等操作所佔用的空間量。此限制僅在會話使用共用伺服器時才有效。 • 磁碟I/O:限制使用者在每個會話級或每個調用級可讀取的資料量。     “讀取/會話”和“讀取/調用”可限制記憶體和磁碟的總讀取次數。這樣做可確保執行大量I/O 操作的語句不會過度使用記憶體和磁碟。 通過概要檔案還可提供組合限制。組合限制以“CPU/會話”、“讀取/會話”、“連線時間”和“專用SGA”的加權組合為基礎。 要建立概要檔案,請單擊“Server(伺服器)”選項卡,然後在“Security(安全)”標題下單擊“Profiles(概要檔案)”。在“Profiles(概要檔案)”頁中,單擊“Create(建立)”按鈕。       註:資源管理員可替代許多概要檔案設定。   2、實施口令安全功能   Oracle 口令管理是通過使用使用者概要檔案來實現的。概要檔案可提供許多標準安全功能。 註:不要使用會導致SYS、SYSMAN和DBSNMP口令失效以及相應帳戶被鎖定的概要檔案。     查看default概要檔案的配置。 sys@TEST0924> select * from dba_profiles where profile='DEFAULT'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- ---------------------------------------- DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED DEFAULT CPU_PER_SESSION KERNEL UNLIMITED DEFAULT CPU_PER_CALL KERNEL UNLIMITED DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED DEFAULT IDLE_TIME KERNEL UNLIMITED DEFAULT CONNECT_TIME KERNEL UNLIMITED DEFAULT PRIVATE_SGA KERNEL UNLIMITED DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 16 rows selected.     帳戶鎖定:如果使用者在指定的次數內嘗試登入系統失敗,系統會在設定的期間內自動鎖定帳戶 • FAILED_LOGIN_ATTEMPTS:指定在鎖定帳戶前嘗試登入的失敗次數 • PASSWORD_LOCK_TIME:指定嘗試登入失敗達到了指定的次數後鎖定帳戶的天數     口令到期和失效:使使用者口令具有生存期,口令在此生存期後會失效,必須對其變更。 • PASSWORD_LIFE_TIME:確定口令生存期(天),之後該口令就會失效 • PASSWORD_GRACE_TIME:指定首次成功登入到必須更改口令之間的寬限期(天),之後該口令就會失效。 註:鎖定SYS、SYSMAN和DBSNMP帳戶和使其口令失效,會妨礙Enterprise Manager 正常運行。應用程式必須捕獲“口令失效”警告訊息並處理口令更改;否則,寬限期一到期,就會鎖定使用者而不會通知原因。     口令記錄:通過核對新口令可確保在指定的時間內或者在指定的口令更改次數內不重複使用口令。通過使用下列其中一項來進行核對: • PASSWORD_REUSE_TIME:指定使用者不能在指定天數內重複使用口令 • PASSWORD_REUSE_MAX:指定在可重複使用當前口令之前需達到的口令更改次數 注意:概要檔案參數的值是在DEFAULT概要檔案中設定的或從該概要檔案中繼承的。 如果兩個口令記錄參數都具有值UNLIMITED,則Oracle DB 將同時忽略兩者。使用者可以隨時重用任何口令,但這不是一種有效安全做法。 如果兩個參數均已設定,則允許重用口令,但必須同時滿足這兩個條件:使用者更改口令的次數必須達到指定次數,並且自最後一次使用舊口令以來已經過了指定的天數。 例如,假設使用者ALFRED的概要檔案中的PASSWORD_REUSE_MAX設定為10,PASSWORD_REUSE_TIME設定為30,則使用者ALFRED只有在已重設了10 次口令,並且 自最後一次使用該口令以來已經過了30 天之後,才能重用該口令。 如果一個參數設定為某個數字,而另一個參數指定為UNLIMITED,則使用者無法重用口令。     口令複雜性驗證:通過對口令進行複雜性檢查可驗證口令是否符合特定的規則。這種檢查一定要確保口令足夠複雜,才能防止入侵者嘗試通過猜測口令來闖入系統。 PASSWORD_VERIFY_FUNCTION參數指定一個PL/SQL 函數,該函數在分配口令之前執行口令複雜性檢查。口令驗證函式必須由SYS使用者擁有,而且必須返回布爾值(TRUE或FALSE)。 位於以下目錄中的utlpwdmg.sql指令碼提供了模型口令驗證函式: • Unix 和Linux 平台:$ORACLE_HOME/rdbms/admin • Windows 平台:%ORACLE_HOME%\rdbms\admin   3、建立口令概要檔案   要建立口令概要檔案,請單擊“Server(伺服器)”選項卡,然後在“Security(安全)”標題下單擊“Profiles(概要檔案)”。在“Profiles(概要檔案)”頁中,單擊“Create(建立)”按鈕。單擊“Password(口令)”選項卡以設定口令限制。     可以從值列表中選擇各個設定的常用值(單擊手電筒表徵圖可進行瀏覽),也可輸入定製值。 所有時段都用“天”表示,但也可表示為分數。一天中有1,440 分鐘,因此5/1,440 為5 分鐘。   使用Enterprise Manager 也可編輯現有的口令概要檔案。   使用sql建立profile如下: sys@TEST0924> create profile grace_5 limit 2 FAILED_LOGIN_ATTEMPTS 3 3 PASSWORD_LOCK_TIME unlimited 4 PASSWORD_REUSE_TIME 30 5 PASSWORD_LIFE_TIME 30 6 PASSWORD_GRACE_TIME 5; Profile created. 也可以使用alter profile修改: sys@TEST0924> alter profile grace_5 limit 2 FAILED_LOGIN_ATTEMPTS 2 3 PASSWORD_LIFE_TIME 20 4 PASSWORD_GRACE_TIME 7 5 / Profile altered.   如果utlpwdmg.sql指令碼已運行,則VERIFY_FUNCTION和VERIFY_FUNCTION_11G函數將是可用的。如果建立了自己的複雜性函數,則可以輸入該函數的名稱。該函數名稱不會顯示在“Select(選擇)”列表中。如果該函數產生執行階段錯誤,使用者將無法更改口令。 刪除口令概要檔案   在Enterprise Manager 中,無法刪除使用者使用的概要檔案。但是,如果刪除具有CASCADE選項的概要檔案(例如在SQL*Plus 中),則會向具有該概要檔案的所有使用者自動分配DEFAULT概要檔案。   4、提供的口令驗證函式:VERIFY_FUNCTION_11G   Oracle 伺服器提供兩個名稱分別為VERIFY_FUNCTION和VERIFY_FUNCTION_11g的口令複雜性驗證函式。 這些函數是使用<oracle_home>/rdbms/admin/utlpwdmg.sql指令碼建立的。   VERIFY_FUNCTION是為偏好以前版本提供的口令函數的使用者提供的。必須在SYS方案中建立口令複雜性驗證函式。此函數可用作自訂口令驗證的模板。   除了建立VERIFY_FUNCTION以外,在utlpwdmg指令碼中還使用以下ALTER PROFILE命令更改DEFAULT概要檔案: ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME 180 PASSWORD_GRACE_TIME 7 PASSWORD_REUSE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED FAILED_LOGIN_ATTEMPTS 10 PASSWORD_LOCK_TIME 1 PASSWORD_VERIFY_FUNCTION verify_function_11g; 注意,建立使用者時,除非指定了其它概要檔案,否則會向使用者指派DEFAULT概要檔案。   5、將限額分配給使用者   “限額”是允許指定資料表空間具有的空間。預設情況下,任何錶空間使用者都沒有限額。使用以下三個選項可為使用者提供資料表空間限額。 • 無限制:允許使用者最大限度地使用資料表空間中的可用空間。 • 值:使用者可以使用的空間(以KB或MB為單位)。這並不保證一定會為使用者保留該空間。因為,此值可能大於或小於資料表空間中的當前可用空間。 • UNLIMITED TABLESPACE系統許可權:覆蓋所有單獨的資料表空間限額,對於所有資料表空間(包括SYSTEM和SYSAUX),為使用者提供無限制的限額。授予此許可權時必須謹慎。   注意, 授予RESOURCE角色時包括授予此許可權。   對於SYSTEM或SYSAUX資料表空間,不得為使用者提供限額。通常,只有SYS和SYSTEM使用者才能在SYSTEM或SYSAUX資料表空間中建立對象。 對於分配的暫存資料表空間或任何還原資料表空間,你不需要具有限額。 • 當使用者建立或擴充段時,Oracle 執行個體會檢查限額。 • 對於分配給使用者方案的活動,只有那些使用資料表空間中的空間的活動才會計入限額。那些不使用所分配的資料表空間中的空間的活動(如建立視圖或使用暫存資料表空間)不會影響限額。 • 在使用PURGE子句刪除了使用者擁有的對象或者在資源回收筒中自動清除了使用者所擁有的對象時,會補充限額。   6、應用最少許可權原則   • 保護資料字典:O7_DICTIONARY_ACCESSIBILITY=FALSE • 撤銷不必要的PUBLIC許可權。 • 使用存取控制清單(ACL) 來控制網路訪問。 • 限制使用者可訪問的目錄。 • 限制具有系統管理權限的使用者。 • 限制遠端資料庫驗證:REMOTE_OS_AUTHENT=FALSE   應用最少許可權原則意味著必須僅為使用者授予高效地完成任務所需的許可權。這會降低使用者修改或查看(無意或惡意)他們無權修改或查看的資料的機率。 保護資料字典:預設情況下, O7_DICTIONARY_ACCESSIBILITY參數設定為FALSE。 如果沒有很好的理由,一定不要更改這個設定, 因為這會阻止具有ANY TABLE系統許可權的使用者訪問資料字典的基表。這個參數設定還確保了SYS使用者只能以SYSDBA身份登入。   撤銷不必要的PUBLIC許可權:有多個程式包對於需要這些程式包的應用程式非常有用,但需要正確的配置才能安全地使用這些程式包。 PUBLIC被授予了對以下程式包的執行許可權:UTL_SMTP、UTL_TCP、UTL_HTTP和UTL_FILE。 在Oracle Database 11g中, 網路訪問由存取控制清單(ACL) 控制, ACL 可配置為允許某些使用者訪問特定的網路服務。 預設情況下,拒絕訪問網路。要允許訪問網路,必須建立ACL。可在兩個層級控制通過UTL_FILE對檔案的訪問: 在作業系統層級使用檔案和目錄的許可權,以及在資料庫中通過DIRECTORY對象來允許訪問特定檔案系統目錄。 可以向使用者授予對DIRECTORY對象的讀取許可權或讀寫權限。應謹慎控制對其它PL/SQL 程式包的執行許可權。   有一些功能較強大的程式包可能被誤用,這些程式包包括: • UTL_SMTP:允許將資料庫用作簡易郵件傳輸通訊協定(SMTP) 郵件伺服器來發送任意電子郵件。使用ACL 控制哪些使用者可以訪問哪些電腦。 • UTL_TCP:允許資料庫伺服器與任何正在接收或等待的網路服務建立外出網路連接。因此,在資料庫伺服器與任何正在等待的網路服務之間會發送任意資料。使用ACL 可控制存取權限。 • UTL_HTTP:允許資料庫伺服器通過HTTP 要求並檢索資料。如果將這個程式包授予使用者,可能會允許以HTML 形式將資料發送到惡意Web 網站。可使用ACL 限制存取權限。 • UTL_FILE:如果配置不當,則可能允許對主機作業系統上的任何文字檔進行訪問。正確配置時,此程式包可限制使用者只能訪問特定目錄位置。限制對作業系統目錄的訪問:通過資料庫中的DIRECTORY對象,DBA 可以將目錄映射到作業系統路徑,從而將這些目錄的許可權授予各個使用者。   限制具有系統管理權限的使用者:不要為資料庫使用者提供不必要的許可權。一定不能將DBA 角色授予非管理員。要實施最少許可權,限制授予下列類型的許可權: • 授予系統和對象的許可權 • 串連到資料庫的SYS許可權,如SYSDBA和SYSOPER • 其它DBA 類型的許可權,如DROP ANY TABLE   限制遠端資料庫驗證:預設情況下, REMOTE_OS_AUTHENT參數設定為FALSE。一定不要更改這個設定,除非可確保所有客戶機都能適當地驗證使用者。在引入了安全外部口令儲存(在Oracle Database 10g發行版2 中提供)後,允許遠程作業系統驗證就有了令人信服的理由。 在遠程驗證過程中: • 資料庫使用者通過外部方式來進行驗證 • 遠程系統驗證使用者 • 使用者登入資料庫,不必接受另外的驗證 註:如果撤銷了一些許可權,務必全面測試應用程式。   7、保護授權帳戶   授權帳戶的保護方式有: • 使用口令區分大小寫口令檔案 • 對管理員角色啟用嚴格的驗證方法 設定資料庫管理員驗證 任何時候都必須對具有SYSDBA、SYSOPER或SYSASM許可權的使用者進行驗證。在本地串連時,通過本地作業系統來驗證使用者是否為授權作業系統組的成員。如果是遠端連線,則使用口令檔案來驗證授權使用者。如果已配置口令檔案,則首先檢查此檔案。在Oracle Database 11g中,這些口令是區分大小寫。Oracle Database 11g提供了一些其它方法,使遠端管理員驗證更加安全並可以集中管理這些授權使用者。 使用Database Configuration Assistant 建立資料庫時,口令檔案是區分大小寫。如果從早期資料庫版本進行升級,請確保用於遠端連線的口令檔案區分大小寫: orapwd file=orapworcl entries=5 ignorecase=N 如果擔心口令檔案可能會受到攻擊或者維護許多口令檔案會非常困難,則可以實施嚴格驗證。如果要使用嚴格的驗證方法,則需要進階安全選件。   相關視圖: DBA_USERS DBA_PROFILES

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.