Linux服務器安全小知識

服務器概述

服務器作爲網絡的節點,存儲、處理網絡上80%的數據、信息,因此也被稱爲網絡的靈魂。做一個形象的比喻:服務器就像是郵局的交換機,而微機、筆記本、PDA、手機等固定或移動的網絡終端,就如散落在家庭、各種辦公場所、公共場所等處的電話機。我們與外界日常的生活、工作中的電話交流、溝通,必須經過交換機,才能到達目標電話;同樣如此,網絡終端設備如家庭、企業中的微機上網,獲取資訊,與外界溝通、娛樂等,也必須經過服務器,因此也可以說是服務器在“組織”和“領導”這些設備。
它是網絡上一種爲客戶端計算機提供各種服務的高性能的計算機,它在網絡操作系統的控制下,將與其相連的硬盤、磁帶、打印機、Modem及各種專用通訊設備提供給網絡上的客戶站點共享,也能爲網絡用戶提供集中計算、信息發表及數據管理等服務。它的高性能主要體現在高速度的運算能力、長時間的可靠運行、強大的外部數據吞吐能力等方面。
服務器的構成與微機基本相似,有處理器、硬盤、內存、系統總線等,它們是針對具體的網絡應用特別制定的,因而服務器與微機在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面存在差異很大。尤其是隨着信息技術的進步,網絡的作用越來越明顯,對自己信息系統的數據處理能力、安全性等的要求也越來越高,如果您在進行電子商務的過程中被黑客竊走密碼、損失關鍵商業數據;如果您在自動取款機上不能正常的存取,您應該考慮在這些設備系統的幕後指揮者————服務器,而不是埋怨工作人員的素質和其他客觀條件的限制。
應了那句“奪天下難,守天下更難”的話,服務器的維護就好比“守天下”!稍亂分寸即會使整個網絡陷入癱瘓,作爲網絡管理的一員,筆者在實際維護工作中碰到過不少問題,也因此稍有些經歷。維護可以分爲硬件維護和軟件維護兩種,而同時,維護服務器又需要對服務器的硬件系統、操作系統、應用軟件系統有比較深入的認識。
所以,服務器的安全在運維的日常工作中顯得格外重要。
在這裏插入圖片描述

服務器安全小知識

inode

inode 是 UNIX 操作系統中的一種數據結構,其本質是結構體,它包含了與文件系統中各個文件相關的一些重要信息。在 UNIX 中創建文件系統時,同時將會創建大量的 inode 。通常,文件系統磁盤空間中大約百分之一空間分配給了 inode 表。
有時,人們使用了一些不同的術語,如 inode 和索引編號 (inumber)。這兩個術語非常相似,並且相互關聯,但它們所指的並不是同樣的概念。inode 指的是數據結構;而索引編號實際上是 inode 的標識編號,因此也稱其爲inode 編號 或者索引編號。索引編號只是文件相關信息中一項重要的內容。下一個部分將介紹 inode 中的其他一些屬性。
inode 表包含一份清單,其中列出了對應文件系統的所有 inode 編號。當用戶搜索或者訪問一個文件時,UNIX 系統通過 inode 表查找正確的 inode 編號。在找到 inode 編號之後,相關的命令纔可以訪問該 inode ,並對其進行適當的更改。
例如,使用 vi 來編輯一個文件。當您鍵入 vi 時,在 inode 表中找到 inode 編號之後,才允許您打開該 inode 。在 vi 的編輯會話期間,更改了該 inode 中的某些屬性,當您完成操作並鍵入 :wq 時,將關閉並釋放該 inode 。通過這種方式,如果兩個用戶試圖對同一個文件進行編輯, inode 已經在第一個編輯會話期間分配給了另一個用戶 ID (UID),因此第二個編輯任務就必須等待,直到該 inode 釋放爲止。所以要適當查看inode,保障inode不被擠爆(inode佔用)。
在這裏插入圖片描述
在這裏插入圖片描述
inode包含很多的文件元信息,但不包含文件名
1、文件的字節數
2、文件擁有者UserID
3、文件的GroupID
4、文件的rwx權限(讀、寫、執行)
5、文件時間戳

可以使用stat查看文件inode信息
touch ijd 創建一個文件ijd
stat ijd 查看ijd的inode信息
在這裏插入圖片描述
stat /shiyan1/sh 查看目錄sh的inode
在這裏插入圖片描述
Linux系統文件有三個主要的時間屬性,分別是ctime(change time), atime(access time), mtime(modify time)
ctime(change time) 是最後一次改變文件或目錄(屬性)的時間,例如執行 chmod, chown 等命令;
atime(access time)是最後一次訪問文件或目錄的時間;
mtime(modify time)是最後一次修改文件或目錄(內容)的時間

inode中並不包括文件名,其實文件名是放在目錄中的,linux系統中一切皆文件,因此目錄也是一種文件。
文件名1-------inode號碼1
文件名2-------inode號碼2

使用ls -i 查看i節點信息
在這裏插入圖片描述

inode佔用

