SSLHとはHTTP, HTTPS, SSH, OpenVPN, tinc, XMPP等のプロトコルを全て443番ポートで公開するプログラムです。
ネットワークの制限された環境だと80番と443番ポートでしか通信を許可されていなかったりします。
このプログラムを使用するとそれらの制限を回避する事ができます。
日本語で解説されたサイトが少ないので簡単に導入方法をメモしておきたいと思います。
Repoforgeリポジトリの追加
# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
SSLHのインストール
# yum install sslh
SSLHの設定
# vi /etc/rc.d/init.d/sslh
#!/bin/bash # # /etc/rc.d/init.d/sslh # sslh This shell script takes care of starting and stopping # sslh - a daemon switching incoming connection between SSH and SSL/HTTPS servers # # Author: Andre Krajnik akrajnik@gmail.com # 2010-03-20 # # # chkconfig: 2345 13 87 # # description: sslh - a daemon switching incoming connection between SSH and SSL/HTTPS servers # Source function library. . /etc/init.d/functions # ./sslh -p 0.0.0.0:8443 -l 127.0.0.1:443 -s 127.0.0.1:22 SSLH="/usr/sbin/sslh" # sslhコマンドまでのパスを書き換えて合わせる PIDFILE="/var/run/sslh" # SSLHのポートを8443から443に変更し、HTTPSを8443に変更する(HTTPSサーバの設定を8443にしておく) # さらに追加したいプロトコルがあれば各自で追加する # なお、OpenVPNを指定する場合はUDPではなくTCPである必要があると思われます OPTIONS="--user nobody --pidfile $PIDFILE -p 0.0.0.0:443 --ssl 127.0.0.1:8443 --ssh 127.0.0.1:22 --openvpn 127.0.0.1:1194" if [ -f /etc/sysconfig/sslh ]; then . /etc/sysconfig/sslh fi start() { echo -n "Starting SSL-SSH-Switch: " if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` echo sslh already running: $PID exit 2; else daemon $SSLH $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $PIDFILE return $RETVAL fi } stop() { echo -n "Shutting down SSL-SSH-Switch: " echo killproc sslh echo rm -f $PIDFILE return 0 } case "$1" in start) start ;; stop) stop ;; status) status sslh ;; restart) stop start ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $?
SSLHの起動
# service sslh start
SSLHの自動起動
# chkconfig sslh on
0 Comments.