この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
クライアント-サーバー間の通信を簡単に暗号化するstunnel というプログラムがあります。 クライアント-サーバー間にセキュアなトンネルを掘ることで、アプリケーションに手を入れずに簡単に通信を暗号化できます。
SMTP サーバーとの通信を暗号化したり、Redis や NFS などでサーバーとの通信を暗号化する様々な用途に使われています。
今回は stunnel をソースコードからインストールする方法を紹介します。
ディストリビューションが提供するパッケージよりも新しいバージョンをインストールしたい場合などで有用かと思います。
パッケージからインストール
特別な要件がない限りは、素直にパッケージからインストールするのが楽です。
# RPM 系
$ sudo yum install -y stunnel
# DEB 系
$ sudo apt-get install -y stunnel4
Amazon Linux系/RedHat/CentOS にインストール
検証環境
- Amazon Linux 2
- Amazon Linux 2018.03
- RHEL 7.5
ビルドに必要なプログラムをインストール
$ sudo yum install -y gcc openssl-devel tcp_wrappers-devel
ビルド
$ VERSION=5.48
$ curl -o stunnel-$VERSION.tar.gz https://www.stunnel.org/downloads/stunnel-$VERSION.tar.gz
$ tar xvfz stunnel-$VERSION.tar.gz
$ cd stunnel-$VERSION
$ ./configure
$ make
インストール
$ sudo make install
$ /usr/local/bin/stunnel --version
stunnel 5.48 on x86_64-pc-linux-gnu platform
Compiled/running with OpenSSL 1.0.2k-fips 26 Jan 2017
Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,FIPS,OCSP,PSK,SNI Auth:LIBWRAP
Global options:
RNDbytes = 1024
RNDfile = /dev/urandom
RNDoverwrite = yes
Service-level options:
ciphers = FIPS (with "fips = yes")
ciphers = HIGH:!aNULL:!SSLv2:!DH:!kDHEPSK (with "fips = no")
curve = prime256v1
debug = daemon.notice
logId = sequential
options = NO_SSLv2
options = NO_SSLv3
sessionCacheSize = 1000
sessionCacheTimeout = 300 seconds
stack = 65536 bytes
TIMEOUTbusy = 300 seconds
TIMEOUTclose = 60 seconds
TIMEOUTconnect = 10 seconds
TIMEOUTidle = 43200 seconds
verify = none
Ubuntu/Debian にインストール
検証環境
- Ubuntu Server 16.04
ビルドに必要なプログラムをインストール
$ sudo apt-get install -y gcc make libssl-dev libwrap0-dev
ビルド
$ VERSION=5.48
$ curl -o stunnel-$VERSION.tar.gz https://www.stunnel.org/downloads/stunnel-$VERSION.tar.gz
$ tar xvfz stunnel-$VERSION.tar.gz
$ cd stunnel-$VERSION
$ ./configure
$ make
インストール
$ sudo make install
$ /usr/local/bin/stunnel --version
stunnel 5.48 on x86_64-pc-linux-gnu platform
Compiled/running with OpenSSL 1.0.2g 1 Mar 2016
Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,FIPS,OCSP,PSK,SNI Auth:LIBWRAP
...
備考
古いアーカイブのダウンロード
ウェブサイトから辿れる Downloads ページでは最新版のみダウンロード可能です。
古いバージョンは次の FTP サイトからダウンロード可能です
ftp://ftp.stunnel.org/stunnel/archive/