Linux安全基礎——day2——NMAP

ftp共享服務
    基本配置就不細述,主要將一下,如何實現允許匿名登陸上傳數據
    只需要再服務器上 修改配置文件/etc/vsftpd/vsftpd.conf ,再重啓服務
sed -i '/anon_upload_enable/canon_upload_enable=YES' /etc/vsftpd/vsftpd.conf
    客戶端使用ftp命令訪問ftp服務器
[root@client ~]# ftp 服務器FTP的IP
# 輸入用戶名,如果是匿名用戶,輸入ftp
Name (192.168.4.50:root): ftp
331 Please specify the password.

# 輸入密碼
Password:

# 下面的提示,表示登陸成功,就可以進行相關操作了
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
客戶端ftp內的操作命令
客戶端ftp內的操作命令
ls 查看ftp服務器中當前目錄下,有哪些文件或目錄
cd 切換ftp服務器中的目錄位置,用於進入ftp服務器中的一些字目錄
lcd 切換當前機器的目錄,用於確定下載文件到本機的什麼位置,以及上傳本機什麼目錄下的文件
get 下載當前所在ftp服務器目錄下的某個文件,到當前所在的本機目錄
put 上傳當前本機所在目錄下的指定的一個文件,到當前所在ftp服務器的目錄喜愛
exit 退出,兩個命令作用一樣
bye
   如果想進行上傳等操作,服務端需要修改bool值,將其開啓纔可以實現原稱
      ftpd_anon_write   ftpd_full_access

Selinux

   簡介: 一個強化Linux安全的拓展模塊,它是當客戶端通過防火牆後,抵達服務器後訪問服務的時候進行工作,主要是爲了給操作系統提供可定製的策略,管理工具

   三種狀態:
enforcing 強制模式,會強制停止不符合策略的操作或服務
permissive 寬鬆模式,會檢測並警告一些不符合策略的操作,極少情況下拒絕某些操作
disabled 關閉模式,不啓用Selinux
   模式控制:
targeted 僅保護最常見的網絡服務(默認、推薦)
minimum 折中的操作
mls 多層級保護,保護係數高,但是會降低訪問的速率
   安全上下文
      屬性構成: 用戶:角色:訪問類型:選項
      查看安全上下文的屬性:
ls -Z 文件
      操作的一般規律:
          1. 使用移動命令的時候,文件原有的上下文值不變
          2. 執行復制操作的時候,文件會自動目標位置的父目錄的上下文
          3. 創建一個文件,文件也是獲取父目錄的上下文值

      設置上下文:
chcon -t 安全上下文的訪問類型 文件
chcon -R -t 安全上下文的訪問類型 目錄
      恢復上下文(讓文件的上下文與其當前所在父目錄相同)
restorecon  文件
restorecon -R 目錄
# 下次重啓機器後,重置所有的上下文值
echo >  /.autorelabel
注意:
   1. 建議先查看其預備存儲的目錄的上下文,然後考慮移動後文件的上下文是否改爲一樣
   2. 移動複製的上下文規律一般都是那樣,不會變,但是也有特例

   布爾值
      簡介: 設置服務的某些功能的開與關
      查看布爾值:
getsebool -a
getsebool -a | grep 關鍵字
# 返回的數據的含義是:  布爾參數 --> on|off
      修改布爾值:
setsebool 布爾參數 on|off
   監控程序(用於服務因Selinux出現一些問題的解決)
     1. 安裝setroubleshoot包
     2. 當出現問題了,查看日誌信息
grep shoot /var/log/messages
     3. 然後,看看錯誤位置,會提示運行什麼程序,將run後面的命令,複製執行
run: sealert -l 6cd83e12-06b5-4ae5-bd0f-25b755ef2b14
     4. 根據提示,一個一個把所有命令執行一遍,就能解決問題

加密解密

   目的: 保證數據再傳遞過程中的的安全性,完整性
   加密解密的原理:
      發送方把要發送的文件,通過某個技術進行加密,然後發送給接收方,接收方再通過相應的技術進行解密,只不過,雙方的加密解密技術實現商量好了,發送方加密的東西接收方能且只有其能解密
   完整性:
      如果說文件加密是爲了文件的安全,那加密簽名技術就是專門爲了完整性設計的
      除了簽名,還可以使用MD5進行完整性檢驗,這軟件是通過一個算法得到一個只與文件內容相關的校驗碼,如果數據有一點不同,那麼校驗碼也會有不一樣,反之如果校驗碼完全相同,那麼數據也會一模一樣,所以用戶也可以手動用md5sum命令生成校驗值進行比較。
   算法:
對稱加密 DES、AES 加密解密是使用一個算法
非對稱加密 RSA、DSA 加密解密是兩個不同的算法,加密算法不能解密

GPG加密
   簡介: 當前最流行的數據加密、數字簽名工具
   安裝軟件: yum install -y gnupg

   安裝後就可以進行加密和解密量,下面進行操作分析,現在假定A用戶要給B用戶發送一個文件,希望加密傳遞,兩個加密的操作過程如下
   對稱加密:
      原理: A用戶用密碼加密一個文件,只需要告知B用戶密碼,B即可解密
# 使用命令 (會生成一個 文件名.gpg 的文件)
[root@A ~]# gpg -c 加密文件名

                        lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                        x 請輸入密碼                                          x
                        x                                                     x
                        x                                                     x
                        x Passphrase ________________________________________ x
                        x                                                     x
                        x	<OK>                             <Cancel>     x
                        mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

