暗号化されていない通信を暗号化します。
SSLプロトコルで包むことができるツールです。
~]# 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
yumでインストールしたデフォルトの設定ファイルは、/etc/stunnel/stunnel.conf です。
起動時に設定ファイルを指定することによって、任意の設定ファイルを利用できます。
cert = /etc/pki/tls/certs/stunnel.pem ; Allow only TLS, thus avoiding SSL sslVersion = TLSv1.2 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
[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)へ行く。
cd /etc/pki/tls/certs/ make stunnel.pem
~]# stunnel /etc/stunnel/stunnel.conf ~]# kill `cat /var/run/stunnel/stunnel.pid`
デフォルトでは、/var/log/secure になります。