前回の多段プロキシの試行はHTTPSの前にあえなく撃沈。
問題点は、プロトコルに対するプロキシでは暗号化に対して微妙なんじゃないか?ということ。
透過でなければ(ようはプロトコルをうまく中継してくれれば)問題ないのだけれども。
そこでRedsocksというHTTPSをうまくやってくれるらしいと書いてあるプロキシを試
ちょっとまて、それじゃ本当にHTTPSしかできない。
できれば、いろんなプロトコルを通したい。俺は使っていないけれどLINEとかLINEとかSteamとか。
学生が互いの連絡に使うのだよ、LINE。俺は使ってないけれど。
結局それでは微妙に終わるのだ。
SOCKSプロキシを前回確かめたのは、SOCKSさえあれば一通りのことができるからだ。
そういえばSSHは通るんだったか・・・
ポートフォワード・・・
ふと、SOCKSのまねごとできないの?という疑問が湧いた。
調べたら、-DでほぼSOCKSプロキシとして動作するという。
これに透過プロキシを組み合わせれば解決?といろいろ試行。
結果、できた。構成はこんな感じ。
クライアント--(ゲートウェイ扱い)-->サーバー--(iptablesによるredirect)-->redsocks--(redsocksによる透過プロキシ)-->ssh--(ポートフォワード)-->外部サーバー-->(外部)
結論としては、危険きわまりないので、事情分からない人は絶対に真似をしないこと。
以下、実現の際に詰まった部分のメモ書き。
詰まった点その1:大体の情報源において、ssh -Dはlocalhostでやっている(安全性考えれば当たり前か)。
localhostならいいのだが、他のマシンから送るには、ポートフォワードのために-gを付けなければならない。(そうでないとconnection refused)
結果として、ssh -Nf -g -D 1080というコマンドに。オプションだらけだ。
まあよしとしよう。
詰まった点その2:大体の情報源において、redsocksはlocalhostでやっている(以下略)。
今回は外部に置いているわけだが、そうなると当然透過プロキシにするためのiptablesの設定が微妙に変わる。
もっともきつかったのは、なぜかINPUTチェインのポリシーをACCEPTにしないと通らなかったことだ。
怖いよこの設定!!
改めて見ると、外部でやるような内容じゃない。
セキュリティのずさんさが目に余る・・・
真面目にいろいろ向上させたいところだが、原因がわからないからなあ。
なんにせよ、とりあえず目標の達成をかくにん。
よかった♡(時代に乗り遅れた)
なお、この記事の真似をしてハッキング被害に遭ったとしても私は「ばーか」としか言いませんのであしからず。
危険だともセキュリティずさんだと言っているし。
2014年10月27日
透過SOCKS-SSHプロキシ
posted by chiguri at 20:55| Comment(0)
| 雑多