日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

如何使用stunnel保护telnet连接

發布時間:2023/12/15 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 如何使用stunnel保护telnet连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要為大家展示了“如何使用stunnel保護telnet連接”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用stunnel保護telnet連接”這篇文章吧。

Telnet 是一種客戶端-服務端協議,通過 TCP 的 23 端口連接到遠程服務器。Telnet 并不加密數據,因此它被認為是不安全的,因為數據是以明文形式發送的,所以密碼很容易被嗅探。但是,仍有老舊系統需要使用它。這就是用到 stunnel 的地方。

stunnel 旨在為使用不安全連接協議的程序增加 SSL 加密。

服務端安裝

使用 sudo 安裝 stunnel 以及 telnet 的服務端和客戶端:

sudodnf-yinstallstunneltelnet-servertelnet

添加防火墻規則,在提示時輸入你的密碼:

firewall-cmd--add-service=telnet--permfirewall-cmd--reload

接下來,生成 RSA 私鑰和 SSL 證書:

opensslgenrsa2048>stunnel.keyopensslreq-new-keystunnel.key-x509-days90-outstunnel.crt

系統將一次提示你輸入以下信息。當詢問 Common Name 時,你必須輸入正確的主機名或 IP 地址,但是你可以按回車鍵跳過其他所有內容。

Youareabouttobeaskedtoenterinformationthatwillbeincorporatedintoyourcertificaterequest.WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.TherearequiteafewfieldsbutyoucanleavesomeblankForsomefieldstherewillbeadefaultvalue,Ifyouenter'.',thefieldwillbeleftblank.-----CountryName(2lettercode)[XX]:StateorProvinceName(fullname)[]:LocalityName(eg,city)[DefaultCity]:OrganizationName(eg,company)[DefaultCompanyLtd]:OrganizationalUnitName(eg,section)[]:CommonName(eg,yournameoryourserver'shostname)[]:EmailAddress[]

將 RSA 密鑰和 SSL 證書合并到單個 .pem 文件中,并將其復制到 SSL 證書目錄:

catstunnel.crtstunnel.key>stunnel.pemsudocpstunnel.pem/etc/pki/tls/certs/

現在可以定義服務和用于加密連接的端口了。選擇尚未使用的端口。此例使用 450 端口進行隧道傳輸 telnet。編輯或創建 /etc/stunnel/telnet.conf

cert=/etc/pki/tls/certs/stunnel.pemsslVersion=TLSv1chroot=/var/run/stunnelsetuid=nobodysetgid=nobodypid=/stunnel.pidsocket=l:TCP_NODELAY=1socket=r:TCP_NODELAY=1[telnet]accept=450connect=23

accept 選項是服務器將監聽傳入 telnet 請求的接口。connect 選項是 telnet 服務器的內部監聽接口。

接下來,創建一個 systemd 單元文件的副本來覆蓋原來的版本:

sudocp/usr/lib/systemd/system/stunnel.service/etc/systemd/system

編輯 /etc/systemd/system/stunnel.service 來添加兩行。這些行在啟動時為服務創建 chroot 監獄。

[Unit]Description=TLStunnelfornetworkdaemonsAfter=syslog.targetnetwork.target[Service]ExecStart=/usr/bin/stunnelType=forkingPrivateTmp=trueExecStartPre=-/usr/bin/mkdir/var/run/stunnelExecStartPre=/usr/bin/chown-Rnobody:nobody/var/run/stunnel[Install]WantedBy=multi-user.target

接下來,配置 SELinux 以在你剛剛指定的新端口上監聽 telnet:

sudosemanageport-a-ttelnetd_port_t-ptcp450

***,添加新的防火墻規則:

firewall-cmd--add-port=450/tcp--permfirewall-cmd--reload

現在你可以啟用并啟動 telnet 和 stunnel。

systemctlenabletelnet.socketstunnel@telnet.service--now

要注意 systemctl 命令是有順序的。systemd 和 stunnel 包默認提供額外的模板單元文件。該模板允許你將 stunnel 的多個配置文件放到 /etc/stunnel 中,并使用文件名啟動該服務。例如,如果你有一個 foobar.conf 文件,那么可以使用 systemctl start stunnel@foobar.service 啟動該 stunnel 實例,而無需自己編寫任何單元文件。

如果需要,可以將此 stunnel 模板服務設置為在啟動時啟動:

systemctlenablestunnel@telnet.service

客戶端安裝

本文的這部分假設你在客戶端系統上以普通用戶(擁有 sudo 權限)身份登錄。安裝 stunnel 和 telnet 客戶端:

dnf-yinstallstunneltelnet

stunnel.pem 從遠程服務器復制到客戶端的 /etc/pki/tls/certs 目錄。在此例中,遠程 telnet 服務器的 IP 地址為 192.168.1.143

sudoscpmyuser@192.168.1.143:/etc/pki/tls/certs/stunnel.pem/etc/pki/tls/certs/

創建 /etc/stunnel/telnet.conf

cert=/etc/pki/tls/certs/stunnel.pemclient=yes[telnet]accept=450connect=192.168.1.143:450

accept 選項是用于 telnet 會話的端口。connect 選項是你遠程服務器的 IP 地址以及監聽的端口。

接下來,啟用并啟動 stunnel:

systemctlenablestunnel@telnet.service--now

測試你的連接。由于有一條已建立的連接,你會 telnetlocalhost 而不是遠程 telnet 服務器的主機名或者 IP 地址。

[user@client~]$telnetlocalhost450Trying::1...telnet:connecttoaddress::1:ConnectionrefusedTrying127.0.0.1...Connectedtolocalhost.Escapecharacteris'^]'.Kernel5.0.9-301.fc30.x86_64onanx86_64(0)serverlogin:myuserPassword:XXXXXXXLastlogin:SunMay514:28:22fromlocalhost[myuser@server~]$

總結

以上是生活随笔為你收集整理的如何使用stunnel保护telnet连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。