Oracle 數據庫基線安全加固操作

目錄

賬號管理、認證授權?ELK-Oracle-01-01-01

?ELK-Oracle-01-01-02

???????ELK-Oracle-01-01-03

???????ELK-Oracle-01-01-04

???????ELK-Oracle-01-01-05

???????ELK-Oracle-01-01-06

????????ELK-Oracle-01-01-07

????????ELK-Oracle-01-01-08

???????口令??ELK-Oracle-01-02-01

????????ELK-Oracle-01-02-02

????????ELK-Oracle-01-02-03

????????ELK-Oracle-01-02-04

????????ELK-Oracle-01-02-05

日志配置??ELK-Oracle-02-01-01

????????ELK-Oracle-02-01-02

????????ELK-Oracle-02-01-03

????????ELK-Oracle-02-01-04

通信協議?ELK-Oracle-03-01-01

????????ELK-Oracle-03-01-02

設備其他安全要求??ELK-Oracle-04-01-01

???????ELK-Oracle-04-01-02


賬號管理、認證授權?ELK-Oracle-01-01-01

編號

ELK-Oracle-01-01-01

名稱

為不同的管理員分配不同的賬號

實施目的

應按照用戶分配賬號,避免不同用戶間共享賬號,提高安全性。

問題影響

賬號混淆,權限不明確,存在用戶越權使用的可能。

系統當前狀態

select ? * ? from ? all_users; ?

select ? * ? from ? dba_users;

記錄用戶列表

實施步驟

1、參考配置操作

create user abc1 identified by password1;

create user abc2 identified by password2;

建立role,并給role授權,把role賦給不同的用戶

  1. 補充操作說明

1、abc1abc2是兩個不同的賬號名稱,可根據不同用戶,取不同的名稱;

回退方案

刪除用戶:例如創建了一個用戶 A,要刪除它可以這樣做

connect sys/密碼 as sysdba;

drop user A cascade;//就這樣用戶就被刪除了

判斷依據

標記用戶用途,定期建立用戶列表,比較是否有非法用戶

實施風險

重要等級

★★★

備注

????????ELK-Oracle-01-01-02

編號

ELK-Oracle-01-01-02

名稱

刪除或鎖定無效賬號

實施目的

刪除或鎖定無效的賬號,減少系統安全隱患。

問題影響

允許非法利用系統默認賬號

系統當前狀態

select ? * ? from ? all_users; ?

select ? * ? from ? dba_users;

記錄用戶列表

實施步驟

1、參考配置操作

alter user username lock;//鎖定用戶

drop user username cascade;//刪除用戶

回退方案

刪除新增加的帳戶

判斷依據

首先鎖定不需要的用戶

在經過一段時間后,確認該用戶對業務確無影響的情況下,可以刪除

實施風險

重要等級

★★★

備注

???????ELK-Oracle-01-01-03

編號

ELK-Oracle-01-01-03

名稱

限制超級管理員遠程登錄

實施目的

限制具備數據庫超級管理員(SYSDBA)權限的用戶遠程登錄。。

問題影響

允許數據庫超級管理員遠程非法登陸

系統當前狀態

查看spfile,sqlnet.ora內容

實施步驟

1、參考配置操作

在spfile中設置REMOTE_LOGIN_PASSWORDFILE=NONE來禁止SYSDBA用戶從遠程登陸。在sqlnet.ora中設置SQLNET.AUTHENTICATION_SERVICES=NONE來禁用 SYSDBA 角色的自動登錄。

回退方案

還原spfile,sqlnet.ora文件配置

判斷依據

判定條件

1. 不能通過Sql*Net遠程以SYSDBA用戶連接到數據庫。

2. 在數據庫主機上以sqlplus ‘/as sysdba’連接到數據庫需要輸入口令。

檢測操作

1. 以Oracle用戶登陸到系統中。

2. 以sqlplus ‘/as sysdba’登陸到sqlplus環境中。

3. 使用show parameter命令來檢查參數REMOTE_LOGIN_PASSWORDFILE是否設置為NONE。

Show parameter REMOTE_LOGIN_PASSWORDFILE

4. 檢查在

