ユーザ用ツール

サイト用ツール


サイドバー

目次

ホーム










.

Action disabled: source
tools:stunnel


stunnelを使った暗号化通信

stunnelとは

https://www.stunnel.org/

暗号化されていない通信を暗号化します。
SSLプロトコルで包むことができるツールです。

stunnelの特徴
  • stunnelは、クライアントに常駐し、事前処理がいらない。
利用例
  • httpをhttpsへ
  • pop3をpop3 over sslへ
  • imap4をimap4 over sslへ
  • smtpをsmtp over sslへ


Linuxで、stunnelをインストール

RPMパッケージのインストール

~]# yum install stunnel
~]# ls -lh /etc/stunnel/stunnel.conf

ソースからインストール

yum install -y gcc openssl-devel tcp_wrappers-devel
curl -o latest-stunnel-version.tar.gz https://www.stunnel.org/downloads/latest-stunnel-version.tar.gz
tar xvfz latest-stunnel-version.tar.gz
cd latest-stunnel-version/
./configure
make
make install
ln -s /usr/local/bin/stunnel /bin/stunnel


stunnelの設定

yumでインストールしたデフォルトの設定ファイルは、/etc/stunnel/stunnel.conf です。
起動時に設定ファイルを指定することによって、任意の設定ファイルを利用できます。

cert = /etc/pki/tls/certs/stunnel.pem
; Allow only TLS, thus avoiding SSL
sslVersion = TLSv1
chroot = /var/run/stunnel
setuid = nobody
setgid = nobody
pid = /stunnel.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

[service_name]
accept = port
connect = port
TIMEOUTclose = 0

上の例では、以下でPIDのディレクトリ設定が必要です。

~]# mkdir /var/run/stunnel
~]# chown nobody:nobody /var/run/stunnel


接続設定

### localの10800に接続すると、相手先の443に接続する例
[test-tasha]
accept  = localhost:10800
connect = x.x.x.x:443
TIMEOUTclose = 0


Proxy経由で接続

[ssh_over_ssl]
client = yes
accept = 9999
protocol = connect
protocolHost = example.com:443  #接続先
connect = x.x.x.x:8888   #Porxy
接続テスト
$ stunnel /etc/stunnel/stunnel.conf
$ ssh -p 9999 localhost
localhostの9999に接続すると、ProxyServer(x.x.x.x:8888)を経由して、接続先(example.com:443)へ行く。


証明書

stunnel 用に自己署名証明書の作成

cd /etc/pki/tls/certs/
make stunnel.pem


stunnel の起動、停止、再起動

コマンドで実行する場合

~]# stunnel /etc/stunnel/stunnel.conf
~]# kill `cat /var/run/stunnel/stunnel.pid`


stunnelのログ

デフォルトでは、/var/log/secure になります。


参考


tools/stunnel.txt · 最終更新: 2021/02/01 02:01 by kurihara

ページ用ツール