🎶一.ssh和telnet區別小實驗!
1.ssh
ssh為secure shell的縮寫,ssh為建立在應用層基礎上的安全協議,在進行資料傳輸時,會對資料包進行加密處理,加密后在進行資料傳輸,確保了資料傳輸安全.

主要功能是:
1.提供遠程連接功能
2.提供安全加密服務
2.telnet

3.兩者之間的遠程連接小測驗
telnet:
1.安裝包
yum -y install telnet-server
systemctl start telnet.socket

2. 監聽
yum -y install net-tool
net-stat -lntp

3.xshell,設定telnet連接

4.登陸

5.抓包
①打開wireshark,

②選擇監聽,獲取那個網卡

③ 我們xshell telnet連接

④在wireshark中會顯示出tcp telnet一下程序,
我們找到telnet記錄,并追蹤它的TCP,可以查看到里面的報文資訊是明文的,


shell
①我們在用wireshake觀察ssh連接


4.總結
1.抓包分析SSH與Telnet的區別?
| 名稱 | 檔案資訊型別 | 埠號 | 特征 |
|---|---|---|---|
| ssh | 密文 | 22/tcp | root登錄 |
| telnet | 明文 | 23/tcp | 不支持直接root登錄 |
2.ssh和telnet應用場景?
| 名稱 | 應用場景 | |
|---|---|---|
| ssh | linux mac ubuntu | |
| telnet | 企業級(路由器 交換機 防火墻) |
3.安全性對比原理圖

🎶二.SSH相關客戶端指令ssh、scp、sftp?
ssh --> 連接服務器
ssh root@10.0.0.1 -->連接10.0.0.1服務器,使用root用戶
ssh 10.0.0.1 -->連接10.0.0.1服務器,使用的用戶取決于當前登錄系統的用戶
-p
ssh root@10.0.0.1 -p 22 指定連接對端服務器的埠
scp 遠程拷貝
推送push
1.將本地oldxu.com檔案, 推送到31服務器的/root目錄下,使用的是31服務器的root系統用戶身份
[root@backup ~]# scp oldxu.com root@172.16.1.31:/root/
拉取pull
2.獲取31服務器的/root/oldxu.com檔案,至本地/tmp目錄,使用的是31的root系統用戶身份
[root@backup ~]# scp root@172.16.1.31:/root/oldxu.com /tmp/
3.拷貝目錄
-r 引數
-P 埠
-l 限速 #限速為8096kb,換算為MB,要除以 8096/8=1024KB=1MB
[root@backup ~]# scp -r -P2222 etc.tar.gz root@172.16.1.31:/tmp/
4.scp建議:
1.通常用來拷貝組態檔
2.大檔案方式
1.先打包,在推送
2.rsync方式
限速非常的重要
🎶三.SSH遠程登錄方式、用戶密碼、秘鑰方式?
1.用戶密碼:
lastpass | 1password
1.密碼復雜容易忘
2.密碼簡單不安全
2.秘鑰方式:
鎖(公鑰) 鑰匙(私鑰)

💗3.本地虛擬機免密碼登錄
我們現在完成不需要輸入密碼登錄,
實驗環境:準備兩臺虛擬機一臺管理(manager)m10.0.0.61和backup10.0.0.41服務器
我們沒有設定前ssh是需要輸入密碼登錄的,ssh root@172.16.1.41

1) 生成秘鑰對 172.16.1.61
[root@manager ~]# ssh -keygen 【 -C(指定郵箱) 552408925@qq.com】

查看生產的秘鑰對檔案

2) 將A服務器公鑰推送到B服務器 172.16.1.61 —> 172.16.1.41
[root@manager ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.31
#將61服務器的root用戶的公鑰推送給31服務器的root用戶

3) 測驗A服務器是否能免密碼登錄B服務器
[root@manager ~]# ssh ‘root@172.16.1.41’
Last login: Mon Dec 2 11:03:45 2019 from m01
[root@backup ~]#

