• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    系統(tǒng)密碼過(guò)期引發(fā)的故障

    2019-06-04 06:01:14四川賴文書
    網(wǎng)絡(luò)安全和信息化 2019年5期
    關(guān)鍵詞:腳本日志命令

    ■ 四川 賴文書

    編者按: 近期筆者單位遇到Exadata數(shù)據(jù)庫(kù)未及時(shí)更改密碼導(dǎo)致定時(shí)任務(wù)無(wú)法正常運(yùn)行,就此引發(fā)歸檔日志空間占滿,最終導(dǎo)致數(shù)據(jù)庫(kù)被掛起應(yīng)用系統(tǒng)無(wú)法登錄。

    筆者單位配 備 了1套Exadata X5-2的數(shù)據(jù)庫(kù)一體機(jī),為應(yīng)用提供后端數(shù)據(jù)管理,Exadata是 Oracle軟硬件整合一體化產(chǎn)品,主要用于解決超大型數(shù)據(jù)庫(kù)所存在的普遍性性能瓶頸,也就是磁盤存儲(chǔ)系統(tǒng)向數(shù)據(jù)庫(kù)服務(wù)器傳輸大量的數(shù)據(jù)。Exadata相當(dāng)于Oracle通過(guò)硬件和軟件的組合優(yōu)化有效的解決了存儲(chǔ)層和數(shù)據(jù)庫(kù)層之間的傳輸瓶頸。

    Exadata數(shù)據(jù)庫(kù)一體機(jī)軟件層面的安全配置相比其他Oracle數(shù)據(jù)庫(kù)平臺(tái)也更高。此次故障也是由于我們對(duì)這方面的特性了解不夠深入,因普通的Oracle Linux用戶密碼過(guò)期引發(fā)了信息系統(tǒng)的故障,并在處理過(guò)程中大費(fèi)周折。

    圖1 Oracle告警日志

    故障突發(fā)用戶無(wú)法登錄應(yīng)用系統(tǒng)

    運(yùn)維的同事突然接到用戶反饋,應(yīng)用系統(tǒng)無(wú)法登錄,經(jīng)確認(rèn)系統(tǒng)的Web登錄頁(yè)面能正常打開,就是輸入用戶名密碼后報(bào)錯(cuò)。對(duì)應(yīng)用服務(wù)器的操作系統(tǒng)、中間件和部署的應(yīng)用進(jìn)行檢查,均沒(méi)有發(fā)現(xiàn)任何問(wèn)題,結(jié)合登錄報(bào)錯(cuò)信息,對(duì)后端數(shù)據(jù)進(jìn)行檢查,能正常ping通數(shù)據(jù)庫(kù)IP地址,也能正常Telnet應(yīng)用連接Oracle的1521端口。我們的監(jiān)測(cè)平臺(tái)北塔BTSO也對(duì)Exadata重點(diǎn)監(jiān)測(cè),以SNMP協(xié)議從Linux操作系統(tǒng)層面,同時(shí)也從數(shù)據(jù)庫(kù)實(shí)例面層作了實(shí)時(shí)監(jiān)測(cè),此時(shí)均未發(fā)現(xiàn)Oracle數(shù)據(jù)庫(kù)相關(guān)報(bào)警。

    再三分析排查,基本確定引起無(wú)法登錄原因還是在后端數(shù)據(jù)庫(kù)。在檢查監(jiān)測(cè)平臺(tái)上數(shù)據(jù)庫(kù)實(shí)時(shí)運(yùn)行數(shù)據(jù)時(shí),才猛然發(fā)現(xiàn)兩臺(tái)DB(數(shù)據(jù)庫(kù))節(jié)點(diǎn)的會(huì)話數(shù)都是0,平時(shí)都是在1000左右,根據(jù)以往巡檢歷史數(shù)據(jù)的經(jīng)驗(yàn),即使在晚上也是400左右。再次查看近24小時(shí)會(huì)話數(shù)曲線圖,確認(rèn)從昨晚凌晨0點(diǎn)45分會(huì)話數(shù)開始異常,持續(xù)到現(xiàn)在。

    在確定了引發(fā)故障的具體區(qū)域范圍后,立刻聯(lián)系公司高級(jí)DBA進(jìn)行遠(yuǎn)程協(xié)助診斷。通過(guò)SQLPlus能正常連接到數(shù)據(jù)庫(kù)實(shí)例,確認(rèn)Oracle數(shù)據(jù)庫(kù)也是open狀態(tài),只是用select語(yǔ)句進(jìn)行數(shù)據(jù)表檢索時(shí)無(wú)法返回結(jié)果,再結(jié)合數(shù)據(jù)庫(kù)的alert告警日志分析如圖1,有經(jīng)驗(yàn)的DBA很快意識(shí)到是歸檔日志空間滿了導(dǎo)致數(shù)據(jù)庫(kù)被hang住。

    由于歸檔日志是Oracle數(shù)據(jù)庫(kù)在線日志文件的備份,用于恢復(fù)到任意時(shí)間點(diǎn)而不丟數(shù)據(jù),所以此時(shí)還不能急于直接清理,先檢查這些歸檔日志是否已經(jīng)有相應(yīng)備份。公司使用NBU(Veritas NetBackup Appliance)一體機(jī)對(duì)該數(shù)據(jù)庫(kù)進(jìn)行的備份,確認(rèn)備份無(wú)誤后進(jìn)行手動(dòng)清理歸檔日志所在FRA(Flash Recovery Area)快速恢復(fù)區(qū)目錄中的文件,由于是在操作系統(tǒng)手動(dòng)刪除,存儲(chǔ)數(shù)據(jù)庫(kù)相關(guān)元數(shù)據(jù)的控制文件無(wú)法感知其變化,還得在RMAN(Recovery Manager)恢復(fù)管理器使用“crosscheck archivelog all”命令進(jìn)行更新,待一系列操作完成后,數(shù)據(jù)恢復(fù)正常,用戶也能順利地登錄應(yīng)用系統(tǒng)了。

    緊急的問(wèn)題算是解決了,只是數(shù)據(jù)庫(kù)的歸檔日志空間為什么會(huì)滿呢?以往一直在linux層面配置了Crontab定時(shí)任務(wù),使用shell腳本自動(dòng)清除指定天數(shù)以前的歸檔日志文件,難道腳本沒(méi)有正常工作,還得進(jìn)一步排查故障的深層原因。

    圖2 無(wú)法編輯Crontab

    發(fā)現(xiàn)Oracle用戶無(wú)法編輯crontab任務(wù)

    首先檢查腳本文件/home/oracle/scripts/ArchRM.sh正常,再檢查確認(rèn)腳本配置如下:

    e x p o r t T Z=A s i a/Shanghai

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1

    export ORACLE_SID=CCK02

    export PATH=$PATH:$ORACLE_HOME/bin

    rman target=/ log=/home/oracle/scripts/ArchRM.log <

    run

    {

    d e l e t e n o p r o m p t archivelog until time"sysdate-5"; #刪除5天前的oracle歸檔日志

    }

    EOF

    正找不著頭緒時(shí),用crontab -e編輯任務(wù)時(shí)居然報(bào)錯(cuò)“Authentication token expired,You (oracle) are not allowed to access to (crontab) because of pam configuration.” 如圖2所示。起初判斷報(bào)錯(cuò)為Oracle用戶沒(méi)有相關(guān)權(quán)限,于是查詢網(wǎng)上資料怎樣給普通用戶授權(quán),依次檢查各項(xiàng)配置又都是正常的。再回頭細(xì)看報(bào)錯(cuò)信息,其中Authentication token是用戶登錄Linux后生成的,由于此次一系列操作中,均是以root賬號(hào)登錄,再用命令“su- oracle”切換到Oracle用戶的,于是試著“ssh -l -u oracle@192.168.100.5”登錄居然失敗。難道是密碼記錯(cuò)了,試了多次均無(wú)果,只得以root賬號(hào)下用命令“passwd oralce”強(qiáng)制修改密碼,然后再用Oracle密碼登錄結(jié)果還是一樣,真是邪門兒了,又沒(méi)啥提示信息,診斷的方向都沒(méi)了。

    我們只能再向公司資深工程師求助,反饋Exadata的Oracle用戶無(wú)法登錄Linux,剛開始他也是提出了上面改密碼的方法,可是試過(guò)了沒(méi)用。無(wú)奈只得遠(yuǎn)程協(xié)助檢查,用命令“cat /etc/passwd |grep oracle”檢查配置文件該用戶最后一列的shell類型不是“/sbin/nologin;cat /etc/shadow|grep oracle”,第二列密碼項(xiàng)也非“*”; 測(cè)試從不同網(wǎng)卡的IP進(jìn)行登錄,情況依舊;檢查了ssh配置文件“/etc/ssh/ssh_config”,未發(fā)現(xiàn)有任何對(duì)該登錄的限制;嘗試passwd修改密碼再登錄情況依舊。解決問(wèn)題的思路都耗光了,到底原因在哪兒呢?

    以前在學(xué)習(xí)視頻課程中,還略微記得講過(guò)pam模塊(Pluggable Authentication Module)和用戶登錄驗(yàn)證有關(guān),于是搜索關(guān)鍵字“l(fā)inux賬號(hào)密碼鎖定策略”,發(fā)現(xiàn)一篇相關(guān)文章,從RedHat Linux6開 始pam.d使 用pam_tally2.so,而 老 版 本使用的pam_tally.so的“reset”、”no_magic_root”和”no_reset”選項(xiàng)在pam_tally2.so已經(jīng)沒(méi)有了;sshd所包含的pam認(rèn)證文件是password_auth,而不是system_auth。檢查Exadata主機(jī)操作系統(tǒng)相關(guān)文件,在/etc/pam.d/sshd發(fā)現(xiàn)存在對(duì)應(yīng)的配置如圖3,導(dǎo)致輸入錯(cuò)誤密碼被鎖定而無(wú)法登錄,且賬戶已鎖定時(shí)ssh登錄默認(rèn)是不會(huì)顯示任何信息的,可以修改sshd_config文件中的配置項(xiàng)ChallengeRespo nseAuthentication?yes?。

    根據(jù)以上資料使用命令“pam_tally2 -u oracle”查看oralce賬戶的鎖定情況,再運(yùn)行命令“pam_tally2?-u?oracle?-r”重置賬戶的登錄失敗次數(shù),最后用Oracle賬戶順利登錄操作系統(tǒng),定時(shí)刪除過(guò)期歸檔日志任務(wù)也正常運(yùn)行了。

    圖3 pam模塊配置sshd登錄

    Exadata安全配置初步分析

    通過(guò)學(xué)習(xí)李亞著的《Oracle Exadata技 術(shù) 詳解》,才知道了一體機(jī)的安全相關(guān)配置情況。

    1.最小安裝的原則。作為數(shù)據(jù)庫(kù)服務(wù)器只需要提供數(shù)據(jù)庫(kù)服務(wù),杜絕安裝其他不相關(guān)的應(yīng)用。

    2.安裝啟動(dòng)最少的服務(wù)。“通常安裝的服務(wù)越多,發(fā)生漏洞的機(jī)會(huì)也越多”。

    總而言之,新課程背景下提高小學(xué)語(yǔ)文教學(xué)的有效性對(duì)于提高學(xué)生的語(yǔ)文水平具有重要的作用。教師在教學(xué)活動(dòng)中需要具備足夠的耐性,充分了解學(xué)生在學(xué)習(xí)過(guò)程中發(fā)現(xiàn)的問(wèn)題。并且在教學(xué)活動(dòng)中需要不斷創(chuàng)新教學(xué)模式、豐富教學(xué)活動(dòng),不斷提高小學(xué)語(yǔ)文教學(xué)活動(dòng)的有效性。

    3.使用安全增強(qiáng)工具。在Exadata的Cell節(jié)點(diǎn)是開啟了iptables服務(wù),并在其中加入了相應(yīng)的安全規(guī)則。

    4.網(wǎng)段隔離的原則。Exadata共包括三個(gè)網(wǎng)段,生產(chǎn)網(wǎng)對(duì)外提供數(shù)據(jù)庫(kù)服務(wù),管理網(wǎng)是用來(lái)Exadata管理員對(duì)Exadata進(jìn)行維護(hù)和管理, 而私網(wǎng)則用于各節(jié)點(diǎn)內(nèi)部通信和交換數(shù)據(jù)。

    5.移除圖形界面Xwindow。Exadata的管理并不需要圖形界面,所有的工作都可以通過(guò)命令行來(lái)完成。

    6.對(duì)用戶和密碼進(jìn)行加固,對(duì)于放置核心數(shù)據(jù)的數(shù)據(jù)庫(kù)服務(wù)器,主要是為了防止暴力破解之類的方法給系統(tǒng)帶來(lái)的風(fēng)險(xiǎn)。

    7.移除或者限制SSH。僅允許指定用戶組里面的用戶使用SSH登錄。

    8.保證軟件包保持最(較)新。新版本不僅對(duì)程序本身bug做了修復(fù),同時(shí)對(duì)已發(fā)現(xiàn)的安全漏洞進(jìn)行了修復(fù)。

    9.移除特殊權(quán)限SUID/SGID。Exadata安裝完成后已經(jīng)將不需要的權(quán)限移除了。

    10.對(duì)NTP進(jìn)行優(yōu)化和加固。系統(tǒng)時(shí)間大幅度跳變可能引起Exadata數(shù)據(jù)庫(kù)服務(wù)器及存儲(chǔ)服務(wù)器宕機(jī)。

    11.對(duì)內(nèi)核參數(shù)進(jìn)行加固,如禁用了IP包轉(zhuǎn)送、IP源路由等。

    12.增強(qiáng)共享文件系統(tǒng)的安全性。

    解除Exadata默認(rèn)的安全限制

    在廠商工程師安裝部署一體機(jī)時(shí)用OneCommand程序?qū)xadata進(jìn)行初始化,并且執(zhí)行完步驟ResecureMachine后,對(duì)初始密碼進(jìn)行重置,并且修改其復(fù)雜度,以使系統(tǒng)更加安全。

    但是很多客戶已有公司的一套密碼及加固標(biāo)準(zhǔn)方 案,Exadata默 認(rèn) 的 加固方案可能并不適用。如果Exadata的安全方案進(jìn)行重新設(shè)置,那么需要先解除其默認(rèn)的安全限制。從OneCommand的安裝日志中可以看到ResecureMachine這一步實(shí)際上調(diào)用“/opt/oracle.SupportTools/harden_passwords_reset_root_ssh”這個(gè)腳本,要了解此腳本做對(duì)系統(tǒng)所做的配置,就要先查看其內(nèi)容。

    cat /opt/oracle.SupportTools/harden_passwords_reset_root_ssh

    # sed -i "s/5,5,5,5,5 /disabled , disabled, 16 , 12 , 8 / g ;" /etc/pam.d /eystem-auth

    此命令將/etc/pam.d/system-auth文 件 中的 5.5.5.5 用 disabled,disabled,16,12,8 替 換,替換以后新的密碼規(guī)則變?yōu)椋翰唤邮苋魏螁巫址愋偷目诹?,不接受任何兩種字符類型混合的口令,口令字(passphrases)最小長(zhǎng)度為16位,三種字符類型混合口令最小長(zhǎng)度為12位,四種字符類型混合口令最小長(zhǎng)度為5位。其中四種字符類型分別為“數(shù)字”、“小寫字母”、“大寫字母”及“其他字符”。要解除此限制,執(zhí)行與之相對(duì)應(yīng)的逆向替換命令即可。

    # sed -i " s/ disabled, disabled , 16 , 12 , 8/ 5 , 5 , 5 , 5 , 5 / g ;" /etc/pam.d /eystem-auth

    #/bin/rm -rf /root/.ssh

    從該命令可知,resecure這一步刪除了root用戶的密鑰,就意味著root用戶的ssh等效性被移除,如果需要撤銷這一步,那么需要重新建立root用戶的ssh等效性。幸運(yùn)的是在Exadata上,想要重建某一用戶的ssh等效性,并不需要單獨(dú)對(duì)每個(gè)節(jié)點(diǎn)逐一地進(jìn)行等效性配置。Exadata提供了一個(gè)名為setup_ssh_eq.sh的腳本用于重建ssh等效性。此命令的運(yùn)行格式如下:

    # /o p t/o r a c l e.SupportTools/setup ssh eg.sh /opt/oracle.SupportTools/onecommand/

    all_group root 其中第一個(gè)參數(shù)需要配置root用戶ssh等效性的節(jié)點(diǎn)名稱,第二個(gè)參數(shù)為用戶名,第三個(gè)參數(shù)為root用戶的密碼。值得注意的是,運(yùn)行這個(gè)腳本有一個(gè)前提,是在建立等效性的時(shí)候所有節(jié)點(diǎn)的密碼必須一致。同時(shí)注意到,在resecure步驟運(yùn)行完以后,會(huì)設(shè)置ssh的登錄超時(shí)時(shí)間。此配置實(shí)際上參數(shù)文件/etc/ssh/sshd config 中添加了一行ClientAlivelnterval 30。

    操作系統(tǒng)中Oracle賬號(hào)被修改成了90天密碼過(guò)期必須更改,可通過(guò)Linux命令“chage -M 99999 oracle”,即可使該賬號(hào)的密碼永不過(guò)期,或?qū)⒚艽a過(guò)期時(shí)間配置成符合公司安全策略。

    總結(jié)

    此次故障是正是由于未及時(shí)按照規(guī)定更改操作系統(tǒng)密碼導(dǎo)致定時(shí)任務(wù)無(wú)法正常運(yùn)行,從而引發(fā)歸檔日志空間占滿,最終導(dǎo)致數(shù)據(jù)庫(kù)被掛起應(yīng)用系統(tǒng)無(wú)法登錄。同時(shí)暴露出我們運(yùn)維工作中一些薄弱的環(huán)節(jié)。另外我們對(duì)于Exadata操作系統(tǒng)的安全配置不夠熟悉,未能及時(shí)發(fā)現(xiàn)用戶密碼過(guò)期的情況,導(dǎo)致排查故障時(shí)找不到正確的方向,就因?yàn)椴僮飨到y(tǒng)的小問(wèn)題引發(fā)了整個(gè)應(yīng)用系統(tǒng)的故障。

    猜你喜歡
    腳本日志命令
    酒駕
    只聽(tīng)主人的命令
    一名老黨員的工作日志
    安奇奇與小cool 龍(第二回)
    扶貧日志
    心聲歌刊(2020年4期)2020-09-07 06:37:14
    數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
    移防命令下達(dá)后
    游學(xué)日志
    快樂(lè)假期
    這是人民的命令
    沙湾县| 鄱阳县| 西昌市| 阿坝县| 济南市| 饶阳县| 松滋市| 洞口县| 桐庐县| 六枝特区| 乡宁县| 仪陇县| 鄂伦春自治旗| 平阳县| 枣庄市| 尼玛县| 中阳县| 宁陕县| 前郭尔| 扎赉特旗| 长宁县| 武邑县| 锦州市| 田东县| 达尔| 和田县| 垫江县| 新乡市| 清河县| 类乌齐县| 佛坪县| 井冈山市| 梁河县| 阳春市| 澳门| 岱山县| 寿宁县| 新乡县| 顺义区| 弋阳县| 长治市|