SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
SSH力を使おう

掘ったトンネルは潜れ!!




    2012/12/07 #ssmjp @togakushi   1 / 31
おさらい
► 詳しくは前の資料で。
  SSH力をつけよう
  [ http://www.slideshare.net/tohakushi/ssh-
  13118950 ]




                                               2 / 31
ダイナミックフォワード
► サーバをsocksのプロキシにする
  ssh -D 1080 ssh-gateway

別のホスト    クライアント               サーバ     別のホスト

                     Client    sshd    httpd
 ブラウザ     TCP/1080

                                      別のホスト
                 ブラウザ                  httpd



              ブラウザが指定したホスト
                                               3 / 31
ローカルポートフォワード
► クライアントからサーバに対してのトンネル
► リモートデスクトップしたい!!
    ssh –L 3389:windows:3389 ssh-gateway
    rdesktop localhost

               インター             踏み台
  作業端末                                       Windowsサーバ
                ネット          SSH-GATEWAY




                                           リモートデスクトップ
tsclient    TCP/3389   ssh        sshd
                                             (TCP/3389)
                                                        4 / 31
SOCKS PROXY
► ダイナミックフォワードはSOCKSのPROXYにな
  る
► SOCKS対応のクライアントならトンネルを潜れ
  る
  ひとつ掘ればみんなで共有
  対応していないならローカルポートフォワードで必
  要なだけ掘る



                         5 / 31
SOCKS対応化してしまえ
► tsocks
► proxychains


 プログラムが指定したProxyを必ず通るように
   ネットワークライブラリを割り込ませる
       ラッパープログラム


                       6 / 31
tsocks(導入)
► yum(EPEL)/apt/Mac   Portsで入れれる
   パッケージを持っていてもよし
   ソースを持っていってもよし
   別システムでビルドしてバイナリとライブラリを持っ
   ていってもよし




                                   7 / 31
tsocks(設定)
► /etc/tsocks.confを読む(決め打ち)
   接続先によってproxyを切り替えたり出来る
   以下の3行が設定されていればOK
   server = 127.0.0.1
   server_type = 5
   server_port = 1080




                              8 / 31
tsocks(ハマリ)
► CentOSで使った時にProxy   ENDで名前解決し
 てくれなかった
  コンパイルオプション変えてもダメ
  原因不明
► 設定ファイルが/etcにしか置けないのでroot権
  限ないと設定できない
► ライブラリも決め打ちのパスしか読まない
► SELinuxは適切にね

                             9 / 31
tsocks(使い方)
► SOCKSのPROXYを指定して、

    > tsocks 「PROXYを通したいプログラム」

► tsocksだけ実行すると対話モードのシェルが立
 ち上がり、全部PROXYを通るようになる(らし
 い)



                                 10 / 31
proxychains(導入)
► aptで入るけどVer3
  GithubにVer4がある
  機能差分は知らない
► RPMは探してない
  Baseとepelにはない




                         11 / 31
proxychains(設定)
► proxychains.conf
   実行時にオプションで渡す
    proxy_dns

    [ProxyList]
    socks5 127.0.0.1 1080




                             12 / 31
proxychains(使い方)
► Proxyの設定をして、

 > proxychains4 -f proxychains.conf 「PROXYを~」
                                          を

► ライブラリはバイナリがあるカレントディレクトリ
 も探してくれる
   root権限なくても導入できちゃう!




                                           13 / 31
実践




     14 / 31
使い方1


                                           HOST
        外から:Hostへのsshのみ許可
        内から:ESTABLISHEDは許可
            RELATEDは許可               HostOnly
            他はすべて遮断
                             sshd


           Windows ゲスト              VM01   VM02
ssh




      簡単にリモートデスクトップで繋ぎたい!! 15 / 31
      簡単にリモートデスクトップで ぎたい!!
使い方1(従来型)


                                           HOST

                                    HostOnly

                           sshd


                                  VM01    VM02
ssh


      Local> ssh –L13389:VM01:3389 HOST
                        :
      Local> ssh –L23389:VM02:3389 HOST   16 / 31
使い方1(従来型)


      Local> rdesktop localhost:13389           HOST

      Local> rdesktop localhost:23389
                                         HostOnly

                                 sshd


                                        VM01   VM02
ssh

TCP:127.0.0.1:13389

TCP:127.0.0.1:23389
                                               17 / 31
使い方1


                                         HOST

                                  HostOnly

                          sshd


                                 VM01   VM02
ssh

      Local> ssh –D1080 HOST

                                        18 / 31
使い方1


                                                   HOST
      Local> tsocks rdesktop VM01
      Local> tsocks rdesktop VM02           HostOnly

                                    sshd


                                           VM01   VM02
ssh

TCP:127.0.0.1:1080


                                                  19 / 31
使い方2


                                           HOST
       外から:Hostへのsshのみ許可
       内から:ESTABLISHEDは許可
           RELATEDは許可               HostOnly
           他はすべて遮断
                            sshd


           Linux ゲスト               VM01   VM02