$ORACLE_HOME/network/admin/sqlnet.ora文件中參數SQLNET.AUTHENTICATION_SERVICES是否被設置成NONE。

實施風險

重要等級

★★★

備注

???????ELK-Oracle-01-01-04

編號

ELK-Oracle-01-01-04

名稱

權限最小化

實施目的

在數據庫權限配置能力內,根據用戶的業務需要,配置其所需的最小權限。

問題影響

賬號權限越大,對系統的威脅性越高

系統當前狀態

select * from user_sys_privs;

select * from user_role_privs;

select * from user_tab_privs;

記錄用戶擁有權限

實施步驟

  1. 參考配置操作

grant 權限 to username;

revoke?權限 from username;

  1. 補充操作說明

用第一條命令給用戶賦相應的最小權限

用第二條命令收回用戶多余的權限

回退方案

還原添加或刪除的權限

判斷依據

業務測試正常

實施風險

重要等級

備注

???????ELK-Oracle-01-01-05

編號

ELK-Oracle-01-01-05

名稱

數據庫角色

實施目的

使用數據庫角色(ROLE)來管理對象的權限。

問題影響

賬號管理混亂

系統當前狀態

select * from dba_role_privs;
select * from user_role_privs;

記錄用戶擁有的role

實施步驟

一.創建角色,修改角色

1.創建角色,不指定密碼:

create role testrole;

2.創建角色,指定密碼:

create role testrole identified by passwd;

3.修改角色:

alter role testrole identified by passwd;

4. 給角色授予權限。

Grant select on Table_name to testrole;

把角色賦予用戶:(特別說明,授予角色不是實時的。如下:)

grant testrole to User_Name;

二、起用角色:給用戶賦予角色,角色并不會立即起作用。

1.角色不能立即起作用。必須下次斷開此次連接,下次連接才能起作用。

2.或者執行命令:有密碼的角色set role testrole ??identified by passwd 立即生效;

3.無密碼的角色:set role testrole;

回退方案

刪除相應的Role

revoke ? role_name?? from ? user_name

判斷依據

對應用用戶不要賦予DBA Role或不必要的權限

實施風險

重要等級

備注

???????ELK-Oracle-01-01-06

編號

ELK-Oracle-01-01-06

名稱

用戶profile

實施目的

對用戶的屬性進行控制,包括密碼策略、資源限制等。

問題影響

賬號安全性低.

系統當前狀態

SELECT?profile FROM dba_users WHERE username=’user_name’;

記錄用戶賦予的profile

實施步驟

可通過下面類似命令來創建profile,并把它賦予一個用戶

SQL> show parameter resource_limit

SQL> alter system set resource_limit=true;

CREATE PROFILE profile_name?LIMIT ??

??FAILED_LOGIN_ATTEMPTS 6

???PASSWORD_LIFE_TIME 60

???PASSWORD_REUSE_TIME 60

???PASSWORD_REUSE_MAX 5

???PASSWORD_VERIFY_FUNCTION verify_function

???PASSWORD_LOCK_TIME 1/24

???PASSWORD_GRACE_TIME 90;

ALTER USER user_name?PROFILE profile_name;

回退方案

alter user dinya profile default;

恢復默認

判斷依據

1. 可通過設置profile來限制數據庫賬戶口令的復雜程度,口令生存周期和賬戶的鎖定方式等。

2. 可通過設置profile來限制數據庫賬戶的CPU資源占用。

4、檢測操作

1. 以DBA用戶登陸到sqlplus中。

2. 查詢視圖dba_profiles和dba_usres來檢查profile是否創建。

實施風險

重要等級

備注

????????ELK-Oracle-01-01-07

編號

ELK-Oracle-01-01-07

名稱

數據字典保護

實施目的

啟用數據字典保護,只有SYSDBA用戶才能訪問數據字典基礎表。

問題影響

數據庫安全性低.

系統當前狀態

Show parameter O7_DICTIONARY_ACCESSIBILITY

記錄當前狀態

實施步驟

通過設置下面初始化參數來限制只有SYSDBA權限的用戶才能訪問數據字典。

