<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Linux運維常見故障排查和處理的技巧匯總

    VSole2022-01-12 07:14:13

    作為安全工程師,工作中多多少少會遇見這樣那樣的問題或故障,從中總結經驗,查找問題,匯總并分析故障的原因,這是一個安全工程師良好的習慣。每一次技術的突破,都經歷著苦悶,伴隨著快樂,可我們還是執著的繼續努力,從中也積累了更多的經驗。

    下面匯總了可能出現的故障及解決方法,看看你是否遇到過?并對你有幫助?

    第一:常見問題解決集錦

        1.shell腳本不執行

        問題:某天研發同事找我說幫他看看他寫的shell腳本,死活不執行,報錯。我看了下,腳本很簡單,也沒有常規性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯。

        看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。

        原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。

        解決:

        1)重新在linux下編寫腳本;

        2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)

        附:sh-x腳本文件名,可以單步執行并回顯結果,有助于排查復雜腳本問題。

        2.crontab輸出結果控制

        問題:

        /var/spool/clientmqueue目錄占用空間超過100G

        原因:

        cron中執行的程序有輸出內容,輸出內容會以郵件形式發給cron的用戶,而sendmail沒有啟動所以就產生了/var/spool/clientmqueue目錄下的那些文件,日積月累可能撐破磁盤。

        解決:

        1)直接手動刪除:ls|xargsrm-f;

        2)徹底解決:在cron的自動執行語句后加上>/dev/null2>&1

        3.telnet很慢/ssh很慢

        問題:

        某天研發 同事說10.50訪問10.52memcached服務異常,讓我們檢查下看網絡/服務/系統是否有異常。檢查發現系統正常,服務正常,10.50ping10.52也正常,但10.50telnet10.52很慢。同時發現該機器的namesever是不起作用的。

        原因:

        becauseyourPCdoesn’tdoareverseDNSlookuponyourIPthen…whenyoutelnet/ftpintoyourlinuxbox,it’lldoadnslookuponyou。

        解決:

        1)修改/etc/hosts使hostname和ip對應;

        2)在/etc/resolv.conf注釋掉nameserver或者找一個“活的”nameserver。

        4.Read-onlyfilesystem

        問題:

        同事在mysql里建表建不成功,提示如下:

        mysql>createtablewosontest(colddname1char(1));

        ERROR1005(HY000):Can’tcreatetable‘wosontest’(errno:30)

        經檢查mysql用戶權限以及相關目錄權限沒問題;用perror30提示信息為:OSerrorcode30:Read-onlyfilesystem

        可能原因:

        1)文件系統損壞;

        2)磁盤又壞道;

        3)fstab文件配置錯誤,如分區格式錯誤錯誤(將ntfs寫成了fat)、配置指令拼寫錯誤等。

        解決:

        1)由于是測試機,重啟機器后恢復;

        2)網上說用mount可解決。

        5.文件刪了磁盤空間沒釋放

        問題:

        某天發現某臺機器df-h已用磁盤空間為90G,而du-sh/*顯示所有使用空間加起來才30G,囧。

        原因:

        可能某人直接用rm刪除某個正在寫的文件,導致文件刪了但磁盤空間沒釋放的問題

        解決:

        1)最簡單重啟系統或者重啟相關服務。

        2)干掉進程

        /usr/sbin/lsof|grepdeleted

        ora25575data33uREG65,654294983680/oradata/DATAPRE/UNDOTBS009.dbf(deleted)

        從lsof的輸出中,我們可以發現pid為25575的進程持有著以文件描述號(fd)為33打開的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我們找到了這個文件之后可以通過結束進程的方式來釋放被占用的空間:echo>/proc/25575/fd/33

        3)刪除正在寫的文件一般用cat/dev/null>file

        6.find文件提升性能

        問題:

        在tmp目錄下有大量包含picture_*的臨時文件,每天晚上2:30對一天前的文件進行清理。之前在crontab下跑如下腳本,但是發現腳本效率很低,每次執行時負載猛漲,影響到其他服務。

        #!/bin/sh

        find/tmp-name“picture_*”-mtime+1-execrm-f{};

        原因:

        目錄下有大量文件,用find很耗資源。

        解決:

        #!/bin/sh

        cd/tmp

        time=`date-d“2dayago”“+%b%d”`

        ls-l|grep“picture”|grep“$time”|awk‘{print$NF}’|xargsrm-rf

        7.獲取不了網關mac地址

        問題:

        從2.14到3.65(映射地址2.141)網絡不通,但是從3端的其他機器到3.65網絡OK。

        原因:

        #arp

        AddressHWtypeHWaddressFlagsMaskIface

        192.168.3.254etherincompletCMbond0

        表面現象是機器自動獲取不了網關MAC地址,網絡工程師說是網絡設備的問題,具體不清。

        解決:

        arp綁定,arp-ibond0-s192.168.3.25400:00:5e:00:01:64

        8.http服務無法啟動一例

        問題:某天研發同事說網站前端環境http無法啟動,我上去看了下。報如下錯:

        /etc/init.d/httpdstart

        Startinghttpd:[SatJan2917:49:002011][warn]moduleantibot_moduleisalreadyloaded,skipping

        Useproxyforwardasremoteip:true.

        Antibotexcludepattern:.*.[(js|css|jpg|gif|png)]

        Antibotseedcheckpattern:login

        (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress[::]:7080

        (98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:7080

        nolisteningsocketsavailable,shuttingdown

        Unabletoopenlog[FAILED]

        原因:

        1)端口被占用:表面看是7080端口被占用,于是netstat-npl|grep7080看了下發現7080沒有占用;

        2)在配置文件中重復寫了端口,如果在以下兩個文件同時寫了Listen7080

        /etc/httpd/conf/http.conf

        /etc/httpd/conf.d/t.10086.cn.conf

        解決:

        注釋掉/etc/httpd/conf.d/t.10086.cn.conf的Listen7080,重啟,OK。

        9.toomanyopenfile

        問題:

        報toomanyopenfile錯誤

        解決:

        終極解決方案

        echo“”>>/etc/security/limits.conf

        echo“*softnproc65535″>>/etc/security/limits.conf

        echo“*hardnproc65535″>>/etc/security/limits.conf

        echo“*softnofile65535″>>/etc/security/limits.conf

        echo“*hardnofile65535″>>/etc/security/limits.conf

        echo“”>>/root/.bash_profile

        echo“ulimit-n65535″>>/root/.bash_profile

        echo“ulimit-u65535″>>/root/.bash_profile

        最后重啟機器或者執行ulimit-u655345&&ulimit-n65535

        10.ibdata1和mysql-bin致磁盤空間問題

        問題:

        2.51磁盤空間報警,經查發現ibdata1和mysql-bin日志占用空間太多(其中ibdata1超過120G,mysql-bin超過80G)

        原因:

        ibdata1是存儲格式,在INNODB類型數據狀態下,ibdata1用來存儲文件的數據和索引,而庫名的文件夾里的那些表文件只是結構而已。

        innodb存儲引擎有兩種表空間的管理方式,分別是:

        1)共享表空間(可拆分為多個小的表空間文件),這個是我們目前多數數據庫使用的方法;

        2)獨立表空間,每一個表有一個獨立的表空間(磁盤文件)

        對于兩種管理方式,各有優劣,具體如下:

        ①共享表空間:

        優點:可以將表空間分成多個文件存放到不同的磁盤上(表空間文件大小不受表大小的限制,一個表可以分布在不同步的文件上)

        缺點:所有數據和索引存放在一個文件中,則隨著數據的增加,將會有一個很大的文件,雖然可以把一個大文件分成多個小文件,但是多個表及索引在表空間中混合存儲,這樣如果對于一個表做了大量刪除操作后表空間中將有大量空隙。對于共享表空間管理的方式下,一旦表空間被分配,就不能再回縮了。當出現臨時建索引或是創建一個臨時表的操作表空間擴大后,就是刪除相關的表也沒辦法回縮那部分空間了。

        ②獨立表空間:在配置文件(my.cnf)中設置:innodb_file_per_table

        特點:每個表都有自已獨立的表空間;每個表的數據和索引都會存在自已的表空間中。

        優點:表空間對應的磁盤空間可以被收回(Droptable操作自動回收表空間,如果對于刪除大量數據后的表可以通過:altertabletbl_nameengine=innodb;回縮不用的空間。

        缺點:如果單表增加過大,如超過100G,性能也會受到影響。在這種情況下,如果使用共享表空間可以把文件分開,但有同樣有一個問題,如果訪問的范圍過大同樣會訪問多個文件,一樣會比較慢。如果使用獨立表空間,可以考慮使用分區表的方法,在一定程度上緩解問題。此外,當啟用獨立表空間模式時,需要合理調整innodb_open_files參數的設置。

        解決:

        1)ibdata1數據太大:只能通過dump,導出建庫的sql語句,再重建的方法。

        2)mysql-binLog太大:

        ①手動刪除:

        刪除某個日志:mysql>PURGEMASTERLOGSTO‘mysql-bin.010′;

        刪除某天前的日志:mysql>PURGEMASTERLOGSBEFORE’2010-12-2213:00:00′;

        ②在/etc/my.cnf里設置只保存N天的bin-log日志

        expire_logs_days=30//BinaryLog自動刪除的天數

    二、故障排查匯總表

    序號

    故障點

    分析與解決

    1

    Linux系統安裝初始狀態時,找不到硬盤,并無法進入下一步安裝

    進入COMS設置,找到硬盤設置的相關選項,并設置為兼容模式

    2

    Linux系統安裝時,在硬盤分區完成后,無法繼續安裝

    硬盤分區不符合安裝要求,你可能忘記創建根分區或swap交換分區了,這一點與Windows系統的安裝有區別

    3

    Linux系統安裝時,制定安裝中,軟件包的選擇感覺困惑,安裝完成后發現不符合我們的要求,有些組件沒有安裝,而不需要的組件卻裝上了

    對Linux系統的了解還太少,反復安裝多次后,自然掌握自如

    4

    代理服務器的配置過程中,發現有些過濾規劃未起作用

    (1)先檢查對應的功能模塊是否加載成功(2)默認策略是否設置恰當(3)iptables命令語法是否有錯(4)過濾規劃順序可能不當,需調整

    5

    代理服務器和防火墻的配置完成后,啟動服務,可以訪問Internet,但不能訪問DMZ區的服務

    (1)關閉iptables服務,看是否可以訪問,如果不能,檢查連通性,若能訪問,說明iptables規則有問題,集中檢查過濾規則的配置與順序

    6

    再次配置好iptables過濾規則后,重啟iptables服務后,發現原有的規則全部丟失

    (1)修改/etc/sysconfig/iptables-config配置文件,將IPTABLES_SAVE_ON_RESTART=”no”改為yes(2)用iptables-save > /etc/sysconfig/iptables命令保存

    7

    在交換機上劃分VLAN后,不能訪問外網

    VLAN的網關未設置或設置不正確

    8

    在配置DNS服務中,named服務無法啟動

    造成問題可能性:(1)/etc/named目錄下缺少必要文件(2)/var/named目錄下缺少必要文件(3)named賬戶權限問題。解決方法:缺少的文件必須復制到位,啟動文件必須將權限設置為named賬戶和組賬戶

    9

    在配置DNS服務中,無法正確解析域名或IP地址

    (1)檢查并修改/var/named下的正向解析區文件和反向解析區文件中的語法與記錄設置(2)檢查/etc/named.conf配置中的zone區域聲明編寫是否有誤(3)檢查是否安裝了bind-chroot軟件包,如安裝了,區域數據庫文件應在/var/named/chroot/var/named目錄中(4)檢查/etc/resolv.conf配置文件是否設定了正確的nameserver

    10

    dhcpd服務啟動時,提示“No subnet declaration for eth0(10.10.10.2)”

    說明eth0的IP地址設置不對,不在dhcp服務的作用域范圍內,必須將eth0的IP設置為作用域范圍內的IP地址

    11

    在配置DHCP服務時,配置了多個作用域,結果只有一個作用域的地址可以分配,其他不能分配成功

    說明主機的網絡接口卡只有一個,如有3個作用域,需配置3個網卡接口eth0、eth1和eth2,分別對應3個作用域。這是使用超級作用域的一種配置方法

    12

    MySQL數據庫的安裝不能成功,總是提示軟件的依賴關系,造成所要安裝的軟件包不能順利安裝

    說明所要安裝的軟件包需要其他組件或共享庫的支持,MySQL的rpm包安裝方式本身就繁瑣一些,要求安裝的軟件包比較多,包之間的依賴關系非常明顯,根據提示找到需要的組件包并安裝,安裝時要注意軟件包順序

    13

    測試Web服務,訪問主站點時,無網頁出現,但已經連接上服務器

    在httpd.conf主配置文件中的“DocumentRoot”選項的設置不當,如/var/www/html/,最后的“/”不能加

    14

    遠程客戶端無法訪問samba共享目錄,共享目錄在本地測試成功

    關閉iptables服務

    15

    Samba的smb服務已經啟動成功,訪問samba某個共享目錄時,提示錯誤信息“NT_STATUS_BAD_NETWORK_NAME”

    說明共享目錄沒有創建或不存在

    16

    Samba的smb服務已經啟動成功,提示錯誤信息“NT_STATUS_ACCESS_DENIED”

    提示訪問被拒絕,可能是登錄的用戶名或密碼有誤,或是iptables啟動了,關閉防火墻

    17

    Samba的smb服務已經啟動成功,提示錯誤信息“NT_STATUS_LOGON_FAILURE”

    不允許當前用戶訪問當前共享目錄,說明此共享目錄設置只允許特定用戶訪問

    18

    FTP服務配置了本地用戶上傳,但在上傳數據到對應目錄時,提示被拒絕

    可能該用戶賬戶對上傳目錄沒有寫權限

    19

    配置允許本地賬戶登錄FTP后,root賬戶無法登錄,并提示“500 OOPS:cannot change directory:/root”的錯誤信息,而其他本地賬戶可以登錄FTP

    檢查是否啟用了SELinux安全系統,并禁止SELinux,可以編輯/etc/selinux/config文件,將配置項SELINUX=enforcing改為disabled

    20

    使用郵件客戶端可以發送郵件,但不能接收郵件

    檢查pop3服務是否啟動

    21

    mount命令掛載NFS服務的共享目錄,很久也沒有響應,NFS服務是正常的

    portmap服務沒有啟動,必須啟動該服務

    22

    本地測試mount掛載NFS共享成功,但在其他客戶主機mount連接時不成功

    關閉iptables服務,再測試

    linux運維表空間
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    作為安全工程師,工作中多多少少會遇見這樣那樣的問題或故障,從中總結經驗,查找問題,匯總并分析故障的原因,這是一個安全工程師良好的習慣。每一次技術的突破,都經歷著苦悶,伴隨著快樂,可我們還是執著的繼續努力,從中也積累了更多的經驗。 下面匯總了可能出現的故障及解決方法,看看你是否遇到過?并對你有幫助?
    匯總項目實施過程中可能出現的故障及解決方法。
    容器安全是一個龐大且牽涉極廣的話題,而容器的安全隔離往往是一套縱深防御的體系,牽扯到AppArmor、Namespace、Capabilities、Cgroup、Seccomp等多項內核技術和特性,但安全卻是一處薄弱則全盤皆輸的局面,一個新的內核特性可能就會讓看似無懈可擊的防線存在突破口。隨著云原生技術的快速發展,越來越多的容器運行時組件在新版本中會默認配置AppArmor策略,原本我們在《紅藍對
    二進制程序分析
    2021-09-25 17:18:46
    分析惡意軟件的第一步是收集二進制程序在主機上執行的行為事件,研究人員根據這些行為大體形成一個思路來描述惡意軟件的功能。 這包含應用釋放或者從互聯網下下載的文件,寫入什么樣的注冊表、訪問了什么網絡地址,修改讀寫本地的什么文件等等。那么研究人員通過行為會確定惡意樣本的類型。通常類型如下:
    這里建議doc文檔,圖片可以貼的詳細一些。爆破完好了,一樣的6。想給它一個清晰完整的定義其實是非常困難的。
    一、漏洞挖掘的前期–信息收集 雖然是前期,但是卻是我認為最重要的一部分; 很多人挖洞的時候說不知道如何入手,其實挖洞就是信息收集+常規owasp top 10+邏輯漏洞(重要的可能就是思路猥瑣一點),這些漏洞的測試方法本身不是特別復雜,一般混跡在安全圈子的人都能復現漏洞。接下來我就著重說一下我在信息收集方面的心得。
    2021 年,隨著數字貨幣的流行以及國家間對抗的加劇,以“高級持續性威脅”(APT)組織為代表的黑客組織高度活躍,嚴重危及各國的政治、經濟和軍事安全,甚至一度引發社會動蕩。這一年來,利用主流產品的漏洞入侵系統仍是黑客組織最青睞的攻擊手段,被利用的零日漏洞僅上半年內就多達 40 個,范圍遍及 Window、Microsoft Office、iOS、Android 和 Chrome等幾乎所有主流系統和
    ?上整理的?試問題?全,有些 HW ?試的題,已經收集好了,提供給?家。
    涉及系統命令調用和執行的函數在接收用戶的參數輸入時未做檢查過濾,或者攻擊者可以通過編碼及其他替換手段繞過安全限制注入命令串,導致執行攻擊指定的命令。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类