inode也會消耗硬盤空間,所以格式化的時候,操作系統自動將硬盤分區成二個區域,
一個數據區、存儲文件數據,一個是inode區,存放所有的inode信息。每個inode大小
一般爲128字節或者256字節,通常情況下不需要關注單個inode的大小,而是需要重點關注
inode總數,inode的總數在格式化就給定了,執行df -i 命令就可以查看。
每個分區的對應inode總數和已經使用的inode數量。
在這裏插入圖片描述

軟硬連接與inode的關係

硬鏈接
當一個文件擁有多個硬連接時,對文件內容修改,會影響所有文件名,但是刪除一個文件名,不會影響另外一個文件名稱
訪問,刪除一個文件名,只會inode中的連接數減1,需要注意的是不能對目錄做硬連接

軟連接
軟連接就是創建一個獨立的文件,而這個文件會讓數據的讀取指向它連接的那個文件名稱
列如,文件A和B的inode號碼雖然不一樣,但是文件A的,內容是文件B的路徑,讀取文件A時
系統會自動訪問者導向文件B,這時,文件A就稱爲文件B的‘軟連接’或者符號連接

文件誤刪恢復

刪除一個文件,實際上並不清除 inode 節點和 block 的數據,只是在這個文件的父目錄 裏面的 block 中,
刪除這個文件的名字。Linux 是通過 Link 的數量來控制文件刪除的,只有 當一個文件不存在任何 Link 的時候,
這個文件纔會被刪除。 在 Linux 系統運維工作中,經常會遇到因操作不慎、操作錯誤等導致文件數據丟失的情 況,
尤其對於客戶企業中一些新手。當然,這裏所指的是徹底刪除,即已經不能通過“回收 站”找回的情況,
比如使用“rm -rf”來刪除數據。針對 Linux 下的 EXT 文件系統,可用的恢復工具有 debugfs、ext3grep、extundelete 等。
其中 extundelete 是一個開源的 Linux 數據 恢復工具,支持 ext3、ext4 文件系統。

EXT3硬盤格式 文件恢復

XFS一種高性能的日誌文件系統,最早於1993年,由Silicon Graphics爲他們的IRIX操作系統而開發,是IRIX 5.3版的默認文件系統。2000年5月,Silicon Graphics以GNU通用公共許可證發佈這套系統的源代碼,之後被移植到Linux 內核上。XFS 特別擅長處理大文件,同時提供平滑的數據傳輸。
XFS 最初是由 Silicon Graphics,Inc. 於 90 年代初開發的。那時,SGI 發現他們的現有文件系統(existing filesystem,EFS)正在迅速變得不適應當時激烈的計算競爭。爲解決這個問題,SGI 決定設計一種全新的高性能 64 位文件系統,而不是試圖調整 EFS在先天設計上的某些缺陷。因此,XFS 誕生了,並於 1994 年隨 IRIX 5.3 的發佈而應用於計算。

