偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用stunnel保護(hù)telnet連接

系統(tǒng) Linux
stunnel 旨在為使用不安全連接協(xié)議的程序增加 SSL 加密。本文將以 telnet 為例介紹如何使用它。

 [[267460]]

Telnet 是一種客戶(hù)端-服務(wù)端協(xié)議,通過(guò) TCP 的 23 端口連接到遠(yuǎn)程服務(wù)器。Telnet 并不加密數(shù)據(jù),因此它被認(rèn)為是不安全的,因?yàn)閿?shù)據(jù)是以明文形式發(fā)送的,所以密碼很容易被嗅探。但是,仍有老舊系統(tǒng)需要使用它。這就是用到 stunnel 的地方。

stunnel 旨在為使用不安全連接協(xié)議的程序增加 SSL 加密。本文將以 telnet 為例介紹如何使用它。

服務(wù)端安裝

使用 sudo 安裝 stunnel 以及 telnet 的服務(wù)端和客戶(hù)端:

  1. sudo dnf -y install stunnel telnet-server telnet

添加防火墻規(guī)則,在提示時(shí)輸入你的密碼:

  1. firewall-cmd --add-service=telnet --perm
  2. firewall-cmd --reload

接下來(lái),生成 RSA 私鑰和 SSL 證書(shū):

  1. openssl genrsa 2048 > stunnel.key
  2. openssl req -new -key stunnel.key -x509 -days 90 -out stunnel.crt