💗4. 本地虛擬機免密碼登錄阿里云服務器成功
塞key ,老師 公鑰 -----> 學生 公司的服務器上
你想登錄哪臺服務器:
1.要知道那臺服務器的密碼
2.將你的公鑰放置對應服務器的對應目錄下即可
實驗環境:
1)我們先準備一個有外網的服務器(阿里云ecs)








2)我們把ecs01當作學生的服務器,我們把m當作老師
a.m剛才上面已經創建好了秘鑰對 ,我們把公鑰復制到ecs01服務器上面,
[root@m01 ~]# cat ~/.ssh/id_rsa.pub 查看老師m的公鑰

b.復制m的公鑰粘貼到ecs01學生機服務器放置密鑰的組態檔中 ~/.ssh/authorized_keys
[root@iZ8vbeeelmyzkhyl14sb80Z ~]# vim ~/.ssh/authorized_keys


c.測驗老師m去免密碼遠程連接到阿里云服務器ecs01上,

🎶四.ssh優化
SSH遠程連接功能安全優化?
SSH作為遠程連接服務,通常我們需要考慮到該服務的安全,所以需要對該服務進行安全方面的配置,
1.不使用公網IP地址
2.禁止ROOT管理員直接登錄 -->
3.更改遠程連接登陸的埠 --> 6666 3344 44555 52179
4.密碼認證方式改為密鑰認證 -->
5.使用防火墻限制來源IP地址
SSH服務登錄防護需進行如下配置調整,先對如下引數進行了解
vim /etc/ssh/sshd_config
Port 6666 # 變更SSH服務遠程連接埠
PermitRootLogin no # 禁止root用戶直接遠程登錄
PasswordAuthentication no # 禁止使用密碼直接遠程登錄
UseDNS no # 禁止ssh進行dns反向決議,影響ssh連接效率引數
GSSAPIAuthentication no # 禁止GSS認證,減少連接時產生的延遲
將如下具體配置添加至/etc/ssh/sshd_config檔案中,引數需根據實際情況進行調整
###SSH###
#Port 6666
#PasswordAuthentication no
#PermitRootLogin no
GSSAPIAuthentication no
UseDNS no
###END###
🎶五.fail2ban監控系統日志:
fail2ban可以監控系統日志,并且根據一定規則匹配例外IP后使用Firewalld將其屏蔽,尤其是針對一些爆破/掃描(nmap)等非常有效,
1.開啟Firewalld防火墻
[root@bgx ~]# systemctl start firewalld
[root@bgx ~]# systemctl enable firewalld
[root@bgx ~]# firewall-cmd --state
running
2.修改firewalld規則,啟用Firewalld后會禁止一些服務的傳輸,但默認會放行常用的22埠, 如果想添加更多,以下是放行SSH埠(22)示例,供參考:
#放行SSHD服務埠
[root@bgx ~]# firewall-cmd --permanent --add-service=ssh --add-service=http
#多載配置
[root@bgx ~]# firewall-cmd --reload
#查看已放行埠
[root@bgx ~]# firewall-cmd --list-service
3.安裝fail2ban,需要有epel
[root@bgx ~]# yum install fail2ban fail2ban-firewalld mailx -y
4.配置fail2ban規則.local會覆寫.conf檔案
[root@bgx fail2ban]# cat /etc/fail2ban/jail.local
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 86400
findtime = 600
maxretry = 5
banaction = firewallcmd-ipset
action = %(action_mwl)s
[sshd]
enabled = true
filter = sshd
port = 22
action = %(action_mwl)s
logpath = /var/log/secure
5.啟動服務,并檢查狀態
[root@bgx ~]# systemctl start fail2ban.service
[root@bgx ~]# fail2ban-client status sshd
6.清除被封掉的IP地址
[root@bgx ~]# fail2ban-client set sshd unbanip 10.0.0.1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/184820.html
標籤:其他
上一篇:人工智能2020秋季總結