alter system set O7_DICTIONARY_ACCESSIBILITY=FALSE scope=spfile;?

回退方案

修改O7_DICTIONARY_ACCESSIBILITY為原來屬性

判斷依據

以普通用戶登陸到數據庫,不能查看X$開頭的表,比如:

select * from sys.?x$ksppi;

檢測操作

1. 以Oracle用戶登陸到系統中。

2. 以sqlplus ‘/as sysdba’登陸到sqlplus環境中。

3. 使用show parameter命令來檢查參數O7_DICTIONARY_ACCESSIBILITY是否設置為FALSE。

Show

parameter O7_DICTIONARY_ACCESSIBILITY

實施風險

重要等級

備注

????????ELK-Oracle-01-01-08

編號

ELK-Oracle-01-01-08

名稱

檢查DBA組用戶

實施目的

限制在DBA組中的操作系統用戶數量,通常DBA組中只有Oracle安裝用戶。

問題影響

影響組用戶管理

系統當前狀態

Cat /etc/passwd

實施步驟

參考配置操作

通過/etc/passwd文件來檢查是否有其它用戶在DBA組中。

刪除用戶:#userdel username;

鎖定用戶:

1) 修改/etc/shadow文件,用戶名后加*LK*

2) 將/etc/passwd文件中的shell域設置成/bin/false

3) #passwd -l username

只有具備超級用戶權限的使用者方可使用,#passwd -l username鎖定用戶,用#passwd –d username解鎖后原有密碼失效,登錄需輸入新密碼,修改/etc/shadow能保留原有密碼。

回退方案

還原/etc/passwd文件

判斷依據

判定條件

無其它用戶屬于DBA組。

檢測操作

通過/etc/passwd文件來檢查是否有其它用戶在DBA組中。

實施風險

重要等級

備注

???????口令??ELK-Oracle-01-02-01

編號

ELK-Oracle-01-02-01

名稱

缺省密碼長度復雜度限制

實施目的

對于采用靜態口令進行認證的數據庫,口令長度至少6位,并包括數字、小寫字母、大寫字母和特殊符號4類中至少2類。

問題影響

增加密碼被暴力破解的成功率

系統當前狀態

SELECT profile FROM dba_users WHERE username=’user_name’;

記錄用戶賦予的profile

實施步驟

1、參考配置操作

為用戶建profile,調整PASSWORD_VERIFY_FUNCTION,指定密碼復雜度

示例:

SQL>CREATE OR REPLACE FUNCTION my_password_verify ??(username VARCHAR2 ??,password VARCHAR2 ??,old_password VARCHAR2 ??) RETURN BOOLEAN IS

????????2 ?BEGIN

????????3 ?IF LENGTH(password) < 6 THEN

????????4 ?raise_application_error(-20001,''Password must be at least 6 characters long'');

????????5 ?END IF;

????????6??RETURN(TRUE);

????????7??END;

SQL> create profile TEST_PROFILE limit
????? 2??? password_verify_function MY_PASSWORD_VERIFY;

回退方案

alter user user_name profile default;

判斷依據

  1. 判定條件

修改密碼為不符合要求的密碼,將失敗

  1. 檢測操作

alter user user_name?identified by passwd;將失敗

實施風險

重要等級

★★★

備注

????????ELK-Oracle-01-02-02

編號

ELK-Oracle-01-02-02

名稱

缺省密碼生存周期限制

實施目的

對于采用靜態口令認證技術的設備,帳戶口令的生存期不長于90天,減少口令安全隱患。

問題影響

密碼被非法利用,并且難以管理

系統當前狀態

SELECT profile FROM dba_users WHERE username=’user_name’;

記錄用戶賦予的profile

實施步驟

  1. 參考配置操作

為用戶建相關profile,指定PASSWORD_GRACE_TIME為90天

  1. 補充操作說明

在90天內,需要修改密碼

回退方案

alter user user_name profile default;

判斷依據

  1. 判定條件

到期不修改密碼,密碼將會失效。連接數據庫將不會成功

  1. 檢測操作

connect username/password報錯

實施風險

重要等級

★★★

備注

????????ELK-Oracle-01-02-03

