Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SSH力をつかおう

6,320 views

Published on

掘ったトンネルは潜れ

Published in: Technology

SSH力をつかおう

  1. 1. SSH力を使おう掘ったトンネルは潜れ!! 2012/12/07 #ssmjp @togakushi 1 / 31
  2. 2. おさらい► 詳しくは前の資料で。 SSH力をつけよう [ http://www.slideshare.net/tohakushi/ssh- 13118950 ] 2 / 31
  3. 3. ダイナミックフォワード► サーバをsocksのプロキシにする ssh -D 1080 ssh-gateway別のホスト クライアント サーバ 別のホスト Client sshd httpd ブラウザ TCP/1080 別のホスト ブラウザ httpd ブラウザが指定したホスト 3 / 31
  4. 4. ローカルポートフォワード► クライアントからサーバに対してのトンネル► リモートデスクトップしたい!! ssh –L 3389:windows:3389 ssh-gateway rdesktop localhost インター 踏み台 作業端末 Windowsサーバ ネット SSH-GATEWAY リモートデスクトップtsclient TCP/3389 ssh sshd (TCP/3389) 4 / 31
  5. 5. SOCKS PROXY► ダイナミックフォワードはSOCKSのPROXYにな る► SOCKS対応のクライアントならトンネルを潜れ る ひとつ掘ればみんなで共有 対応していないならローカルポートフォワードで必 要なだけ掘る 5 / 31
  6. 6. SOCKS対応化してしまえ► tsocks► proxychains プログラムが指定したProxyを必ず通るように ネットワークライブラリを割り込ませる ラッパープログラム 6 / 31
  7. 7. tsocks(導入)► yum(EPEL)/apt/Mac Portsで入れれる パッケージを持っていてもよし ソースを持っていってもよし 別システムでビルドしてバイナリとライブラリを持っ ていってもよし 7 / 31
  8. 8. tsocks(設定)► /etc/tsocks.confを読む(決め打ち) 接続先によってproxyを切り替えたり出来る 以下の3行が設定されていればOK server = 127.0.0.1 server_type = 5 server_port = 1080 8 / 31
  9. 9. tsocks(ハマリ)► CentOSで使った時にProxy ENDで名前解決し てくれなかった コンパイルオプション変えてもダメ 原因不明► 設定ファイルが/etcにしか置けないのでroot権 限ないと設定できない► ライブラリも決め打ちのパスしか読まない► SELinuxは適切にね 9 / 31
  10. 10. tsocks(使い方)► SOCKSのPROXYを指定して、 > tsocks 「PROXYを通したいプログラム」► tsocksだけ実行すると対話モードのシェルが立 ち上がり、全部PROXYを通るようになる(らし い) 10 / 31
  11. 11. proxychains(導入)► aptで入るけどVer3 GithubにVer4がある 機能差分は知らない► RPMは探してない Baseとepelにはない 11 / 31
  12. 12. proxychains(設定)► proxychains.conf 実行時にオプションで渡す proxy_dns [ProxyList] socks5 127.0.0.1 1080 12 / 31
  13. 13. proxychains(使い方)► Proxyの設定をして、 > proxychains4 -f proxychains.conf 「PROXYを~」 を► ライブラリはバイナリがあるカレントディレクトリ も探してくれる root権限なくても導入できちゃう! 13 / 31
  14. 14. 実践 14 / 31
  15. 15. 使い方1 HOST 外から:Hostへのsshのみ許可 内から:ESTABLISHEDは許可 RELATEDは許可 HostOnly 他はすべて遮断 sshd Windows ゲスト VM01 VM02ssh 簡単にリモートデスクトップで繋ぎたい!! 15 / 31 簡単にリモートデスクトップで ぎたい!!
  16. 16. 使い方1(従来型) HOST HostOnly sshd VM01 VM02ssh Local> ssh –L13389:VM01:3389 HOST : Local> ssh –L23389:VM02:3389 HOST 16 / 31
  17. 17. 使い方1(従来型) Local> rdesktop localhost:13389 HOST Local> rdesktop localhost:23389 HostOnly sshd VM01 VM02sshTCP:127.0.0.1:13389TCP:127.0.0.1:23389 17 / 31
  18. 18. 使い方1 HOST HostOnly sshd VM01 VM02ssh Local> ssh –D1080 HOST 18 / 31
  19. 19. 使い方1 HOST Local> tsocks rdesktop VM01 Local> tsocks rdesktop VM02 HostOnly sshd VM01 VM02sshTCP:127.0.0.1:1080 19 / 31
  20. 20. 使い方2 HOST 外から:Hostへのsshのみ許可 内から:ESTABLISHEDは許可 RELATEDは許可 HostOnly 他はすべて遮断 sshd Linux ゲスト VM01 VM02sshsshdゲストをインターネットに いでアップデートしたい!!ゲストをインターネットに繋いでアップデートしたい!! アップデートしたい 20 / 31
  21. 21. 使い方2 HOST HostOnly sshd VM01 VM02sshsshd Local> ssh –D1080 HOST 21 / 31
  22. 22. 使い方2Local> ssh –R10022:localhost:22 –oProxyCommand=’nc –x localhost:1080 %h %p’VM01 HOST HostOnly sshd VM01 VM02 ssh TCP:127.0.0.1:1080 ※VM01に直接ログインできればなんでもいいよ! に直接ログインできればなんでもいいよ! ログインできればなんでもいいよ sshd 22 / 31
  23. 23. 使い方2 HOST HostOnly sshd VM01 VM02sshsshd VM01> ssh –D1080 –p10022 localhost 23 / 31
  24. 24. 使い方2 HOST HostOnly sshd VM01 VM02sshsshd VM01> tsocks yum –y update 24 / 31
  25. 25. 使い方3 HOST 外から:Hostへのsshのみ許可 内から:ESTABLISHEDは許可 RELATEDは許可 HostOnly 他はすべて遮断 sshd Windows ゲスト VM01 VM02sshsshd Windowsだってアップデートしたい!! だってアップデートしたい!! だってアップデートしたい 25 / 31
  26. 26. 使い方3 HOST HostOnly sshd VM01 VM02sshsshd Local> ssh –R10022:localhost:22 26 / 31
  27. 27. 使い方3 HOST HostOnly sshd VM01 VM02sshsshd HOST> ssh –gD1080 –p10022 localhost 27 / 31
  28. 28. 使い方3 HOST PROXYの設定 HostOnly sshd VM01 VM02sshsshd tsocksとか関係なかった!! とか関係なかった!! とか関係なかった おまけにVM01で名前解決できない!! おまけに で名前解決できない できない!! これは失敗 失敗。 これは失敗。 28 / 31
  29. 29. すべてのプログラムで利用可能► curl / wget / w3m / firefox / …► git / hg / svn / …► yum / apt / … / ssh / rsync / …► シェルスクリプト / … なんでもOK! なんでも ! 29 / 31
  30. 30. まとめ► ssh(トンネルが掘れる)ができると何でも出来 ちゃうよ 30 / 31
  31. 31. ネットワークは用法容量を守って お使い下さい 31 / 31

×