CentOS7

sslhインストール

ssh というと22番ポートを利用するものだが、環境によっては利用できない事がある。

そういった場合だと443番ポート(SSL)を利用する場合が多いが、Webサーバーの場合だとすでに https で使用している場合が多い。そんなとき、sshssl443番ポートで同居させて、それぞれのパケットのときは適切に割り振りをしてくれるリバースプロキシのような動作をしてくれるのが『SSLH』になる。

インストール

[root@localhost ~]# yum -y install sslh

設定

まず、Webサーバーで443番ポートを127.0.0.1にのみ許可してやり、外部からアクセス時の443ポートを開放する。

[root@localhost ~]# vi /etc/httpd/conf.d/ssl.conf
Listen 127.0.0.1:443 https ←編集

SSLHの設定

/etc/sslh.cfg」で、listenするhostに受付をするインターフェイスのIPアドレス(もしくはホスト名)を入力する。

[root@localhost ~]# vi /etc/sslh.cfg
...
# Change hostname with your external address name.
listen:
(
{ host: "NICのIPアドレス"; port: "443"; } ←編集
);
...

起動

[root@localhost ~]# systemctl start sslh
[root@localhost ~]# systemctl enable sslh

テスト

ssh の疎通確認

[root@localhost ~]# ssh NICのIPアドレス -p443

httpsの疎通確認

[root@localhost ~]# curl https://hogehoge.com -k

設定ファイルを読み込ませる場合

設定ファイル使うと、/etc/default より管理が楽になります。

[root@localhost ~]# vi /etc/default/sslh
DAEMON_OPTS="--user sslh -F /etc/sslh --pidfile /var/run/sslh/sslh.pid"
[root@localhost ~]# vi /etc/sslh
listen: (
  { 
   host : "NICのIPアドレス";
   port :443 
   }
);
 
protocols: (
   {name: "ssh" ; host: "127.0.0.1"; port: "22" ;},
   {name: "http" ; host: "127.0.0.1"; port: "443"; },
)

443ポートは貴重

IPv4のポート443は今はインターネットそのものになりつつあります。全ての通信が443ポートでおこなわれつつあるとおもっています。

443ポートでVPNを貼ったりsshしたりSocksProxy作ったり通信内容を見られないというのはとても重要なファクタに成りつつあります。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-13 (月) 15:35:54