引言
SSH 是一種安全通道協(xié)議,主要用來(lái)實(shí)現(xiàn)字符界面的遠(yuǎn)程登錄、遠(yuǎn)程復(fù)制等功能。SSH協(xié)議對(duì)通信雙方的數(shù)據(jù)傳輸進(jìn)行加密處理,其中包括用戶登錄時(shí)輸入的用戶口令。SSH是建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議,比以往的Telnet(遠(yuǎn)程登錄)、RSH(遠(yuǎn)程執(zhí)行命令)等傳統(tǒng)的方式相比,SSH協(xié)議提供了更好的安全性。
一、SSH遠(yuǎn)程管理
1、OpenSSH服務(wù)器
1.1 SSH協(xié)議
- 是一種安全通道協(xié)議
- 對(duì)通信數(shù)據(jù)進(jìn)行了加密處理,用于遠(yuǎn)程管理
SSH客戶端<---->SSH服務(wù)端
- 數(shù)據(jù)傳輸是加密的,可以防止信息泄露
- 數(shù)據(jù)傳輸是壓縮的,可以提高傳輸速度
SSH客戶端:Putty、Xshell、CRT、MobaXtem、FinalShell
SSH服務(wù)端:openSSH
SSH服務(wù)端主要包括兩個(gè)服務(wù)功能:ssh遠(yuǎn)程鏈接和sftp服務(wù)
作用:SSH服務(wù)使用SSH協(xié)議可以用來(lái)進(jìn)行遠(yuǎn)程控制,或在計(jì)算機(jī)之間傳送文件。相比較之前用的Telnet方式來(lái)傳輸文件要安全很多,因?yàn)門(mén)elnet使用明文傳輸,SSH是加密傳輸。
1.2 openSSH服務(wù)器配置文件
- 服務(wù)名稱(chēng):sshd
- 服務(wù)端主程序:/usr/sbin/sshd
- 服務(wù)端配置文件:/etc/ssh/sshd_config
- 客戶端配置文件:/etc/ssh/ssh_config
openSSH是實(shí)現(xiàn)SSH協(xié)議的開(kāi)源軟件項(xiàng)目,適用于各種UNIX、Linux操作系統(tǒng)。
CentOS 7系統(tǒng)默認(rèn)已安裝openssh相關(guān)軟件包,并將sshd服務(wù)添加為開(kāi)機(jī)自啟動(dòng)。
執(zhí)行"systemctl start sshd"命令即可啟動(dòng)sshd服務(wù)。
sshd服務(wù)默認(rèn)使用的是TCP的22端口,安全協(xié)議版本sshv2.除了2之外還有1(有漏洞)
ssh_config和sshd_config都是ssh服務(wù)器的配置文件,二者區(qū)別在于前者是針對(duì)客戶端的配置文件,后者是針對(duì)服務(wù)端的配置文件。
1.3 服務(wù)監(jiān)聽(tīng)選項(xiàng)
1.31 服務(wù)配置
- 端口號(hào)、協(xié)議版本、監(jiān)聽(tīng)I(yíng)P地址
- 禁用反向解析
sshd 服務(wù)使用的默認(rèn)端口號(hào)為22,必要時(shí)建議修改此端口號(hào),并指定監(jiān)聽(tīng)服務(wù)的具體 IP 地址,以提高在網(wǎng)絡(luò)中的隱蔽性。除此之外,SSH 協(xié)議的版本選用 V2 比 V1 的安全性要更好,禁用 DNS 反向解析可以提高服務(wù)器的響應(yīng)速度。
vim /etc/ssh/sshd_config
Port 22 #監(jiān)聽(tīng)端口22
ListenAddress 0.0.0.0 #監(jiān)聽(tīng)地址為0.0.0.0,表示全部監(jiān)聽(tīng)
Protocol 2 #使用SSHv2的版本
UseDNS no #禁用DNS反向解析
systemctl restart sshd #重啟sshd服務(wù)
解析:
ListenAddress 監(jiān)聽(tīng)地址
ListenAddress 0.0.0.0
設(shè)置SSHD服務(wù)器綁定的IP 地址,0.0.0.0 表示偵聽(tīng)所有地址
安全建議:如果主機(jī)不需要從公網(wǎng)ssh訪問(wèn),可以把監(jiān)聽(tīng)地址改為內(nèi)網(wǎng)地址 這個(gè)值可以寫(xiě)成本地IP地址,也可以寫(xiě)成所有地址,即0.0.0.0 表示所有IP。
Protocol 2
設(shè)置協(xié)議版本為SSH1或SSH2,SSH1存在漏洞與缺陷,選擇SSH2
UseDNS yes 禁用DNS反向解析
一般來(lái)說(shuō),為了要判斷客戶端來(lái)源是正常合法的,因此會(huì)使用 DNS 去反查客戶端的主機(jī)名, 但通常在內(nèi)網(wǎng)互連時(shí),該基設(shè)置為 no,因此使聯(lián)機(jī)速度會(huì)快些
注:禁用DNS反向解析,以提高服務(wù)器的響應(yīng)速度
SyslogFacility AUTHPRIV
當(dāng)有人使用 SSH 登入系統(tǒng)的時(shí)候,SSH 會(huì)記錄信息,這個(gè)信息要記錄的類(lèi)型為AUTHPRIV,sshd 服務(wù)日志存放在:/var/log/secure。
1.32 監(jiān)聽(tīng)端口修改實(shí)驗(yàn)
設(shè)置SSHD監(jiān)聽(tīng)端口號(hào)
- SSH預(yù)設(shè)使用22 這個(gè)port,也可以使用多個(gè)port,即重復(fù)使用port這個(gè)設(shè)定項(xiàng)
- 例如想要開(kāi)放SSHD端口為22和1912,則多加一行內(nèi)容為:Port 1912 即可
- 然后重新啟動(dòng)SSHD
1、進(jìn)入配置文件(/etc/ssh/sshd_config),首先開(kāi)放一個(gè)1912端口
2、可以通過(guò)1912端口訪問(wèn)
1.4 用戶登錄控制(安全調(diào)優(yōu))
- 禁用root用戶、空密碼用戶
- 限制登錄驗(yàn)證時(shí)間、重試次數(shù)
- AllowUsers、DenyUsers
vim /etc/ssh/sshd_config #修改sshd服務(wù)的主配置文件
LoginGraceTime 2m #登錄驗(yàn)證時(shí)間為2分鐘(默認(rèn)2分鐘)
PermitRootLogin no #禁止root用戶登錄
MaxAuthTries 6 #最大重試次數(shù)為6次
PermitEmptyPasswords no #禁止空密碼登錄
PrintLastLog yes #顯示上次登入的信息!默認(rèn)為 yes
AllowUsers #只允許或禁止某些用戶登錄
systemctl restart sshd #重啟sshd服務(wù)
解析:
LoginGraceTime 2m Grace優(yōu)雅
- grace意思是系統(tǒng)給與多少秒來(lái)進(jìn)行登錄。(默認(rèn)2分鐘,0 表示無(wú)限制)
- 當(dāng)使用者連上 SSH server 之后,會(huì)出現(xiàn)輸入密碼的畫(huà)面,在該畫(huà)面中。
- 在多久時(shí)間內(nèi)沒(méi)有成功連上SSHserver 就強(qiáng)迫斷線!若無(wú)單位則默認(rèn)時(shí)間為秒??梢愿鶕?jù)實(shí)際情況來(lái)修改實(shí)際
PermitRootLogin yes
是否允許 root 登入,默認(rèn)是允許的,但是建議設(shè)定成 no,真實(shí)的生產(chǎn)環(huán)境服務(wù)器,是不允許root 賬號(hào)直接登陸的,僅允許普通用戶登錄,需要用到 root 用戶再切換到root 用戶。
案列:
創(chuàng)建用戶zhangsan、lisi
查詢(xún)組
grep “wheel” /etc/group
gpasswd -a zhangsan wheel #zhangsan 用戶已加入 wheel 組
開(kāi)啟pam模塊
PasswordAuthentication yes
密碼驗(yàn)證當(dāng)然是需要的!所以這里寫(xiě) yes,也可以設(shè)置為 no,在真實(shí)的生產(chǎn)服務(wù)器上,根據(jù)不同安全級(jí)別要求,有的是設(shè)置不需要密碼登陸的,通過(guò)認(rèn)證的秘鑰來(lái)登陸。
PubkeyAuthentication yes
打開(kāi)密鑰,用于key的認(rèn)證(ssh加密協(xié)議)
PermitEmptyPasswords no
是否允許空密碼的用戶登錄,默認(rèn)為no,不允許空密碼登錄
PrintLastLog yes
顯示上次登入的信息!默認(rèn)為 yes
MaxAuthTries 6
指定每個(gè)連接最大允許的認(rèn)證次數(shù)。默認(rèn)值是 6 。
如果失敗認(rèn)證的次數(shù)超過(guò)這個(gè)數(shù)值的一半,連接將被強(qiáng)制斷開(kāi),且會(huì)生成額外的失敗日志消息
默認(rèn)3次
驗(yàn)證ssh -o NumberOfPasswordPrompts=8 lisi@192.168.10.9
AllowUsers 相當(dāng)于黑白名單
當(dāng)希望只允許或禁止某些用戶登錄時(shí),可以使用 AllowUsers 或 DenyUsers 配置,兩者 用法類(lèi)似(注意不要同時(shí)使用)。
配置AllowUsers
例如,若只允許 zhangsan、wangwu 用戶登錄,其他(lisi)用戶
AllowUsers zhangsan@192.168.10.10 wangwu
案例:
1、不允許root登錄,僅允許普通用戶認(rèn)證
2、設(shè)置對(duì)打允許的認(rèn)證次數(shù)為4,如果失敗認(rèn)證的次數(shù)超過(guò)這個(gè)數(shù)值的一半,連接將被強(qiáng)制斷開(kāi)
3、設(shè)置僅張三、李四用戶可以登錄
1.5 擴(kuò)展命令參數(shù)
ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyChecking=no $ip “ command ”
#ConnectTimeout=3 連接超時(shí)時(shí)間,3秒
#ConnectionAttempts=5 連接失敗后重試次數(shù),5次
#PasswordAuthentication=no 不使用密碼認(rèn)證,沒(méi)有互信直接退出
#StrictHostKeyChecking=no 自動(dòng)信任主機(jī)并添加到known_hosts文件
舉例:
ssh -o StrictHostKeyChecking=no root@192.168.10.0
2、SSH遠(yuǎn)程登錄方式
2.1 兩種登錄方法
plan 1:
ssh [遠(yuǎn)程主機(jī)用戶名]@[IP地址] -p port
當(dāng)在Linux主機(jī)上遠(yuǎn)程連接另一臺(tái)Linux主機(jī)時(shí),如當(dāng)前所登錄的用戶是root的話,當(dāng)連接另一臺(tái)主機(jī)時(shí)也是用root用戶登錄時(shí),可以直接使用ssh IP,端口
案例:
查看登錄信息
在/etc/host里添加一行
ssh可以直接通過(guò)用戶名登錄
plan 2:
ssh -l [遠(yuǎn)程主機(jī)用戶名] [遠(yuǎn)程服務(wù)器主機(jī)名或IP地址] -p port
-l:指定登錄名稱(chēng)
-p:指定登錄端口(當(dāng)服務(wù)器端口非默認(rèn)時(shí),需要使用-p指定端口進(jìn)行登錄)
2.2 故障集
在平時(shí)工作中,有時(shí)候需要SSH登陸到別的Linux主機(jī)上去,但有時(shí)候SSH登錄會(huì)被禁止,并彈出如下類(lèi)似提示:
The authenticity of host '192.168.109.11 (192.168.109.11)' can't be established.
ECDSA key fingerprint is SHA256:AaGpHeEiRuXMy96oezzV6Toej5nJUmZIe/djqR7qCVk.
ECDSA key fingerprint is MD5:78:al:bl:1c:36:76:c7:34:54:87:cc:ea:51:3f:0c:24.
Are you sure you want to continue connecting (yes/no) ? yes
warning: Permanently added '192.168.10.9’(ECDSA) to the list of known hosts.
Authentication failed.
ssh會(huì)把你每個(gè)你訪問(wèn)過(guò)計(jì)算機(jī)的公鑰(publickey)都記錄在**~/.ssh/known_hosts**。當(dāng)下次訪問(wèn)相同計(jì)算機(jī)時(shí),OpenSSH會(huì)核對(duì)公鑰。如果公鑰不同,openSSH會(huì)發(fā)出警告,避免你受到DNS Hijack之類(lèi)的攻擊。
解決辦法
1.使用ssh連接遠(yuǎn)程主機(jī)時(shí)加上"-o StrictHostKeyChecking=no"的選項(xiàng),如下:
ssh -o .StrictHostKeyChecking=no 192.168.xxx.xxx
2.一個(gè)徹底去掉這個(gè)提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下兩行配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
原因:一臺(tái)主機(jī)上有多個(gè)Linux系統(tǒng),會(huì)經(jīng)常切換,那么這些系統(tǒng)使用同一IP,登錄過(guò)一次后就會(huì)把ssh信息記錄在本地的~/.ssh/known hsots文件中,切換該系統(tǒng)后再用ssh訪問(wèn)這臺(tái)主機(jī)就會(huì)出現(xiàn)沖突警告,需要手動(dòng)刪除修改known_hsots里面的內(nèi)容。
2.3 openssh服務(wù)包
要安裝 OpenSSH 四個(gè)安裝包:
OpenSSH軟件包,提供了服務(wù)端后臺(tái)程序和客戶端工具,用來(lái)加密遠(yuǎn)程控件和文件傳輸過(guò)程中的數(shù)據(jù),并由此來(lái)代替原來(lái)的類(lèi)似服務(wù) Telnet 或 Ftp。
安裝包:
openssh-5.3p1-114.el6_7.x86_64 #包含OpenSSH服務(wù)器及客戶端需要的核心文件。
openssh-clients-5.3p1-114.el6_7.x86_64 #OpenSSH客戶端軟件包。
openssh-server-5.3p1-114.el6_7.x86_64 #OpenSSH服務(wù)器軟件包。
openssh-askpass-5.3p1-114.el6_7.x86_64 #支持對(duì)話框窗口的顯示,是一個(gè)基于X系統(tǒng)的
演示下遠(yuǎn)程登錄的方法
編譯安裝 openssh 升級(jí) 可能存在風(fēng)險(xiǎn) 必須 先安裝telnet并且測(cè)試用戶登錄無(wú)問(wèn)題才能進(jìn)行升級(jí)
編譯RPM包 openssh
ensibale
安全機(jī)制:
1、pam
2、用戶安全
3、sshd安全
4、shell腳本編輯配置安全
2.4 sshd服務(wù)支持的兩種登錄驗(yàn)證方式
-
密碼驗(yàn)證:對(duì)服務(wù)器中本地系統(tǒng)用戶的登錄名稱(chēng)、密碼進(jìn)行驗(yàn)證。這種方式使用最為簡(jiǎn)便,但從客戶端角度來(lái)看,正在連接的服務(wù)器有可能被假冒;從服務(wù)器角度來(lái)看,當(dāng)遭遇密碼窮舉(暴力破解)攻擊時(shí)防御能力比較弱。
18位 密碼復(fù)雜性(大寫(xiě)、小寫(xiě)、字符、數(shù)字) 端口(1023以上叫做高位端口1922) 做好安全 - 密鑰對(duì)驗(yàn)證:要求提供相匹配的密鑰信息才能通過(guò)驗(yàn)證。通常先在客戶端中創(chuàng)建一對(duì)密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務(wù)器中的指定位置。遠(yuǎn)程登錄時(shí),系統(tǒng)將使用公鑰、私鑰進(jìn)行加密/解密關(guān)聯(lián)驗(yàn)證,大大增強(qiáng)了遠(yuǎn)程管理的安全性。該方式不易被假冒,且可以免交互登錄,在Shell 中被廣泛使用。
當(dāng)密碼驗(yàn)證、密鑰對(duì)驗(yàn)證都啟用時(shí),服務(wù)器將優(yōu)先使用密鑰對(duì)驗(yàn)證。對(duì)于安全性要求較高的服務(wù)器,建議將密碼驗(yàn)證方式禁用,只允許啟用密鑰對(duì)驗(yàn)證方式;若沒(méi)有特殊要求,則 兩種方式都可啟用
免密登錄
ssh-agent bash #將公鑰添加管理 在客戶端操作
ssh-add
當(dāng)密碼驗(yàn)證、密鑰對(duì)驗(yàn)證都啟用時(shí),服務(wù)器將優(yōu)先使用密鑰對(duì)驗(yàn)證??筛鶕?jù)實(shí)際情況設(shè)置驗(yàn)證方式。
PasswordAuthentication yes #啟用密碼驗(yàn)證
PubkeyAuthentication yes #啟用密鑰對(duì)驗(yàn)證
AuthorizedKeysFile .ssh/authorized_keys #指定公鑰庫(kù)文件(ls -a可查看)
3、構(gòu)建密鑰對(duì)驗(yàn)證SSH
3.1 公鑰和私鑰的關(guān)系
- 在非對(duì)稱(chēng)加密技術(shù)中,有兩種密鑰,分為私鑰和公鑰,私鑰是密鑰對(duì)所有者持有,不可公布,公鑰是密鑰對(duì)持有者公布給他人的。
- 公鑰用來(lái)給數(shù)據(jù)加密,用公鑰加密的數(shù)據(jù)只能使用私鑰解
3.2 構(gòu)建密鑰對(duì)驗(yàn)證SSH的原理
首先ssh通過(guò)加密算法在客戶端產(chǎn)生密鑰對(duì)(公鑰和私鑰),公鑰發(fā)送給服務(wù)器端,自己保留私鑰,如果要想連接到帶有公鑰的SSH服務(wù)器,客戶端SSH軟件就會(huì)向SSH服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用聯(lián)機(jī)的用戶密鑰進(jìn)行安全驗(yàn)證。SSH服務(wù)器收到請(qǐng)求之后,會(huì)先在該SSH服務(wù)器上連接的用戶的家目錄下尋找事先放上去的對(duì)應(yīng)用戶的公用密鑰,然后把它和連接的SSH客戶端發(fā)送過(guò)來(lái)的公用密鑰進(jìn)行比較。如果兩個(gè)密鑰一致,SSH服務(wù)器就用公鑰加密"質(zhì)詢(xún)"(challenge)并把它發(fā)送給SSH客戶端。
3.3 scp復(fù)制
安全性復(fù)制
scp:scp是secure copy的簡(jiǎn)寫(xiě),用于在Linux下進(jìn)行遠(yuǎn)程拷貝文件的命令,而且scp傳輸是加密的。
- 本地文件復(fù)制到服務(wù)器
scp li.txt root@192.168.109.11:/opt - 復(fù)制服務(wù)器的目錄到本地
scp root@192.168.109.11:/home/sky/ ./ - 本地目錄復(fù)制到服務(wù)器
scp -r sky2/ root@192.168.109.11:/home
1、將本地文件復(fù)制到服務(wù)器
2、復(fù)制服務(wù)器的目錄到本地
3、本地目錄復(fù)制到服務(wù)器
3.4 sftp安全性傳輸
安全性傳輸sftp
sftp是Secure File Transfer Protocol的縮寫(xiě),安全文件傳送協(xié)議??梢詾閭鬏斘募峁┮环N安全的網(wǎng)絡(luò)的加密方法。
sftp 與 ftp 有著幾乎一樣的語(yǔ)法和功能。SFTP 為 SSH的其中一部分,其實(shí)在SSH軟件包中,已經(jīng)包含了一個(gè)叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統(tǒng),SFTP本身沒(méi)有單獨(dú)的守護(hù)進(jìn)程,它必須使用sshd守護(hù)進(jìn)程(端口號(hào)默認(rèn)是22)來(lái)完成相應(yīng)的連接和答復(fù)操作
所以,使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術(shù),所以傳輸效率比普通的FTP要低得多,如果您對(duì)網(wǎng)絡(luò)安全性要求更高時(shí),可以使用SFTP代替FTP
sftp root@192.168.10.10 #登陸到服務(wù)器
get下載
get anaconda-ks.cfg /home/
上傳
put abc.txt #默認(rèn)時(shí)會(huì)上傳的/root
put abc.txt /home/
查看可用命令
help #查看sftp可使用的命令和用途
打印服務(wù)器當(dāng)前位置
pwd #打印當(dāng)前服務(wù)器所在位置
lpwd #打印當(dāng)前本地位置
切換目錄、查看文件
cd #切換服務(wù)器上的目錄
ls #查看當(dāng)前目錄下文件列表
下載文件、退出sftp
get #下載文件
get -r #下載目錄
quit #退出sftp
put #上傳文件
退出命令:quit、exit、bye都可以
1、從服務(wù)端下載文件
2、上傳文件到服務(wù)器
3.5 配置密鑰對(duì)實(shí)驗(yàn)
plan 1:服務(wù)器提供的密鑰對(duì)
1、在客戶端創(chuàng)建密鑰對(duì)
通過(guò)ssh-keygen.工具為當(dāng)前用戶創(chuàng)建密鑰對(duì)文件??捎玫募用芩惴镽SA、ECDSA或DSA等 ( ssh-keygen命令的“-t”選項(xiàng)用
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ admin/ .ssh/id_ ecdsa) :#指定私鑰位置,直接回車(chē)使用默認(rèn)位置
Created directory ' /home/admin/.ssh'. #生成的私鑰、公鑰文件默認(rèn)存放在宿主目錄中的隱藏目錄.ssh/下
Enter passphrase (empty for no passphrase) :#設(shè)置私鑰的密碼
Enter same passphrase again:#確認(rèn)輸入
ls -l ~/.ssh/id_rsa*
#id_ ecdsa是私鑰文件,權(quán)限默認(rèn)為600; id_ecdsa.pub是公鑰文件,用來(lái)提供給SSH 服務(wù)器
2、修改sshd_config配置文件,關(guān)閉密碼驗(yàn)證,開(kāi)啟密鑰對(duì)驗(yàn)證
vim /etc/ssh/sshd_config
PubkeyAuthentication yes #開(kāi)啟密鑰對(duì)驗(yàn)證
AuthorizedKeysFile .ssh/authorized_keys #注意查看公鑰名稱(chēng)是否一致
PasswordAuthentication no #密碼認(rèn)證改成no是取消
systemctl restart sshd
3、把指定文件上傳到本地服務(wù)器(也可以用scp來(lái)將文件上傳到本地服務(wù)器)
4、新建一個(gè)會(huì)話連接,登錄張三用戶,選擇密鑰登錄,然后導(dǎo)入上傳到本地服務(wù)器的文件
5、登錄成功
plan 2:客戶端提供密鑰對(duì)
1、配置用戶屬性,選擇密鑰對(duì)登錄
2、把文件上傳
3、修改sshd_config配置文件,關(guān)閉密碼驗(yàn)證,開(kāi)啟密鑰對(duì)驗(yàn)證,然后退出重啟服務(wù)
后面步驟跟plan 1 一致
二、TCP Wrappers訪問(wèn)控制
在 Linux 系統(tǒng)中,許多網(wǎng)絡(luò)服務(wù)針對(duì)客戶端提供了訪問(wèn)控制機(jī)制,如 Samba、BIND、 HTTPD、OpenSSH 等
TCP Wrappers(TCP封套) 將 TCP 服務(wù)程序“包裹”起來(lái),代為監(jiān)聽(tīng) TCP 服務(wù)程序的端口,增加了 一個(gè)安全檢測(cè)過(guò)程,外來(lái)的連接請(qǐng)求必須先通過(guò)這層安全檢測(cè),獲得許可后才能訪問(wèn)真正的服務(wù)程序。
1、TCP Wrappers概述
- TCP wrappers 將 TCP服務(wù)程序"包裹"起來(lái), 代為監(jiān)聽(tīng) TCP
服務(wù)程序的端口,增加了一個(gè)安全檢測(cè)過(guò)程,外來(lái)的連接請(qǐng)求必須先通過(guò)這層安全檢測(cè),獲得許可后才能訪問(wèn)真正的服務(wù)程序 - TCP Wrappers 還可以記錄所有企圖訪問(wèn)被保護(hù)服務(wù)的行為,為管理員提供豐富的安全分析資料
- TCP Wrappers 的訪問(wèn)控制是基于 TCP 協(xié)議的應(yīng)用服務(wù)
- TCP Wrappers 只能控制 TCP 協(xié)議的應(yīng)用服務(wù),并且不是所有基于 TCP 協(xié)議的應(yīng)用服務(wù)都能接受它的控制
1.1 保護(hù)原理
1.2 保護(hù)機(jī)制的實(shí)現(xiàn)方式
- 直接使用 tcpd 程序?qū)ζ渌?wù)程序進(jìn)行保護(hù),需運(yùn)行 tcpd 程序。
- 由其他網(wǎng)絡(luò)服務(wù)程序調(diào)用 libwrap.so.* 鏈接庫(kù),不需要運(yùn)行tcpd程序,此方式的應(yīng)用更廣泛,更有效率。
1.3 訪問(wèn)控制策略的配置文件
- /etc/hosts.allow 允許
- etc/hosts.deny 拒絕
2、TCP Wrappers策略應(yīng)用
2.1 設(shè)置訪問(wèn)控制策略
策略格式:
語(yǔ)法格式:<服務(wù)程序列表>:<客戶端地址列表>
服務(wù)程序列表、客戶機(jī)地址列表之間以冒號(hào)分隔,在每個(gè)列表內(nèi)的多個(gè)項(xiàng)之間以逗號(hào)分隔
服務(wù)程序列表:
- 多個(gè)服務(wù)以逗號(hào)分隔,ALL表示所有地址
- 單個(gè)服務(wù)程序:如“vsftpd"
- 多個(gè)服務(wù)程序組成的列表:如“vsftpd, sshd"
客戶端地址列表:
- ALL:代表任何客戶端地址
- LOCAL:代表本機(jī)地址
- 多個(gè)地址以逗號(hào)分隔
- 允許使用通配符"*“和”?",前者代表任意長(zhǎng)度字符,后者僅代表一個(gè)字符
- 網(wǎng)段地址,如"192.168.109. "或者 192.168.109.0/255.255.255.0
- 區(qū)域地址,如“. sky.com"匹配sky.com域中的所有主機(jī)
2.2 訪問(wèn)控制的基本原則
- 檢查hosts.allow,找到匹配則允許訪問(wèn)
- 再檢查hosts.deny,找到則拒絕訪問(wèn)
- 若兩個(gè)文件中均無(wú)匹配策略,則默認(rèn)允許訪問(wèn)
允許所有,拒絕個(gè)別
- 只需在/etc/hosts.deny文件中添加相應(yīng)的拒絕策略
允許個(gè)別,拒絕所有文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-436660.html
- 除了在/etc/hosts.allow中添加允許策略之外,還需要在/etc/hosts deny文件中設(shè)置"ALL:ALL"的拒絕策略。
三、總結(jié)
ssh 不僅可以用來(lái)遠(yuǎn)程登錄主機(jī),還可以借助它實(shí)現(xiàn)很多的遠(yuǎn)程操作自動(dòng)化。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-436660.html
到了這里,關(guān)于SSH服務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!