系統(tǒng)將一次提示你輸入以下信息。當(dāng)詢(xún)問(wèn) Common Name 時(shí),你必須輸入正確的主機(jī)名或 IP 地址,但是你可以按回車(chē)鍵跳過(guò)其他所有內(nèi)容。

  1. You are about to be asked to enter information that will be
  2. incorporated into your certificate request.
  3. What you are about to enter is what is called a Distinguished Name or a DN.
  4. There are quite a few fields but you can leave some blank
  5. For some fields there will be a default value,
  6. If you enter '.', the field will be left blank.
  7. -----
  8. Country Name (2 letter code) [XX]:
  9. State or Province Name (full name) []:
  10. Locality Name (eg, city) [Default City]:
  11. Organization Name (eg, company) [Default Company Ltd]:
  12. Organizational Unit Name (eg, section) []:
  13. Common Name (eg, your name or your server's hostname) []:
  14. Email Address []

將 RSA 密鑰和 SSL 證書(shū)合并到單個(gè) .pem 文件中,并將其復(fù)制到 SSL 證書(shū)目錄:

  1. cat stunnel.crt stunnel.key > stunnel.pem
  2. sudo cp stunnel.pem /etc/pki/tls/certs/

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

  1. cert = /etc/pki/tls/certs/stunnel.pem
  2. sslVersion = TLSv1
  3. chroot = /var/run/stunnel
  4. setuid = nobody
  5. setgid = nobody
  6. pid = /stunnel.pid
  7. socket = l:TCP_NODELAY=1
  8. socket = r:TCP_NODELAY=1
  9. [telnet]
  10. accept = 450
  11. connect = 23

accept 選項(xiàng)是服務(wù)器將監(jiān)聽(tīng)傳入 telnet 請(qǐng)求的接口。connect 選項(xiàng)是 telnet 服務(wù)器的內(nèi)部監(jiān)聽(tīng)接口。

接下來(lái),創(chuàng)建一個(gè) systemd 單元文件的副本來(lái)覆蓋原來(lái)的版本:

  1. sudo cp /usr/lib/systemd/system/stunnel.service /etc/systemd/system

編輯 /etc/systemd/system/stunnel.service 來(lái)添加兩行。這些行在啟動(dòng)時(shí)為服務(wù)創(chuàng)建 chroot 監(jiān)獄。

  1. [Unit]
  2. Description=TLS tunnel for network daemons
  3. After=syslog.target network.target
  4.  
  5. [Service]
  6. ExecStart=/usr/bin/stunnel
  7. Type=forking
  8. PrivateTmp=true
  9. ExecStartPre=-/usr/bin/mkdir /var/run/stunnel
  10. ExecStartPre=/usr/bin/chown -R nobody:nobody /var/run/stunnel
  11.  
  12. [Install]
  13. WantedBy=multi-user.target

接下來(lái),配置 SELinux 以在你剛剛指定的新端口上監(jiān)聽(tīng) telnet:

  1. sudo semanage port -a -t telnetd_port_t -p tcp 450

***,添加新的防火墻規(guī)則:

  1. firewall-cmd --add-port=450/tcp --perm
  2. firewall-cmd --reload

現(xiàn)在你可以啟用并啟動(dòng) telnet 和 stunnel。

  1. systemctl enable telnet.socket stunnel@telnet.service --now

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

如果需要,可以將此 stunnel 模板服務(wù)設(shè)置為在啟動(dòng)時(shí)啟動(dòng):

  1. systemctl enable stunnel@telnet.service

客戶(hù)端安裝

本文的這部分假設(shè)你在客戶(hù)端系統(tǒng)上以普通用戶(hù)(擁有 sudo 權(quán)限)身份登錄。安裝 stunnel 和 telnet 客戶(hù)端:

  1. dnf -y install stunnel telnet

stunnel.pem 從遠(yuǎn)程服務(wù)器復(fù)制到客戶(hù)端的 /etc/pki/tls/certs 目錄。在此例中,遠(yuǎn)程 telnet 服務(wù)器的 IP 地址為 192.168.1.143

  1. sudo scp myuser@192.168.1.143:/etc/pki/tls/certs/stunnel.pem
  2. /etc/pki/tls/certs/

創(chuàng)建 /etc/stunnel/telnet.conf

  1. cert = /etc/pki/tls/certs/stunnel.pem
  2. client=yes
  3. [telnet]
  4. accept=450
  5. connect=192.168.1.143:450

accept 選項(xiàng)是用于 telnet 會(huì)話(huà)的端口。connect 選項(xiàng)是你遠(yuǎn)程服務(wù)器的 IP 地址以及監(jiān)聽(tīng)的端口。

接下來(lái),啟用并啟動(dòng) stunnel:

  1. systemctl enable stunnel@telnet.service --now

測(cè)試你的連接。由于有一條已建立的連接,你會(huì) telnetlocalhost 而不是遠(yuǎn)程 telnet 服務(wù)器的主機(jī)名或者 IP 地址。

  1. [user@client ~]$ telnet localhost 450
  2. Trying ::1...
  3. telnet: connect to address ::1: Connection refused
  4. Trying 127.0.0.1...
  5. Connected to localhost.
  6. Escape character is '^]'.
  7.  
  8. Kernel 5.0.9-301.fc30.x86_64 on an x86_64 (0)
  9. server login: myuser
  10. Password: XXXXXXX
  11. Last login: Sun May 5 14:28:22 from localhost
  12. [myuser@server ~]$

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2010-07-15 13:52:51

TELNET連接

2010-07-19 14:12:10

Telnet連接

2010-07-19 13:37:30

TELNET連接

2010-07-21 11:45:20

2011-01-10 09:47:01

StunnelStunnel設(shè)置Stunnel使用

2010-07-14 16:27:33

2010-07-21 16:49:38

telnet sess

2010-07-22 12:13:15

Telnet服務(wù)器

2010-07-14 15:39:51

Telnet Sync

2010-12-31 14:48:50

SMTP 通信

2023-06-20 16:12:47

2021-08-06 10:47:30

SIP. 防火墻竊取服務(wù)

2010-07-14 15:18:26

Telnet連接

2010-07-19 11:11:43

Telnet連接會(huì)話(huà)

2010-07-26 15:40:18

Telnet連接

2010-05-18 09:37:49

2010-07-19 16:10:11

Telnet命令

2010-07-19 16:55:51

Telnet命令

2011-01-05 11:03:44

2010-07-21 16:26:27

telnet程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)