ssh

sshd

ゲストをインターネットに いでアップデートしたい!!
ゲストをインターネットに繋いでアップデートしたい!!
               アップデートしたい
                                          20 / 31
使い方2


                                          HOST

                                   HostOnly

                           sshd


                                  VM01   VM02
ssh

sshd   Local> ssh –D1080 HOST

                                         21 / 31
使い方2

Local> 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
使い方2


                                              HOST

                                        HostOnly

                               sshd


                                      VM01   VM02
ssh

sshd

       VM01> ssh –D1080 –p10022 localhost    23 / 31
使い方2


                                            HOST

                                     HostOnly

                           sshd


                                    VM01   VM02
ssh

sshd

       VM01> tsocks yum –y update          24 / 31
使い方3


                                            HOST
        外から:Hostへのsshのみ許可
        内から:ESTABLISHEDは許可
            RELATEDは許可               HostOnly
            他はすべて遮断
                             sshd


           Windows ゲスト              VM01   VM02
ssh

sshd


       Windowsだってアップデートしたい!!
              だってアップデートしたい!!
              だってアップデートしたい                 25 / 31
使い方3


                                         HOST

                                  HostOnly

                         sshd


                                VM01   VM02
ssh

sshd
       Local> ssh –R10022:localhost:22
                                       26 / 31
使い方3


                                        HOST

                                  HostOnly

                         sshd


                                VM01   VM02
ssh

sshd
       HOST> ssh –gD1080 –p10022 localhost
                                       27 / 31
使い方3


                                       HOST

           PROXYの設定             HostOnly

                       sshd


                               VM01   VM02
ssh

sshd     tsocksとか関係なかった!!
               とか関係なかった!!
               とか関係なかった
       おまけにVM01で名前解決できない!!
       おまけに     で名前解決できない
                      できない!!
               これは失敗
                  失敗。
               これは失敗。                 28 / 31
すべてのプログラムで利用可能
► curl / wget / w3m / firefox / …
► git / hg / svn / …
► yum / apt / … / ssh / rsync / …
► シェルスクリプト / …




              なんでもOK!
              なんでも !
                                    29 / 31
まとめ
► ssh(トンネルが掘れる)ができると何でも出来
 ちゃうよ




                        30 / 31
ネットワークは用法容量を守って
     お使い下さい




              31 / 31

Contenu connexe

Tendances

DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるAtsushi KOMIYA
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダTakuya ASADA
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)Tetsuya Hasegawa
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクションzaki4649
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...milk hanakara
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するためにShun Tsunoda
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナーNGINX, Inc.
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
Format string Attack
Format string AttackFormat string Attack
Format string Attackicchy
 

Tendances (20)

DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみるDSIRNLP #3 LZ4 の速さの秘密に迫ってみる
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するために
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
Go入門
Go入門Go入門
Go入門
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
Format string Attack
Format string AttackFormat string Attack
Format string Attack
 
AS45679 on FreeBSD
AS45679 on FreeBSDAS45679 on FreeBSD
AS45679 on FreeBSD
 

En vedette

無線LANデンパゆんゆん観察
無線LANデンパゆんゆん観察無線LANデンパゆんゆん観察
無線LANデンパゆんゆん観察ozuma5119
 
20140704 cassandra introduction
20140704 cassandra introduction20140704 cassandra introduction
20140704 cassandra introductionMasahiro NAKAYAMA
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)abend_cve_9999_0001
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 

En vedette (10)

ssh-agentのすすめ
ssh-agentのすすめssh-agentのすすめ
ssh-agentのすすめ
 
Cocproxy
CocproxyCocproxy
Cocproxy
 
無線LANデンパゆんゆん観察
無線LANデンパゆんゆん観察無線LANデンパゆんゆん観察
無線LANデンパゆんゆん観察
 
電波な話
電波な話電波な話
電波な話
 
20140704 cassandra introduction
20140704 cassandra introduction20140704 cassandra introduction
20140704 cassandra introduction
 
ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)ハニーポットで見る攻撃手法(特に結論はありません)
ハニーポットで見る攻撃手法(特に結論はありません)
 
Proxy War
Proxy WarProxy War
Proxy War
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 

Plus de (^-^) togakushi

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介(^-^) togakushi
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる(^-^) togakushi
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0(^-^) togakushi
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp(^-^) togakushi
 
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko(^-^) togakushi
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方(^-^) togakushi
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
 

Plus de (^-^) togakushi (13)

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp
 
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
 
Janog33.5
Janog33.5Janog33.5
Janog33.5
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 
Pakena #9
Pakena #9Pakena #9
Pakena #9
 
Sfstudy #2
Sfstudy #2Sfstudy #2
Sfstudy #2
 
ひとりsphinx
ひとりsphinxひとりsphinx
ひとりsphinx
 

Dernier

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 

Dernier (11)

20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 

SSH力をつかおう

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