溫馨提示×

Linux Oracle安全設置如何操作

小樊
37
2025-10-04 00:20:49
欄目: 云計算

一、操作系統層面安全設置

  1. 創建專用Oracle用戶與組
    為Oracle數據庫創建專用操作系統用戶及組,避免使用root管理數據庫。執行以下命令:

    groupadd oinstall  # 歸屬組
    groupadd dba       # DBA權限組
    useradd -g oinstall -G dba -m oracle  # 創建oracle用戶,歸屬oinstall組,附加dba組
    passwd oracle      # 設置強密碼
    

    將oracle用戶主目錄設為Oracle軟件安裝路徑(如/u01/app/oracle),并修改環境變量(編輯~/.bash_profile):

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
    export ORACLE_SID=orcl
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    source ~/.bash_profile  # 生效配置
    
  2. 調整系統內核參數
    編輯/etc/sysctl.conf,添加Oracle推薦的內核參數以優化系統性能與安全性:

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    net.ipv4.ip_local_port_range = 9000 65500
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.conf.all.rp_filter = 1
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    

    執行sysctl -p使參數生效。

  3. 配置用戶權限限制
    編輯/etc/security/limits.conf,限制oracle用戶的資源使用,防止資源濫用:

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    
  4. SELinux配置(若啟用)
    若系統啟用SELinux,需設置正確的上下文以確保Oracle正常運行:

    chcon -R -t oracle_home_t /u01/app/oracle
    chcon -R -t oracle_db_t /u01/app/oradata
    

二、Oracle數據庫層面安全設置

  1. 數據字典保護
    啟用數據字典保護,僅允許SYSDBA用戶訪問基礎表,防止未授權訪問敏感數據字典:

    ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=FALSE SCOPE=SPFILE;
    SHUTDOWN IMMEDIATE;
    STARTUP;
    
  2. 口令復雜度策略
    通過修改PROFILE設置密碼復雜度,要求密碼長度≥6位且包含數字、小寫字母、大寫字母、特殊符號中的至少2類,增強賬戶安全性:

    CREATE PROFILE strong_pwd LIMIT
      PASSWORD_VERIFY_FUNCTION verify_function_11G
      PASSWORD_LIFE_TIME 90
      PASSWORD_REUSE_TIME 0
      PASSWORD_REUSE_MAX UNLIMITED
      FAILED_LOGIN_ATTEMPTS 5
      PASSWORD_LOCK_TIME 1/24;
    ALTER USER sys PROFILE strong_pwd;
    ALTER USER system PROFILE strong_pwd;
    
  3. 限制SYSDBA遠程登錄
    禁止SYSDBA權限用戶從遠程主機登錄,降低遠程攻擊風險:

    ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=NONE SCOPE=SPFILE;
    SHUTDOWN IMMEDIATE;
    STARTUP;
    
  4. 開啟數據庫審計
    啟用審計功能,記錄用戶對數據庫的所有操作(如登錄、數據修改),便于后續追溯:

    ALTER SYSTEM SET AUDIT_TRAIL='DB,EXTENDED' SCOPE=SPFILE;
    SHUTDOWN IMMEDIATE;
    STARTUP;
    -- 示例審計命令:審計用戶scott的所有操作
    AUDIT ALL BY scott BY ACCESS;
    
  5. 配置監聽器密碼
    為Oracle監聽器設置密碼,防止未授權用戶修改監聽器配置:

    lsnrctl
    LSNRCTL> SET CURRENT_LISTENER LISTENER
    LSNRCTL> CHANGE_PASSWORD
    Old password: 
    New password: 
    Reenter new password: 
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    Password changed for LISTENER
    LSNRCTL> SAVE_CONFIG
    
  6. 可信IP訪問控制
    通過sqlnet.ora文件限制僅信任的IP地址能訪問數據庫,減少非法訪問:
    編輯$ORACLE_HOME/network/admin/sqlnet.ora,添加:

    TCP.VALIDNODE_CHECKING=YES
    TCP.INVITED_NODES=(192.168.1.100,192.168.1.101)  # 替換為信任的IP
    TCP.EXCLUDED_NODES=(192.168.1.200)              # 可選:排除的IP
    

    執行lsnrctl reload使配置生效。

  7. 網絡傳輸加密
    啟用SSL/TLS加密客戶端與數據庫之間的網絡傳輸,保護數據隱私:
    編輯$ORACLE_HOME/network/admin/sqlnet.ora,添加:

    SQLNET.ENCRYPTION_SERVER=REQUIRED
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256)
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA256)
    
  8. 設置最大連接數
    根據服務器性能調整最大連接數,避免過多連接導致資源耗盡:

    ALTER SYSTEM SET PROCESSES=200 SCOPE=SPFILE;
    ALTER SYSTEM SET SESSIONS=230 SCOPE=SPFILE;  -- sessions = processes * 1.1 + 5
    SHUTDOWN IMMEDIATE;
    STARTUP;
    

三、日常運維安全維護

  1. 定期審計日志檢查
    定期查看系統日志(/var/log/secure)和Oracle審計日志($ORACLE_BASE/admin/orcl/adump),識別異常登錄(如多次失敗嘗試)或未授權操作:

    grep "ORA-" /var/log/secure  # 查看Oracle相關錯誤日志
    ls -l $ORACLE_BASE/admin/orcl/adump  # 查看審計文件
    
  2. 定期備份與恢復測試
    制定備份策略(如每日增量備份+每周全量備份),使用RMAN工具備份數據庫,并定期測試恢復流程,確保數據可恢復:

    rman target /
    RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
    RMAN> RESTORE DATABASE;
    RMAN> RECOVER DATABASE;
    
  3. 及時更新補丁
    定期檢查Oracle官方安全公告,及時安裝數據庫補?。ㄈ鏟SU、CPU),修復已知漏洞:

    # 使用Oracle OPatch工具應用補丁
    opatch apply /path/to/patch
    
  4. 文件權限審查
    定期檢查Oracle關鍵目錄(如$ORACLE_HOME、$ORACLE_BASE/oradata)的權限,確保只有oracle用戶和dba組有訪問權限:

    chown -R oracle:dba $ORACLE_HOME
    chmod -R 750 $ORACLE_HOME
    chown -R oracle:dba $ORACLE_BASE/oradata
    chmod -R 750 $ORACLE_BASE/oradata
    
  5. SSH安全加固
    禁用root遠程登錄,修改SSH默認端口(如22→2222),啟用密鑰認證,減少SSH攻擊面:
    編輯/etc/ssh/sshd_config

    PermitRootLogin no
    Port 2222
    PubkeyAuthentication yes
    PasswordAuthentication no
    

    重啟SSH服務:

    systemctl restart sshd
    

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女