編號

ELK-Oracle-01-02-03

名稱

密碼重復使用限制

實施目的

對于采用靜態口令認證技術的設備,應配置設備,使用戶不能重復使用最近5次(含5次)內已使用的口令。

問題影響

密碼破解的幾率增加

系統當前狀態

SELECT profile FROM dba_users WHERE username=’user_name’;

記錄用戶賦予的profile

實施步驟

  1. 參考配置操作

為用戶建profile,指定PASSWORD_REUSE_MAX為5

  1. 補充操作說明

當前使用的密碼,必需在密碼修改5次后才能再次被使用

回退方案

alter user user_name profile default;

判斷依據

  1. 判定條件

重用修改5次內的密碼,將不能成功

  1. 檢測操作

alter user username identified?by password1;如果password1在5次修改密碼內被使用,該操作將不能成功

實施風險

重要等級

備注

????????ELK-Oracle-01-02-04

編號

ELK-Oracle-01-02-04

名稱

密碼重試限制

實施目的

對于采用靜態口令認證技術的設備,應配置當用戶連續認證失敗次數超過6次(不含6次),鎖定該用戶使用的賬號。

問題影響

允許暴力破解密碼

系統當前狀態

SELECT profile FROM dba_users WHERE username=’user_name’;

記錄用戶賦予的profile

實施步驟

  1. 參考配置操作

為用戶建profile,指定FAILED_LOGIN_ATTEMPTS為6

  1. 補充操作說明

如果連續6次連接該用戶不成功,用戶將被鎖定

回退方案

alter user user_name profile default;

判斷依據

  1. 判定條件

連續6次用錯誤的密碼連接用戶,第7次時用戶將被鎖定

  1. 檢測操作

connect username/password,連續6次失敗,用戶被鎖定

實施風險

重要等級

備注

????????ELK-Oracle-01-02-05

編號

ELK-Oracle-01-02-05

名稱

修改默認密碼

實施目的

更改數據庫默認帳號的密碼。

問題影響

可能被破解密碼

系統當前狀態

詢問管理員賬號密碼,并記錄

實施步驟

參考配置操作

1. 可通過下面命令來更改默認用戶的密碼:

ALTER USER user_name IDENTIFIED BY passwd;

2. 下面是默認用戶密碼列表:

CTXSYS CTXSYS

DBSNMP DBSNMP

LBACSYS LBACSYSMDDATA MDDATA

MDSYS ?MDSYS

DMSYS ?DMSYS

OLAPSYS MANAGER

ORDPLUGINS ORDPLUGINS

ORDSYS ORDSYS

OUTLN OUTLN

SI_INFORMTN_SCHEMA SI_INFORMTN_SCHEMA

SYS CHANGE_ON_INSTALL

SYSMAN CHANGE_ON_INSTALL

SYSTEM MANAGER

回退方案

ALTER USER user_name IDENTIFIED BY passwd;

判斷依據

判定條件

不能以用戶名作為密碼或使用默認密碼的賬戶登陸到數據庫。

檢測操作

1. 以DBA用戶登陸到sqlplus中。

2. 檢查數據庫默認賬戶是否使用了用戶名作為密碼或默認密碼。

實施風險

重要等級

備注

日志配置??ELK-Oracle-02-01-01

編號

ELK-Oracle-02-01-01

名稱

啟用日志記錄功能

實施目的

數據庫應配置日志功能,對用戶登錄進行記錄,記錄內容包括用戶登錄使用的賬號、登錄是否成功、登錄時間以及遠程登錄時用戶使用的IP地址。

問題影響

無法對用戶的登陸進行日志記錄

系統當前狀態

實施步驟

create table login_log ???????????????????????-- ???????登入登出信息表

(

????session_id int not null, ???????-- ???????sessionid

????login_on_time ?date, ???????????????-- ???????登入時間 ??????

????login_off_time ?date, ???????????????-- ???????登出時間 ???????

????user_in_db ???????varchar2(30), ???????-- ???????登入的db user

????machine ???varchar2(20), ??????????-- ???????機器名

????ip_address varchar2(20), ???????-- ???????ip地址

????run_program varchar2(20) ???-- ???????以何程序登入

);

