暗号化ラッパーstunnelをソースコードからインストールする

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

クライアント-サーバー間の通信を簡単に暗号化するstunnel というプログラムがあります。 クライアント-サーバー間にセキュアなトンネルを掘ることで、アプリケーションに手を入れずに簡単に通信を暗号化できます。

SMTP サーバーとの通信を暗号化したり、RedisNFS などでサーバーとの通信を暗号化する様々な用途に使われています。

今回は 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/

参考