已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Oracle數(shù)據(jù)庫系統(tǒng)安全配置本標(biāo)準(zhǔn)適用于Unix/Linux操作系統(tǒng)下的Oracle數(shù)據(jù)庫系統(tǒng),版本為8i、9i、10g。1 將Oracle用戶設(shè)置為DBA組的成員查看 dba組下的成員是否有Oracle用戶:cat /etc/group |grep dba 若Oracle用戶不在dba組,則將其加入:usermod -G dba 用戶名2 最小權(quán)限使用規(guī)則加固目的1 應(yīng)該只提供最小權(quán)限給用戶(包括SYSTEM和OBJECT權(quán)限)2 從PUBLIC組中撤回不必要的權(quán)限或角色。(如:UTL_SMTP、UTL_TCP、UTL_HTTP、UTL_FILE、DBMS_RANDOM、DBMS_SQL、DBMS_SYS_SQL、DBMS_BACKUP_RESTORE)加固方法撤銷不需要的權(quán)限和角色,使用SQL語句REVOKE EXECUTE ON SYS.UTL_HTTP FROM PUBLIC;REVOKE EXECUTE ON SYS.UTL_FILE FROM PUBLIC;REVOKE EXECUTE ON SYS.UTL_SMTP FROM PUBLIC;REVOKE SELECT ON ALL_USERS FROM PUBLIC;驗(yàn)證:OEM管理器中,安全性-用戶-PUBLIC-已授予的對(duì)象權(quán)限col pp format a35SELECT s.privilege| ON |s.owner|.|NVL(l.longname, s.table_name) pp, s.grantable FROMsys.dba_tab_privs s, javasnm l WHERE s.table_name = l.short(+) AND s.grantee=PUBLICand s.privilege = EXECUTE and s.table_name like UTL%;3 修改所有系統(tǒng)賬戶默認(rèn)口令,鎖定不需要的賬戶加固目的為了安全考慮,應(yīng)用鎖定Oracle當(dāng)中不需要的用戶;或改變?nèi)笔∮脩舻拿艽a。加固方法在sqlplus中查看所有賬戶及其狀態(tài):select username,account_status from dba_users;修改默認(rèn)賬戶的口令:ALTER USER user_name IDENTIFIED BY password;鎖定不需要的用戶,使用SQL語句:ALTER USER user PASSWORD EXPIRE;注意鎖定MGMT_VIEW、DBSNMP、SYSMAN帳號(hào)或修改密碼。(如果要使用DBConsole ,MGMT_VIEW,DBSNMP 、SYSMAN不能鎖定,請(qǐng)修改密碼)DIP、EXFSYS、OUTLN、TSMSYS、WMSYS默認(rèn)已鎖定,請(qǐng)驗(yàn)證。4 刪除多余自建賬號(hào)drop user user_name cascade;5 $ORACLE_HOME/bin目錄權(quán)限保護(hù)加固目的確保對(duì)$ORACLE_HOME/bin目錄的訪問權(quán)限盡可能少加固方法運(yùn)行命令:chown -R oracle:dba $ORACLE_HOME/bin (此命令在root用戶下操作)驗(yàn)證:ls -l $ORACLE_HOME/bin 確保該目錄下的文件屬主為oracle用戶,且其他用戶沒有寫權(quán)限。6 監(jiān)聽listener作ip訪問限制修改(需重啟監(jiān)聽)$ORACLE_HOME/network/admin/sqlnet.ora :tcp.validnode_checking=yestcp.invited_nodes=(localhost, 本機(jī)ip, 應(yīng)用服務(wù)器ip,管理機(jī)ip等)重啟監(jiān)聽:lsnrctl stop;lsnrctl start。7 關(guān)閉遠(yuǎn)程操作系統(tǒng)認(rèn)證加固目的設(shè)置正確識(shí)別客戶端用戶,并限制操作系統(tǒng)用戶數(shù)量(包括管理員權(quán)限、root權(quán)限、普通用戶權(quán)限等)加固方法1 使用文本方式,打開數(shù)據(jù)庫配置文件init.ora;設(shè)置參數(shù)REMOTE_OS_AUTHENT值為FALSE (SAP 系統(tǒng)不可設(shè)置為False)2 在數(shù)據(jù)庫的賬戶管理中刪除不必要的操作系統(tǒng)賬號(hào)設(shè)置(需重啟數(shù)據(jù)庫):alter system set remote_os_authent=false scope=spfile;驗(yàn)證:SQL show parameter remote_os_authentNAME TYPE VALUE- - -remote_os_authent boolean FALSE8 修改默認(rèn)的監(jiān)聽端口修改(需重啟監(jiān)聽)$ORACLE_HOME/network/admin/listener.ora:(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)修改PORT的值為新的監(jiān)聽端口-(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 3521)確認(rèn):lsnrctl status9 監(jiān)聽程序的管理加固目的通過設(shè)置listener.ora文件中的參數(shù)ADMIN_RESTRICTIONS_listener_name來防止遠(yuǎn)程對(duì)監(jiān)聽程序的非授權(quán)管理。加固方法在$ORACLE_HOME/network/admin/listener.ora文件中,設(shè)置ADMIN_RESTRICTIONS_(listener_name)=ON。LISTENER加訪問密碼:(only 9i)$ORACLE_HOME/network/admin/listener.oraPASSWORDS_LISTENER =10g : (監(jiān)聽默認(rèn)為本地操作系統(tǒng)帳號(hào)認(rèn)證,即禁止遠(yuǎn)程管理)驗(yàn)證:Lsnrctl status,查看輸出Security ON: Local OS Authentication10 密碼策略加固目的在Oracle,我們可以通過修改用戶概要文件來設(shè)置密碼的安全策略,可以自定義密碼的復(fù)雜度。在概要文件中有以下參數(shù)是和密碼安全有關(guān)心的:FAILED_LOGIN_ATTEMPTS:最大錯(cuò)誤登錄次數(shù)PASSWORD_GRACE_TIME:口令失效后鎖定時(shí)間PASSWORD_LIFE_TIME:口令有效時(shí)間PASSWORD_LOCK_TIME:登錄超過有效次數(shù)鎖定時(shí)間PASSWORD_REUSE_MAX:口令歷史記錄保留次數(shù)PASSWORD_REUSE_TIME:口令歷史記錄保留時(shí)間PASSWORD_VERIFY_FUNCTION:口令復(fù)雜度審計(jì)函數(shù)加固方法解釋:PASSWORD_LIFE_TIME:口令有效時(shí)間口令使用期限(按照國網(wǎng)要求,三個(gè)月修改一次密碼,即90天)。password_grace_time 指的是在你的密碼已經(jīng)過期以后, 第一次登錄時(shí)間開始往后統(tǒng)計(jì), 使系統(tǒng)可以使用的日期限度.PASSWORD_REUSE_TIME是重用密碼的最小時(shí)間間隔,單位是天??梢越o出整數(shù)或分?jǐn)?shù),如1/1440表示1分鐘(出于效率的考慮,oracle不會(huì)每分鐘都去進(jìn)行檢查,一般來說,有5分鐘左右的誤差,因此如果這個(gè)數(shù)小于1/144則沒有多大的意義)。PASSWORD_REUSE_MAX是重用密碼前更換密碼的最小次數(shù)。ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS 60;(三級(jí)系統(tǒng)應(yīng)設(shè)置在10次以內(nèi),二級(jí)系統(tǒng)在20次以內(nèi))ALTER PROFILE default LIMIT PASSWORD_LOCK_TIME 0.5;修改Oracle提供的驗(yàn)證函數(shù)文件$ORACLE_HOME/rdbms/admin/utlpwdmg.sql其中IF length(password) 4 一行改為 8,并將最后一段修改為ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME 90FAILED_LOGIN_ATTEMPTS 20 PASSWORD_LOCK_TIME 30/1440PASSWORD_VERIFY_FUNCTION verify_function;在sqlplus中執(zhí)行start $ORACLE_HOME/rdbms/admin/utlpwdmg.sql設(shè)置后,密碼復(fù)雜度必須包含字母、數(shù)字、標(biāo)點(diǎn)(密碼不區(qū)分大小寫),最小長度為8。最大錯(cuò)誤登錄次數(shù)為20次,賬號(hào)鎖定時(shí)間為30分鐘驗(yàn)證:OEM安全性概要文件select * from dba_profiles; 創(chuàng)建驗(yàn)證函數(shù):(建議使用sys來創(chuàng)建該函數(shù),否則可能出現(xiàn)問題)CREATE OR REPLACE FUNCTION verify_function(username varchar2, password varchar2, old_password varchar2) RETURN boolean IS n boolean; m integer; differ integer; isdigit boolean; ischar boolean; ispunct boolean; digitarray varchar2(20); punctarray varchar2(25); chararray varchar2(52);BEGIN digitarray:= 0123456789; chararray:= abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; punctarray:=!#$%&()*+,-/:;?_; - Check if the password is same as the username IF NLS_LOWER(password) = NLS_LOWER(username) THEN raise_application_error(-20001, Password same as or similar to user); END IF; - Check for the minimum length of the password IF length(password) 8 THEN raise_application_error(-20002, Password length less than 8); END IF; - Check if the password is too simple. A dictionary of words may be - maintained and a check may be made so as not to allow the words - that are too simple for the password. IF NLS_LOWER(password) IN (welcome, database, account, user, password, oracle, computer, abcd) THEN raise_application_error(-20002, Password too simple); END IF; - Check if the password contains at least one letter, one digit and one - punctuation mark. - 1. Check for the digit isdigit:=FALSE; m := length(password); FOR i IN 1.10 LOOP FOR j IN 1.m LOOP IF substr(password,j,1) = substr(digitarray,i,1) THEN isdigit:=TRUE; GOTO findchar; END IF; END LOOP; END LOOP; IF isdigit = FALSE THEN raise_application_error(-20003, Password should contain at least one digit, one character and one punctuation); END IF; - 2. Check for the character ischar:=FALSE; FOR i IN 1.length(chararray) LOOP FOR j IN 1.m LOOP IF substr(password,j,1) = substr(chararray,i,1) THEN ischar:=TRUE; GOTO findpunct; END IF; END LOOP; END LOOP; IF ischar = FALSE THEN raise_application_error(-20003, Password should contain at least one digit, one character and one punctuation); END IF; - 3. Check for the punctuation ispunct:=FALSE; FOR i IN 1.length(punctarray) LOOP FOR j IN 1.m LOOP IF substr(password,j,1) = substr(punctarray,i,1) THEN ispunct:=TRUE; GOTO endsearch; END IF; END LOOP; END LOOP; IF ispunct = FALSE THEN raise_application_error(-20003, Password should contain at least one digit, one character and one punctuation); END IF; - Check if the password differs from the previous password by at least - 3 letters IF old_password IS NOT NULL THEN differ := length(old_password) - length(password); IF abs(differ) 3 THEN IF length(password) length(old_password) THEN m := length(password); ELSE m := length(old_password); END IF; differ := abs(differ); FOR i IN 1.m LOOP IF substr(password,i,1) != substr(old_password,i,1) THEN differ := differ + 1; END IF; END LOOP; IF differ 3 THEN raise_application_error(-20004, Password should differ by at least 3 characters); END IF; END IF; END IF; - Everything is fine; return TRUE ; RETURN(TRUE);END;/11 數(shù)據(jù)庫操作審計(jì)加固目的ORACLE數(shù)據(jù)庫具有對(duì)其內(nèi)部所有發(fā)生的活動(dòng)的審計(jì)能力,審計(jì)日志一般放在sys.aud$表中,也可以寫入操作系統(tǒng)的審計(jì)跟蹤文件中。可審計(jì)的活動(dòng)有三種類型:登錄嘗試、數(shù)據(jù)庫活動(dòng)和對(duì)象存取,缺省情況下,數(shù)據(jù)庫不啟動(dòng)審計(jì),要求管理員配置數(shù)據(jù)庫后才能啟動(dòng)審計(jì)。加固方法使用文本方式,打開數(shù)據(jù)庫配置文件init.ora,更改以下參數(shù)配置AUDIT_TRAILTrue。init.ora所在路徑:$ORACLE_HOME/database/ (windows)$ORACLE_HOME/dbs/ (UnixLinux)接下來在sqlplus中執(zhí)行以下兩條命令:alter system set audit_trail=OS scope=spfile;alter system set Audit_sys_operations=true scope=spfile;默認(rèn)為false,當(dāng)設(shè)置為true時(shí),所有sys用戶(包括以sysdba,sysoper身份登錄的用戶)的操作都會(huì)被記錄驗(yàn)證:SQL show parameter auditNAME TYPE VALUE- - -audit_sys_operations boolean TRUEaudit_trail string OSTRANSACTION_AUDITING :the transaction layer generates a special redo record which contains session and user information.These records might be useful if using a redo log analysis tool.AUDIT_FILE_DEST指定了當(dāng)審?fù)獠繉徲浳募繕?biāo)存儲(chǔ)路徑,其缺省值是$ORACLE_HOME/rdbms/audit/ipeipei/blog/item/2b3759825da6d4a20cf4d271.html/ruixj/archive/2007/04/17/1568095.aspxaudit_file_dest string /opt/oracle/admin/cognos/adump監(jiān)聽器日志 錯(cuò)誤登錄/opt/oracle/product/10.2.0/db_1/network/log/listener.log12 安全補(bǔ)丁的更新加固目的及時(shí)更新數(shù)據(jù)庫的安全補(bǔ)丁,減少數(shù)據(jù)庫系統(tǒng)可能受到的攻擊。加固方法查看,下載并安裝相關(guān)的安全補(bǔ)丁。參考Oracle廠商建議,僅對(duì)已發(fā)現(xiàn)的特定漏洞或缺陷安裝相應(yīng)補(bǔ)丁。13 Oracle 數(shù)據(jù)字典的保護(hù)加固目的設(shè)置保護(hù)后,可防止其他用戶(具有ANY system privileges)使用數(shù)據(jù)字典時(shí),具有相同的ANY權(quán)限。加固方法使用文本方式,打開數(shù)據(jù)庫配置文件init.ora;更改以下參數(shù)O7_DICTIONARY_ACCESSIBILITY。1Oracle 9i、10g:缺省值是False2Oracle 8i:缺省值是True,需要改成False3如果用戶必須需要該權(quán)限,賦予其權(quán)限SELECT ANY DICTIONARY驗(yàn)證:SQL show parameter O7_DICTIONARY_ACCESSIBILITYNAME TYPE VALUE- - -O7_DICTIONARY_ACCESSIBILITY boolean FALSE14 關(guān)閉Extproc功能加固目的由于extproc存在安全問題允許用戶不進(jìn)行身份認(rèn)證就可以調(diào)用系統(tǒng)函數(shù),因此,如果不需要該功能必須關(guān)閉。加固方法修改TNSNAMES.ORA和LISTENER.ORA文件,刪除以下條目:l icache_extprocl PLSExtprocl Extproctnsnames.ora :#EXTPROC_CONNECTION_DATA =# (DESCRIPTION =# (ADDRESS_LIST =# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)# )# (CONNECT_DATA =# (SID = PLSExtProc)# (PRESENTATION = RO)# )# )listener.ora :# (SID_DESC =# (SID_NAME = PLSExtProc)# (ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)# (PROGRAM = extproc)# )# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)15 DBSNMP用戶的保護(hù)加固目的Oracle數(shù)據(jù)庫系統(tǒng)如果采用典型安裝后,自動(dòng)創(chuàng)建一個(gè)叫做DBSNMP的用戶,該用戶允許Oracle系統(tǒng)的智能代理(intelligent Agent),該用戶的缺省密碼也是“DBSNMP”。如果忘記修改該用戶的口令,任何人都可以通過該用戶存取數(shù)據(jù)庫系統(tǒng)。其他有威脅的帳號(hào)還有:CTXSYS,MDSYS,ORDPLUGINS,ORDSYS,OUTLN等。加固方法鎖定該賬號(hào),或者更換密碼16 SYS用戶加固目的Oracle數(shù)據(jù)庫系統(tǒng)安裝后,自動(dòng)創(chuàng)建一個(gè)叫做SYS的數(shù)據(jù)庫管理員用戶,當(dāng)該用戶sysdba方式連接數(shù)據(jù)庫時(shí),便具有全部系統(tǒng)權(quán)限,因而對(duì)它的保護(hù)尤為重要。加固方法更換SYS用戶密碼,符合密碼復(fù)雜度要求;新建一個(gè)DBA用戶,作為日常管理使用。17 本地緩存區(qū)溢出防護(hù)加固目的oracle程序存在本地緩沖區(qū)溢出。在傳遞命令行參數(shù)給oracle程序時(shí)缺少充分的邊界緩沖區(qū)檢查,可導(dǎo)致以oracle進(jìn)程權(quán)限在系統(tǒng)上執(zhí)行任意代碼,需要進(jìn)行有效加固。加固方法以系統(tǒng)管理員權(quán)限登錄操作系統(tǒng),進(jìn)入Oracle安裝目錄運(yùn)行:chmod o-x oracle加強(qiáng)對(duì)Oracle文件的可執(zhí)行控制驗(yàn)證非oracle帳號(hào)對(duì)該文件沒有讀取、運(yùn)行權(quán)限:ll $ORACLE_HOME/bin/oracle-rwsr-s- 1 oracle dba 110758976 2008-01-23 /opt/oracle/product/10.2.0/db_1/bin/oraclechmod o-x $ORACLE_HOME/bin/oracle18 日志目錄SQL show parameter dumpNAME TYPE VALUE- - -background_core_dump string partialbackground_dump_dest string /opt/oracle/admin/portaldb/bdumpcore_dump_dest string /opt/oracle/admin/portaldb/cdumpmax_dump_file_size string UNLIMITEDshadow_core_dump string partialuser_dump_dest string /opt/oracle/admin/portaldb/udumpSQL show parameter auditNAME TYPE VALUE- - -audit_file_dest string /opt/oracle/admin/portaldb/adump19 啟用資源限制Profile 分兩部分(資源參數(shù)和密碼參數(shù)),resource_limit為 TRUE 限定資源參數(shù)(resource parameters)設(shè)置有效;不管 resource_limit 的值為 TRUE 或 FALSE密碼參數(shù)(password parameters)設(shè)置始終有效。alter system set resource_limit=true scope=both;常用資源參數(shù)(除非應(yīng)用程序有明確的資源規(guī)劃,一般不需修改):CPU_PER_SESSION、CPU_PER_CALL、LOGICAL_READS_PER_SESSION、LOGICAL_READS_PER_CALL、IDLE_TIME、CONNECT_TIME、PRIVATE_SGA20 監(jiān)聽器跟蹤級(jí)別可根據(jù)需要設(shè)定監(jiān)聽級(jí)別,開啟跟蹤會(huì)對(duì)性能有所影響。監(jiān)聽器跟蹤級(jí)別有四個(gè)狀態(tài):OFF - 未啟用跟蹤功能,是默認(rèn)值。USER - 用戶級(jí)別,標(biāo)識(shí)用戶導(dǎo)致的錯(cuò)誤條件。ADMIN - 數(shù)據(jù)庫管理員級(jí)別,標(biāo)識(shí)特定的安裝問題。SUPPORT - 客戶支持人員級(jí)別,跟蹤文件可能會(huì)變得很大。建議在進(jìn)行網(wǎng)絡(luò)問題診斷時(shí)開啟跟蹤功能。 LSNRCTL set trc_directory /network/trace LSNRCTL set trc_file .trc LSNRCTL set trc_level LSNRCTL save_config21 XDB 服務(wù)Oracle XDB 是 Oracle 的 XML 數(shù)據(jù)庫,Oracle XDB 數(shù)據(jù)可以通過基于 HTTP 服務(wù)的8080端口或者基于 FTP 服務(wù)的2100端口訪問。XDB 的 HTTP 和 FTP 服務(wù)存在多個(gè)緩沖區(qū)溢出問題,遠(yuǎn)程攻擊者可以利用這些漏洞對(duì)服務(wù)進(jìn)行拒絕服務(wù)攻擊,精心提交字符串?dāng)?shù)據(jù)可能以服務(wù)進(jìn)程權(quán)限在系統(tǒng)上執(zhí)行任意指令。show parameter dispatchers 如為空,表示無該服務(wù)。去掉相應(yīng)的數(shù)據(jù)庫的初始化參數(shù)中的如下行: dispatchers=(PROTOCOL=TCP) (SERVICE=sidXDB) 說明:sid 為數(shù)據(jù)庫的實(shí)例名,再重啟數(shù)據(jù)庫。22 SYS.DBMS_DEFER_SYS.DELETE_TRAN 存在 SQL 注入漏洞DELETE_TRAN 對(duì) DESTINATION 參數(shù)的處理存在問題,可能導(dǎo)致 SQL 注入攻擊。攻擊者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度LNG運(yùn)輸車輛改裝與安全檢測(cè)合同3篇
- 2024年食品行業(yè)社會(huì)保險(xiǎn)管理與代繳合同
- 2025年度物流車輛智能系統(tǒng)升級(jí)合同4篇
- 2025年度醫(yī)療健康公司股權(quán)轉(zhuǎn)讓與產(chǎn)業(yè)鏈合作合同3篇
- 2025年度商業(yè)大廈車位包銷及物業(yè)管理合同4篇
- 2025年度智能倉儲(chǔ)物流系統(tǒng)建設(shè)承包經(jīng)營協(xié)議4篇
- 2024石材行業(yè)石材應(yīng)用技術(shù)研究采購合同2篇
- 2025年度網(wǎng)絡(luò)直播個(gè)人勞務(wù)合同范本3篇
- 2025年度嬰幼兒專用牛奶采購合作協(xié)議書3篇
- 2025年電動(dòng)自行車品牌代理銷售合同標(biāo)準(zhǔn)版2篇
- 《工貿(mào)企業(yè)有限空間作業(yè)安全規(guī)定》知識(shí)培訓(xùn)
- 高層次人才座談會(huì)發(fā)言稿
- 垃圾清運(yùn)公司管理制度(人員、車輛、質(zhì)量監(jiān)督、會(huì)計(jì)管理制度)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 營銷人員薪酬考核方案
- 2024年版的企業(yè)績效評(píng)價(jià)標(biāo)準(zhǔn)
- 2024至2030年中國it外包服務(wù)行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 工程項(xiàng)目計(jì)價(jià)結(jié)算付款情況統(tǒng)計(jì)表
- GB/T 20554-2024海帶
- 廣東廣州中醫(yī)藥大學(xué)第一附屬醫(yī)院招聘筆試真題2022
- ISO 15189醫(yī)學(xué)實(shí)驗(yàn)室認(rèn)可內(nèi)審員培訓(xùn)試題附答案
評(píng)論
0/150
提交評(píng)論