create or replace trigger login_on_info ???????????????-- ?記錄登入信息的觸發器

after logon on database

Begin

insert into login_log(session_id,login_on_time,login_of

f_time,user_in_db,machine,ip_address,run_program)

select AUDSID,sysdate,null,sys.login_user,machine,SYS_CO

NTEXT('USERENV','IP_ADDRESS'),program

????from v$session where AUDSID = USERENV('SESSIONID'); ?--當前SESSION

END;

create or replace trigger login_off_info ???????-- ???????記錄登出信息的觸發器

before logoff on database

Begin

????????update login_log set ?login_off_time = sysdate

????????where session_id = USERENV('SESSIONID'); ???????--當前SESSION ???????

exception

????when others then

????????????null;

END;

回退方案

ALTER TRIGGER 名稱 DISABLE;
drop trigger 名稱;

判斷依據

判定條件

登錄測試,檢查相關信息是否被記錄

補充說明

觸發器與AUDIT會有相應資源開消,請檢查系統資源是否充足。特別是RAC環境,資源消耗較大。

實施風險

重要等級

★★★

備注

????????ELK-Oracle-02-01-02

編號

ELK-Oracle-02-01-02

名稱

記錄用戶對設備的操作

實施目的

數據庫應配置日志功能,記錄用戶對數據庫的操作

問題影響

無法對用戶的操作進行日志記錄

系統當前狀態

實施步驟

create table employees_log(

????????who varchar2(30),

????????action varchar2(20));

????????when date);

create ??or ??replace ??trigger ??biud_employ_copy ??

????????before ??insert ??or ??update ??or ??delete ??

????????on ??employees_copy ??

??declare ??

????????l_action ??employees_log.action%type; ??

??begin ??

??????if ??inserting ??then ????

????????????l_action:='insert'; ??

??????elsif ??updating ??then ??

????????????l_action:='delete'; ??

????elsif ??deleting ??then ??

????????????l_action:='update'; ??

????else ????

????????????raise_application_error(-2001,'you ??shoule ??never ??ever ??get ??this ??error.'); ??

????end ??if; ??

???????insert ??into ??employees_log(who,action,when) ??

????????values(user,l_action,sysdate); ??

??end ??biud_employ_copy;

回退方案

ALTER TRIGGER 名稱 DISABLE;
drop trigger 名稱;

判斷依據

實施風險

重要等級

備注

????????ELK-Oracle-02-01-03

編號

ELK-Oracle-02-01-03

名稱

記錄系統安全事件

實施目的

通過設置讓系統記錄安全事件,方便管理員分析

問題影響

無法記錄系統的各種安全事件

系統當前狀態

實施步驟

參考配置操作

create table jax_event_table(eventname

?varchar2(30),time date);

create?trigger tr_startup

after startup ondatabase

begin

?insertinto jax_event_table

?values(ora_sysevent,sysdate);

end;

create?trigger tr_shutdown

beforeshutdownondatabase

begin

?insertinto jax_event_table

?values(ora_sysevent,sysdate);

end;

回退方案

ALTER TRIGGER 名稱 DISABLE;
drop trigger 名稱;

判斷依據

記錄系統安全事件

實施風險

重要等級

備注

????????ELK-Oracle-02-01-04

編號

ELK-Oracle-02-01-04

名稱

數據庫審計策略

實施目的

根據業務要求制定數據庫審計策略

問題影響

日志被刪除后無法恢復。

系統當前狀態

show?parameter?audit_sys_operations;

show parameter audit_trail;

查看返回值,并記錄.

實施步驟

1、參考配置操作

SQL> alter system set audit_sys_operations=TRUE scope=spfile;

SQL> alter system set audit_trail=db scope=spfile;

SQL> show parameter audit;

SQL> audit all on table_name;

回退方案

noaudit all on table_name;

恢復audit_sys_operations,?audit_trail屬性

判斷依據

判定條件

對審計的對象進行一次數據庫操作,檢查操作是否被記錄。

檢測操作

1. 檢查初始化參數audit_trail是否設置。