# 加密後,A用戶把加密得到的文件發給B用戶即可,B用戶解密的時候有密碼即可
   非對成加密:
     原理: B用戶生成一個密鑰對,然後把公鑰發給A用戶,A用戶用公鑰加密然後把加密文件給B,B再拿自己的私鑰解密即可
      1. 用戶B生成密鑰對
[root@B ~]# gpg --gen-key
      2. 用戶B導出公鑰(公鑰名字自定義)
[root@B ~]# gpg --export -a > 公鑰文件名
# 運行後,會要求選擇加密算法,加密長度(越長生成速度越慢、同樣越安全)
# 然後會要求屬於name、mail等標籤,可以任意寫,但要記住,後來會組成一個字符串用來標示密鑰對
# 字符串內容組成爲: 名字 (註釋) <郵箱>
# 最後輸入:O(大寫的o) 確認生成
# 然後要求輸入密碼,這個密碼就是用來保護私鑰,下次調用私鑰解密的時候需要輸入這個密碼
      3. 把公鑰發給A用戶
      4. 用戶A導入公鑰
[root@A ~]# gpg --import 用戶A發的公鑰文件的絕對路徑
      5. 用戶A利用公鑰加密(生成一個 文件.gpg文件,將其發給其他用戶)
[root@A ~]# gpg -e -r 公鑰中的任意一個標示 加密文件名
   解密:
[root@B ~]# gpg -d 文件名
      對稱和非對稱加密,其解密都是一樣的命令,不同的是:
         對稱加密解密的時候,密碼是加密方設定的 
         非對稱加密解密的時候,密碼是自己設定的(目的是保護私鑰)

   簽名:
     作用:保證服務端發送的軟件包完整安全可靠,軟件公司就會官方把公鑰、簽名和軟件發佈出來,用戶受到後,就可以用簽名和公鑰檢查軟件的完整和準確性
     原理:B用戶用私鑰對一個文件進行簽名,然後把簽名文件和源文件一起發給A用戶,A用戶用公鑰檢查簽名,如果正常,那文件就是B用戶傳來的
     1. 用戶B生成公私鑰,把公鑰發給A用戶,A用戶完成導入(上面非對稱加密的操作)
     2. 用戶B生成簽名文件,把文件和簽名文件發給用戶A
[root@B ~]# gpg -b  被簽名的文件
     3.  通過簽名文件和公鑰檢測
[root@A ~]# gpg --verify 簽名文件.sig 源文件
     *. 可以更深層次覈實簽名的可靠性,通過 主鑰指紋,A用戶檢查簽名後就會提示除指紋,只要和用戶B生成密鑰的指紋對比一下,如果一樣那麼簽名就可信
# 檢查私鑰所在用戶的指紋信息,接收方運行檢測簽名的時候就會顯示指紋
[root@B ~]# gpg --fingerprint

入侵檢測

    原理: 按時給一個文件進行一個數據備份存儲,通過aide軟件,將其製作爲一個文件,定時用aide軟件對比當前系統中多個目錄是否被修改過,如果被修改了且確定不是自己的操作,就是被入侵了,這時候aide會告知什麼文件出了問題

    配置:
      1. 裝包
yum install -y aide
      2. 配置,修改配置文件/etc/aide.conf,及其詳解
# 定義aide的工作目錄
@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide

# 定義檢測是否入侵的時候,對比的基礎文件名
# The location of the database to be read.
database=file:@@{DBDIR}/aide.db.gz

# 定義運行aide的時候,當前系統狀態的文件,建議改爲和上面的基礎文件名一樣
#database_out=file:aide.db.new
database_out=file:@@{DBDIR}/aide.db.new.gz

# 然後會對檢測什麼參數做定義

# 定義多個別名,下面列舉的叫FIPSR,其作用是檢測幾乎所有
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256

# 最後從100行左右開始,是定義檢測什麼目錄內容,檢測什麼方面內容,一般不需要檢測這麼多,建議註釋掉,然後寫自己需要檢測的目錄
目錄   檢測什麼內用
/etc/  FIPSR
      3. 初始化,啓動檢測
aide --init
# 會按照配置文件中寫的配置,在工作目錄下創建對應名字的文件
      4. 備份生成的數據文件,並且把工作目錄下的數據文件改名爲配置文件中,用於對比的基礎文件名

      5. 覺得被入侵的時候,進行檢測
aide -C
# 之後系統會檢測所有配置文件中指定的目錄,如果被修改了,會提示哪個被修改了,改成什麼了

NMAP掃描
    簡介: 一個強大的網絡探測設備,支持多種探測(PING、端口、TCP/IP)
    安裝相關軟件: yum install -y nmap

    命令中的IP可以有很多表達方式:
        1. 一個主機的IP,那麼掃描只查看該主機的信息
        2. 一個網段 例如172.10.110.0/24 ,那麼就是掃描數據從172.10.110.0 到 172.10.110.255,查看這256個主機
        3. 一個網絡範圍 例如 172.10.110.10-20,那麼就是掃描數據 172.10.110.10 到 172.10.110.20,查看這11個主機
用法 作用
nmap -sS IP TCP掃描各個主機,只不過三次握手只做前面兩部
nmap -sT IP TCP掃描各個主機,並且連接的時候完成完整的三次握手
nmap -sP IP 只進行ping操作掃描
nmap -A IP 進行最完整的全系統檢測,檢測服務的啓動情況等等
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章