Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Proxyと仲良くなろう.pdf
Search
yangniao23
January 27, 2021
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Proxyと仲良くなろう.pdf
1. 多段ProxyでProxy認証をバイパスする
2. SSH ポートフォワーディングで外部のProxyを使う
3. 透過Proxyで幸せになる
yangniao23
January 27, 2021
More Decks by yangniao23
See All by yangniao23
KLab
yangniao23
0
35
KLab Expert Camp #6 に参加して
yangniao23
0
150
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
How to Talk to Developers About Accessibility
jct
2
580
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Practical Orchestrator
shlominoach
192
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
For a Future-Friendly Web
brad_frost
184
10k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Cult of Friendly URLs
andyhume
79
7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Transcript
Proxyと仲良くなろう Ec1 ヤン
おしながき 1. 自己紹介 2. 寮のネット環境 3. ローカル環境に自前Proxyサーバを建てる 4. Proxy非対応アプリでProxyを使う 5.
自由に通信したい!! 6. まとめ
1. 自己紹介 Name : ヤン Grade : Electronic Control 1st
Recent News : 入寮した Twitter/GitHub: @yangniao23
2. 寮のネット環境 - 100Mbpsの有線LAN - 認証付きのHTTP Proxyが必須 - 時間帯によってアクセスできるサイトに差があり -
開放済みのポートはTCP22(SSH), UDP53(DNS) - ⇧想定よりもいい状況 - 無線LANが使いたい場合は各自で用意する
~話は変わりますが~ Proxyサーバ必須の環境ってつらいですよね? しかも認証付きなんて嫌ですよね?
3. ローカル環境に自前Proxyサーバを建てる 今回はフリーのHTTP Proxyサーバソフト Squid(スクウィッド)を使用し た。 自前のProxyサーバで親Proxyへの接続を代理し,認証をバイバスす る ローカル環境にあるので簡単に設定ができる
もう少し具体的な話をしようや Squidのcache_peer機能を使って多段プロキシを実現している # 設定例 /etc/squid/squid.conf cache_peer [親ProxyのIP] [ポート] [オプション・・・] login=ユーザ名:パスワード
ここで認証付きProxyへの接続を代理で行えるよう設定をしている
5. 自由に通信したい!! - 外部に適当なサーバーを借りてSquidをインストールする - SSH ポートフォワーディングで0.0.0.0へ持ってくる - 端末からポートフォワーディングしてきたマシンにアクセスすると外部のProxy経由 で通信ができる
外部サーバ SSH ローカルサーバ 端末
まとめると ローカルにSquidを使ってProxyを構築し,時間帯・アクセス先のサイトに応じて代理接 続するProxyサーバ先を選択できる 詳細な設定はQiitaの記事を読んでください My Qiita
おしまい ?
透過Proxy Proxyサーバ側でHTTP(S) リクエストヘッダを書き換えることで,端末側に特別な設定 なしにProxyを適用できるもの。 ⇨HTTPSの通信を一旦復号化する必要があるので,オレオレ証明書を端末にインストー ルしなければならない オレオレ証明書をインストール⇒端末のRootが必要 なので避けてきた
盗聴しない透過Proxy Squid3.5より追加されたSslPeekAndSpliceを使う TCP three-way handshake及びTLS handshakeの 情報を利用してCONNECTメソッドを作成する Proxyサーバには名前解決されたホスト名が送信され る(google.com ではなく,172.217.175.14のような形)
透過Proxyの利点 LINE, Discord, Instagramといった通常のProxyに対応していないスマホアプリを動作さ せることに成功 Proxyがあることを意識させずに動かせる
透過Proxyの欠点 - 名前解決された状態でProxyサーバに渡るため,ドメイン単位のルールが設定不 可 ⇒ 内容を盗聴すると証明書エラーが発生する - 環境構築が手間 ⇒ 簡易なスクリプトを作成する ドメイン単位のルールを適応させるため,明示的にProxyの設定も同時に行い,Proxyに 対応しているアプリは直接Proxy経由で通信させる
今後の展望 - 上位ProxyにHTTP Proxy/Socks Proxy両対応の透過Proxyソフトを開発する - 名前解決されたIPを逆引きしてドメイン形式のCONNECTメソッドを叩けるようにす る - HTTP(S)通信以外も流せるようにする
主にTCP通信全般 - WebRTCに対応する ← 通話など ほんとにおわり