2. 檢查dba_audit_trail視圖中或$ORACLE_BASE/admin/adump目錄下是否有數據。

補充說明

AUDIT會有相應資源開消,請檢查系統資源是否充足。特別是RAC環境,資源消耗較大

實施風險

重要等級

備注

通信協議?ELK-Oracle-03-01-01

編號

ELK-Oracle-03-01-01

名稱

信任IP連接監聽器

實施目的

設置只有信任的IP地址才能通過監聽器訪問數據庫。

問題影響

數據庫不安全IP訪問

系統當前狀態

查看$ORACLE_HOME/network/admin/sqlnet.ora

實施步驟

參考配置操作

只需在服務器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中設置以下行:

tcp.validnode_checking = yes

tcp.invited_nodes = (ip1,ip2…)

回退方案

還原$ORACLE_HOME/network/admin/sqlnet.ora文件

判斷依據

判定條件

在非信任的客戶端以數據庫賬戶登陸被提示拒絕。

檢測操作

檢查$ORACLE_HOME/network/admin/sqlnet.ora文件中是否設置參數tcp.validnode_checking和tcp.invited_nodes。

實施風險

重要等級

★★

備注

????????ELK-Oracle-03-01-02

編號

ELK-Oracle-03-01-02

名稱

網絡數據傳輸安全

實施目的

使用Oracle提供的高級安全選件來加密客戶端與數據庫之間或中間件與數據庫之間的網絡傳輸數據

問題影響

數據傳輸的不安全性增加

系統當前狀態

記錄檢查

$ORACLE_HOME/network/admin/sqlnet.ora文件

實施步驟

參考配置操作

1. 在Oracle Net Manager中選擇“Oracle Advanced Security”。

2. 然后選擇Encryption。

3. 選擇Client或Server選項。

4. 選擇加密類型。

5. 輸入加密種子(可選)。

6. 選擇加密算法(可選)。

7. 保存網絡配置,sqlnet.ora被更新。

回退方案

還原$ORACLE_HOME/network/admin/sqlnet.ora文件

判斷依據

判定條件

通過網絡層捕獲的數據庫傳輸包為加密包。

檢測操作

檢查$ORACLE_HOME/network/admin/sqlnet.ora文件中是否設置sqlnet.encryption等參數

實施風險

重要等級

備注

設備其他安全要求??ELK-Oracle-04-01-01

編號

ELK-Oracle-04-01-01

名稱

監聽器密碼

實施目的

為數據庫監聽器(LISTENER)的關閉和啟動設置密碼。

問題影響

增加數據庫安全隱患

系統當前狀態

查看$ORACLE_HOME/network/admin/listener.ora文件中參數PASSWORDS_LISTENER值

實施步驟

參考配置操作

$ lsnrctl

LSNRCTL> change_password

Old password: <OldPassword> Not displayed

New password: <NewPassword> Not displayed

Reenter new password: <NewPassword> Not displayed

Connecting?to

?(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(H

OST=prolin1)(PORT=1521)(IP=FIRST)))

Password changed for LISTENER

The command completed successfully

LSNRCTL> save_config

回退方案

set password

取消密碼

判斷依據

判定條件

使用lsnrctl start或lsnrctl stop命令起停listener需要密碼

檢測操作

檢查$ORACLE_HOME/network/admin/listener.ora文件中是否設置參數PASSWORDS_LISTENER。

實施風險

重要等級

★★

備注

???????ELK-Oracle-04-01-02

編號

ELK-Oracle-04-01-02

名稱

連接超時限制

實施目的

在某些應用環境下可設置數據庫連接超時,比如數據庫將自動斷開超過10分鐘的空閑遠程連接。

問題影響

空閑遠程連接無法斷開

系統當前狀態

記錄檢查

$ORACLE_HOME/network/admin/sqlnet.ora文件

實施步驟

參考配置操作

在sqlnet.ora中設置下面參數:

SQLNET.EXPIRE_TIME=10

回退方案

還原$ORACLE_HOME/network/admin/sqlnet.ora文件

判斷依據

判定條件

10分鐘以上的無任何操作的空閑數據庫連接被自動斷開

