天天看點

Linux遠端通路控制

一、SSH遠端管理

1.1、定義

1.2、配置OpenSSH服務端

二、sshd服務支援兩種驗證方式

2.1、密碼驗證

2.2、使用SSH用戶端程式

ssh遠端登入

scp遠端複制

sftp安全FTP

2.3、秘鑰對驗證

操作步驟

三、TCP Wrappers通路控制

3.1、保護原理

3.2、保護機制的兩種實作方式

3.3、TCP Wrappers 的通路政策

SSH(Secure Shell )是一種安全通道協定,主要用來實作字元界面的遠端的登入、遠端複制等功能。

SSH協定對通信雙方的資料傳輸進行了加密處理,其中包括使用者登入時輸入的使用者密碼。是以SSH協定具有很好的安全性。

Linux遠端通路控制

SSH用戶端 Putty、Xshell、CRT

SSH服務端 OpenSSH

OpenSSH 是實作 SSH 協定的開源軟體項目,适用于各種 UNIX、Linux 作業系統。CentOS 7系統預設已安裝openssh相關軟體包,并已将 sshd 服務添加為開機自啟動。

sshconfig和sshd__config都是ssh伺服器的配置檔案,二者差別在于前者是針對用戶端的配置檔案,後者則是針對服務端的配置檔案

Linux遠端通路控制
Linux遠端通路控制
Linux遠端通路控制
Linux遠端通路控制
Linux遠端通路控制
Linux遠端通路控制

允許使用者和禁止使用者不要同時使用,會産生沖突

Linux遠端通路控制
Linux遠端通路控制

對伺服器中本地系統使用者的登入名稱、密碼進行驗證、漸變,但可能會被暴力破解

ssh [選項] 使用者名@IP位址

當使用者第一次登入SSH伺服器時,必須接受伺服器發來的ECDSA密鑰(根據提示輸入“yes”)後才能繼續驗證。接收的密鑰資訊将儲存到~./ssh/known_hosts檔案中。密碼驗證成功以後,即可登入目标伺服器的指令行環境中了。

常用選項-p 指定非預設的端口号,預設時預設使用22端口

下行複制

scp 使用者名@目标IP位址:目标檔案 本機存放點 将遠端主機中的檔案複制到本機

Linux遠端通路控制

上行複制

scp -r 本機檔案 使用者名@目标IP:目标檔案

Linux遠端通路控制

由于使用了加密/解密技術,是以傳輸效率比普通的FTP要低,但安全性更高。操作文法sftp與ftp幾乎一樣。

sftp> ls

sftp> get 檔案名 #下載下傳檔案

sftp> put 檔案名 #上傳檔案

sftp> exit #退出

要求提供相比對的密鑰資訊才能通過驗證。通常先在用戶端中建立一對密鑰檔案(公鑰、私鑰),然後将公鑰檔案放到伺服器中的指定位置。遠端登入時,系統将使用公鑰、私鑰進行加密/解密關聯驗證。能增強安全性,且可以免互動登入。

Linux遠端通路控制
Linux遠端通路控制
Linux遠端通路控制

通過ssh-keygen工具為目前使用者建立密鑰對檔案。可用的加密算法為RSA、ECDSA或DSA等(ssh-keygen指令的“-t”選項用于指定算法類型)。

①在客戶機建立密鑰對

Linux遠端通路控制

②将公鑰檔案上傳至伺服器

兩種方法

scp ~/.ssh/id_rsa.pub root@目标IP:目标位址

cd ~/.ssh/

ssh-copy-id -i id_rsa.pub root@目标位址

Linux遠端通路控制

③在伺服器中檢視公鑰文本

Linux遠端通路控制

④在用戶端使用秘鑰對驗證

Linux遠端通路控制

⑤在客戶機設定ssh代理功能,實作免互動登入

ssh-agent bash

ssh-add

Enter passphrass for /root/.ssh/id_rsa: #輸入私鑰的密碼

Linux遠端通路控制

TCP Wrappers 将TCP服務程式“包裹”起來,代為監聽TCP服務程式的端口,增加了一個安全檢測過程,外來的連接配接請求必須先通過這層安全檢測,獲得許可後才能通路真正的服務程式。

大多數 Linux 發行版,TCP Wrappers 是預設提供的功能。

直接使用 tcpd 程式對其他服務程式進行保護,需要運作 tcpd程式。

由其他網絡服務程式調用 libwrap.so.* 連結庫,不需要運作 tcpd 程式。此方式的應用更加廣泛,也更有效率。

檢視程式的 libwrap.so.* 連結庫——ldd指令

ldd [參數] [檔案]

也可以兩條指令一起使用:ldd $(which sshd)

TCP Wrappers 機制的保護對象為各種網絡服務程式,針對通路服務的用戶端位址進行通路控制。

對應的兩個政策檔案為 /etc/hosts.allow 和/etc/hosts.deny,分别用來設定允許和拒絕的政策。

格式

<服務程式清單>:<用戶端位址清單>

服務程式清單

ALL:代表所有伺服器

單個伺服器:如“vsftpd”。

多個服務程式組成的清單:如“vsftpd,sshd”。

用戶端位址清單

ALL:代表任何用戶端位址

LOCAL:代表本機位址

多個位址以逗号分隔,允許使用通配符“*”和“?”,前者代表任意長度字元,後者僅代表一個字元

繼續閱讀