1.編譯安裝 extundelete
在編譯安裝 extundelete 之前需要先安裝兩個依賴包 e2fsprogs-libs 和 e2fsprogs-devel,
這兩個包在系統安裝光盤的/Package 目錄下就有,使用 rpm 或 yum 命令將其安裝。
e2fsprogs-devel 安裝依賴於 libcom_err-devel 包。 安裝完依賴包之後,
即可將提前上傳的 extundelete 軟件包解壓、配置、編譯、安裝
掛載光盤安裝兩個依賴包
在這裏插入圖片描述
在這裏插入圖片描述
將下載好的軟件放進opt目錄下(使用的軟件是Xshell中的xftp)
在這裏插入圖片描述
tar xvf extundelect-0.2.4.tar.bz2
cd extundelect-0.2.4/
./configure --prefix=/usr/local/extundelete && make && make install
cd /usr/local/extundelete/bin
ln -s /usr/local/extundelete/bin/* /usr/sbin/
在這裏插入圖片描述在這裏插入圖片描述
2、模擬刪除並執行恢復操作
虛擬機添加新硬盤,使用 fdisk 命令創建新分區,將其掛載到/data目錄下,往該目錄下新建一些文件或目錄
創建一個新的分區
以ext3格式,格式化該分區
在這裏插入圖片描述
在這裏插入圖片描述
準備工作完成,接下來開始恢復操作了
執行完命令‘extundelete /dev/sdb1”後輸入”y“確認,即可查看該文件系統的使用情況
在這裏插入圖片描述
上面是備份,接下來我刪除data內的a b文件,驗證恢復
[root@localhost data]# rm -rf a b ####刪除a b 文件
[root@localhost data]# ls
c d lost+found
[root@localhost data]# cd ###切到家目錄
[root@localhost ~]# umount /data/ ###卸載掛載
[root@localhost ~]# extundelete /dev/sdb1 --restore-all
在這裏插入圖片描述
在這裏插入圖片描述
恢復完成

xfs 類型文件備份和恢復

給你們一個連接吧……我沒做出來
https://blog.csdn.net/liubei_one/article/details/79491267

日誌分析

對於 Linux 操作系統中的日誌文件,有必要了解其各自的用途,這樣才能在需要的時候 更快地找到問題所在,
及時解決各種故障。下面介紹常見的一些日誌文件。
/var/log/messages:記錄 Linux 內核消息及各種應用程序的公共日誌信息,包括啓動、I/0 錯誤、網絡錯誤、程序故障等。
對於未使用獨立日誌文件的應用程序或服 務,一般都可以從該日誌文件中獲得相關的事件記錄信息
/var/log/cron:記錄 crond 計劃任務產生的事件信息
/var/log/dmesg:記錄 Linux 操作系統在引導過程中的各種事件信息
/var/log/maillog:記錄進入或發出系統的電子郵件活動。
/var/log/lastlog:記錄每個用戶最近的登錄事件。
/var/log/secure:記錄用戶認證相關的安全事件信息
/var/log/wtmp:記錄每個用戶登錄、註銷及系統啓動和停機事件
/var/log/btmp:記錄失敗的、錯誤的登錄嘗試及驗證事件

1.內核及系統日誌分析

內核及系統日誌功能主要由默認安裝的 rsyslog-7.4.7-16.el7.x86_64.rpm 軟件包提供。
rsyslog 服務所使用的配置文件爲/etc/rsyslog.conf。通過查看/etc/rsyslog.conf 文件中的內 容,
可以瞭解到系統默認的日誌設置,具體操作如下:
[root@localhost ~]# grep -v “^$” /etc/rsyslog.conf ####過濾掉空行

0 EMERG(緊急):會導致主機系統不可用的情況。
1 ALERT(警告):必須馬上採取措施解決的問題。
2 CRIT(嚴重):比較嚴重的情況。
3 ERR(錯誤):運行出現錯誤
4 WARNING(提醒):可能影響系統功能,需要提醒用戶的重要事件
5 NOTICE(注意):不會影響正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
7 DEBUG(調試):程序或系統調試信息等。
在這裏插入圖片描述

2、用戶日誌

在 wtmp、btmp、lastlog 等日誌文件中,保存了系統用戶登錄、退出等相關的事件消息。
但是這些文件都是二進制的數據文件,不能直接使用 tail、less 等文本查看工具進行瀏覽,
需要使用 who、w、users、last 和 lastb 等用戶查詢命令來獲取日誌信
(1)查詢當前登錄的用戶情況——users、who、w 命令
users 命令只是簡單地輸出當前登錄的用戶名稱,每個顯示的用戶名對應一個登錄會話。
如果一個用戶有不止一個登錄會話,那他的用戶名將顯示與其相同的次數。
who 命令用於報告當前登錄到系統中的每個用戶的信息。使用該命令,系統管理員可 以查看當前系統存在哪些不合法用戶,
從而對其進行審計和處理。who 的默認輸出包括用 戶名、終端類型、登錄日期及遠程主機。
[root@localhost ~]# users 打開了一個終端
root
在這裏插入圖片描述
(2)查詢用戶登錄的歷史記錄——last、lastb 命令 last 命令用於查詢成功登錄到系統的用戶記錄,
最近的登錄情況將顯示在最前面。通過 last 命令可以及時掌握 Linux 主機的登錄情況,
若發現未經授權的用戶登錄過,則表示當前 主機可能已被入侵。last 命令的具體操作如下
在這裏插入圖片描述
lastb 命令用於查詢登錄失敗的用戶記錄,如登錄的用戶名錯誤、密碼不正確等情況都 將記錄在案。
登錄失敗的情況屬於安全事件,因爲這表示可能有人在嘗試猜解你的密碼。除 了使用 lastb 命令查看以外,
也可以直接從安全日誌文件/var/log/secure 中獲得相關信息。在這裏插入圖片描述
3.程序日誌 在 Linux 操作系統中,還有相當一部分應用程序沒有使用 rsyslog 服務來管理日誌,
而 是由程序自己維護日誌記錄。例如,httpd 網站服務程序使用兩個日誌文件 access_log 和 error_log
分別記錄客戶訪問事件和錯誤事件。不同應用程序的日誌記錄格式差別較大,且 沒有嚴格使用統一的格式,
這裏不再詳細介紹。 總的來說,作爲一名合格的系統管理人員,應該提高警惕,隨時注意各種可疑狀況,
定 期並隨機檢查各種系統日誌文件,包括一般信息日誌、網絡連接日誌、文件傳輸日誌及用戶

登錄日誌記錄等。在檢查這些日誌時,要注意是否有不合常理的時間或操作記錄。例如,出 現以下現象就應多加註意。
●用戶在非常規的時間登錄,或者用戶登錄系統的 IP 地址和以往的不一樣。
●用戶登錄失敗的日誌記錄,尤其是那些一再連續嘗試進入失敗的日誌記錄。
●非法使用或不正當使用超級用戶權限。
●無故或者非法重新啓動各項網絡服務的記錄。
●不正常的日誌記錄,如日誌殘缺不全,或者是諸如 wtmp 這樣的日誌文件無故缺少 了中間的記錄文件。

另外,需要提醒管理人員注意的是,日誌並不是完全可靠的,高明的黑客在入侵系統後 經常會打掃現場。
所以管理人員需要綜合運用以上的系統命令,全面、綜合地進行審查和檢 測,切忌斷章取義,
否則將可能做出錯誤的判斷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章