檢測操作

檢查$ORACLE_HOME/network/admin/sqlnet.ora文件中是否設置參數SQLNET.EXPIRE_TIME。

實施風險

重要等級

備注

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Lambda 重構面向對象的設計模式

Lambda 重構面向對象的設計模式 策略模式 策略模式包含三部分內容 一個代表某個算法的接口&#xff08;它是策略模式的接口&#xff09;。 一個或多個該接口的具體實現&#xff0c;它們代表了算法的多種實現&#xff08;比如&#xff0c;實體類ConcreteStrategyA或者Concrete…

java集成poi框架

介紹 : Apache POI是Apache軟件基金會的開放源碼函式庫&#xff0c;POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。 下面簡單介紹一下如何使用該框架&#xff1a; 一&#xff1a;導入依賴 <!-- excel解析依賴--><dependency><groupId&…

17 redis集群方案

1、RedisCluster分布式集群解決方案 為了解決單機內存&#xff0c;并發等瓶頸&#xff0c;可使用此方案解決問題. Redis-cluster是一種服務器Sharding技術&#xff0c;Redis3.0以后版本正式提供支持。 這里的集群是指多主多從&#xff0c;不是一主多從。 2、redis集群的目標…

pair和typedef

文章目錄 一、pair用法1.2、pair的創建和初始化1.3、pair對象的操作1.4、(make_pair)生成新的pair對象1.5、通過tie獲取pair元素值 2、typedef2.1、什么是typedef2.2、typedef用法2.2.1、對于數據類型使用例如&#xff1a;2.2.2、對于指針的使用例如2.2.3、對于結構體的使用 2.…

java springboot測試類虛擬MVC環境 匹配返回值與預期內容是否相同 (JSON數據格式) 版

上文java springboot測試類鑒定虛擬MVC請求 返回內容與預期值是否相同我們講了測試類中 虛擬MVC發送請求 匹配返回內容是否與預期值相同 但是 讓我意外的是 既然沒人罵我 因為我們實際開發 返回的基本都是json數據 字符串的接口場景是少數的 我們在java文件目錄下創建一個 dom…

2023年10月紙巾市場分析(京東天貓淘寶平臺紙巾品類數據采集)

雙十一大促期間&#xff0c;剛需品的紙巾是必囤商品之一。今年雙十一&#xff0c;京東數據顯示&#xff0c;10月23日至29日&#xff0c;清潔紙品成交額同比增長40%&#xff0c;由此也拉動了10月紙巾市場的銷售。 鯨參謀數據顯示&#xff0c;今年10月&#xff0c;京東平臺紙巾市…

【日常總結】如何禁止瀏覽器 http自動跳轉成https

一、場景 二、問題 三、解決方案 3.1 chrome 瀏覽器 3.2 edge 瀏覽器&#xff1a; 3.3 Safari 瀏覽器 3.4 Firefox 瀏覽器 3.5 Microsoft Edge 一、場景 公司網站 http:// 谷歌瀏覽器中自動轉換成 https:// 導致無法訪問 二、問題 nginx配置ssl 443接口&#xff0c; ht…

SOLIDWORKS 2024新功能之Electrical篇

SOLIDWORKS 2024 Electrical篇目錄概覽 ? 對齊零部件 ? 更改多個導軌和線槽的長度 ? 過濾輔助和附件零件 ? 2D 機柜中的自動零件序號 ? 移除制造商零件數據 ? 重置未定義的宏變量 ? 使用范圍縮短列表 ? SOLIDWORKS Electrical Schematic 增強功能 1、對齊零部件…

ONNX實踐系列-修改yolov5-seg的proto分支輸出shape

一、目標 本文主要介紹要將原始yolov5分割的輸出掩膜從[b,c,h,.w]修改為[b, h, w, c] 原來的: 目標的: 代碼如下: Descripttion: version: @Company: WT-XM Author: yang jinyi Date: 2023-09-08 11:26:28 LastEditors: yang jinyi LastEditTime: 2023-09-08 11:48:01 …

Threejs_14 制作圣誕賀卡

