- リンクを取得
- ×
- メール
- 他のアプリ
sslsplitの導入先について
以下2パターンがある。
①pfSense本体に導入する
②別のマシンにsslsplitを導入する
pfSense本体に導入する場合
前準備
コンパイラなどを導入するため、パッケージ導入の制限を解除する。
vi /usr/local/etc/pkg/repos/pfSense.confFreeBSD: { enabled: yes }
vi /usr/local/etc/pkg/repos/FreeBSD.confFreeBSD: { enabled: yes } ※こっちはyesにする必要ないかも
パッケージを更新して、git gmake gcc libnet などを導入する。
pkg updatepkg install gitpkg install gmakepkg install gccpkg install libnet
sslsplitをgitする。
git clone https://github.com/droe/sslsplit.git
コンパイル・インストール
cd sslsplitmake CC=gccmake CC=gcc install※なんかccが見つからないといわれるので、CC=gcc とした
pfSense側でポートフォワードの設定をする。
sslsplitには8443番で通信を待機させる予定なので、
監視対象セグメントから外に出る宛先ポート番号443の通信を、ローカルホストの8443番にリダイレクトさせる。
ProxyARPの設定
ミラーパケットの送信元となるインターフェースに、ミラーパケットを送信したい時があるが、そのままsslplitを起動すると多分エラーが出る。
例えば、以下のような条件でsslsplitを起動すると上手くいかない(lanのIPは192.168.10.1)
-I lan -T 192.168.10.1
pfSenseのProxyARPの設定を用いて、lanの別のIPを設定してやれば、とりあえず動く(理屈はしらないけど動く)
上記を踏まえて以下条件でsslsplitを起動してやると、たぶんうまくいく。
-I lan -T 192.168.10.254
別のマシンにsslsplitを導入する場合
以下のような構成をイメージ。
(Internet)
|
[pfSense]---[sslsplit(ubuntu)]
|
[clientPC]
pfSense側で通信を曲げる設定をする
ルーティングの設定から、ゲートウェイを作成する。
Gatewayはsslsplit(ubuntu)のIPアドレスを記載する。
次に、pfSenseのFWルールで以下のようなルールを追加する。
通信元:クライアントがいるセグメント
宛先ポート:今回は443のみにした。
Gateway: 先ほど定義したものを選択する。
[sslsplit(ubuntu)]のIPに変更する
ubuntuにsslsplitをインストールする
sudo apt install sslsplit -y
iptablesの設定
宛先ポート番号443番の通信を、自分自身の8443番宛にリダイレクトさせる
sudo sysctl -w net.ipv4.ip_forward=1sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
iptablesの設定を保存する
$ sudo netfilter-persistent save
共通の作業
プロキシ用の証明書の導入
pfsense webui > System > Certificate > Add > nameを入力し、必要に応じ設定を変えて(デフォでOK)Save
作成できたら、証明書一覧の右側のアイコンから、ExportCAとExportKeyで証明書をダウンロードする。
ダウンロードした証明書をWinSCPなどを用いてsslspilitのカレントディレクトリにアップロードし、クライアント端末にはxxx.crt を信頼できる証明書にインストールする。
sslsplitの起動
以下のようなコマンドで起動してみる。
sslsplit -k 証明書.key -c 証明書.crt -P -D -I ミラーパケットが出るインターフェース名 -T ミラーパケットの宛先IP -l connections.log autossl 0.0.0.0 待ち受けポート番号
具体的にはこんな感じ。(re1 はLANインターフェースが割り当てられている)
sslsplit -k sslsplit.key -c sslsplit.crt -P -D -I re1 -T 192.168.10.254 -l connections.log autossl 0.0.0.0 8443
あるいは、設定ファイルを作成して読み込んで起動もできる
vi sslsplit_settings.confCAKey /root/sslsplit/sslsplit.keyCACert /root/sslsplit/sslsplit.crtPassthrough yesDaemon yesMirrorIf re1MirrorTarget 192.168.10.254ConnectLog connections.logChroot /rootProxySpec autossl 0.0.0.0 8443sslsplit -f ./sslsplit_settings.conf
コメント
コメントを投稿