繼續跟著老陳打碼學習&#xff01;&#xff01;&#xff01;支持&#xff01;&#xff01;&#xff01; 效果圖 鏈接&#xff1a;https://pan.baidu.com/s/1Ft8U2HTeqmpyAeesL31iUg 提取碼&#xff1a;6666 使用到的 模型文件和資源等都為老陳打碼提供&#xff01;&#x…

【騰訊云云上實驗室】探索保護數據之盾背后的安全監控機制

當今數字化時代&#xff0c;數據安全成為了企業和個人最為關注的重要議題之一。隨著數據規模的不斷增長和數據應用的廣泛普及&#xff0c;如何保護數據的安全性和隱私性成為了迫切的需求。 今天&#xff0c;我將帶領大家一起探索騰訊云云上實驗室所推出的向量數據庫&#xff0c…

新版PY系列離線燒錄器,支持PY002A/002B/003/030/071等MCU各封裝,不同 FLASH 大小型號

PY系列離線燒錄器&#xff0c;目前支持PY32F002A/002B/002/003/030/071/072/040/403/303 各封裝、不同 FLASH 大小型號。PY離線燒錄器需要搭配上位機軟件使用&#xff0c;上位機軟件可以在芯嶺技術官網上下載&#xff0c;還包括了離線燒錄器的使用說明。PY離線燒錄器使用MINI U…

金融機構如何高效率考勤?這個技巧幫了大忙!

在現代社會&#xff0c;隨著科技的不斷發展&#xff0c;人臉識別技術作為一種高效、便捷的身份驗證手段&#xff0c;逐漸應用于各個領域&#xff0c;其中之一便是人臉考勤系統。 傳統的考勤方式存在一系列問題&#xff0c;如卡片打卡容易被冒用、簽到表容易造假等&#xff0c;而…

CTFUB-web前置技能-HTTP協議

burp抓包,抓第二次的 修改請求方式為CTFHUB

算法筆記:OPTICS 聚類

1 基本介紹 OPTICS(Ordering points to identify the clustering structure)是一基于密度的聚類算法 OPTICS算法是DBSCAN的改進版本 在DBCSAN算法中需要輸入兩個參數&#xff1a; ? 和 MinPts &#xff0c;選擇不同的參數會導致最終聚類的結果千差萬別&#xff0c;因此DBCSAN…

線上PDF文件展示

場景&#xff1a; 請求到的PDF&#xff08;url鏈接&#xff09;&#xff0c;將其展示在頁面上 插件&#xff1a; pdfobject &#xff08;我使用的版本&#xff1a; "pdfobject": "^2.2.12" &#xff09; 下載插件就不多說了&#xff0c;下面將其引入&a…

【Clang Static Analyzer 代碼靜態檢測工具詳細使用教程】

Clang Static Analyzer sudo apt-get install clang-tools scan-build cmake .. scan-build make -j4 編譯完成之后會在終端提示在哪里查看報錯文檔: scan-build: 55 bugs found. scan-build: Run scan-view /tmp/scan-build-2023-11-24-150637-6472-1 to examine bug report…

Liunx Ubuntu Server 安裝配置 Docker

1. 安裝Docker 1.1 更新軟件包列表 sudo apt update1.2 添加Docker存儲庫 sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-a…

Django QuerySet.order_by SQL注入漏洞(CVE-2021-35042)

漏洞描述 Django 于 2021年7月1日發布了一個安全更新&#xff0c;修復了函數QuerySet.order_by中的 SQL 注入漏洞。 參考鏈接&#xff1a; Django security releases issued: 3.2.5 and 3.1.13 | Weblog | Django 該漏洞需要開發人員使用order_by功能。此外&#xff0c;還可…

加入華為云鯤鵬極簡開發創造營,激活創造力,探索無限可能!

數字經濟時代&#xff0c;速度、效率、質量安全已成為各行業告訴拓新發展的關鍵&#xff0c;華為云不斷打磨敏捷安全開發的軟件平臺&#xff0c;為更高效率的生產力變革積蓄能量。 在剛剛過去不久的2023華為全聯接大會上&#xff0c;華為最新發布了華為云CodeArts與鯤鵬DevKit…