Improve security by enforcing verification on each user action
Improve security by enforcing verification on each user action
こんにちは、SSTでWeb脆弱性診断用のツール(スキャンツール)開発をしている坂本(Twitter, GitHub)です。 先日DeNA様がGitHub上で公開された PacketProxy を触ってみました。 https://github.com/DeNA/PacketProxy ここがすごい PacketProxyすごい!! 名前の通り、パケットレベルで中身を見たり、編集するのに向いてる。 javaソースで約4万8千行とそれなりの規模。 フレームワークやライブラリはあまり使わず、HTTP/WebSocketのパースなどを手作りしてる。 ソケット周りも Java8 時代のJDKライブラリベースで、Nettyみたいなフレームワークは使ってない。でも手作りでここまで作れるのはすごい。 DNS偽装 + invisible https proxy でスマホの通信を intercept できるよう
Today we are thrilled to announce the initial OSS preview release of Envoy Mobile, an iOS and Android client network library that brings the power of Envoy Proxy to mobile platforms. This is the beginning of a journey that we hope mobile developers around the industry will join us on. BackgroundWhen Lyft originally announced Envoy in 2016, the project goal was simply stated as: The network should
The goal is to implement a proxy server for HTTP and HTTPS. Handling of HTTP is a matter of parsing request, passing such request to destination server, reading response and passing it back to the client. All we need for that is built-in HTTP server and client (net/http). HTTPS is different as it’ll use technique called HTTP CONNECT tunneling. First client sends request using HTTP CONNECT method t
ELB(Elastic Load Balancer)の後ろをTCPにしてHTTP2をサポートしつつ、リクエスト元IPも記録nginxAWSelbhttp2 Nginxが1.9.5でHTTP2モジュールをやや試験的ながら同梱するようになりました。つかおう。 しかし、例えばNginxがELB(TLS終端)の後ろにいる場合、バックエンドへの接続をTCPにする必要があります。 で、TCPにするとアクセス元IPを通常ではログに記録できない。 ELBでは一応そういう時のために、Proxy Protocolを差し込んでくれる。NginxもProxy Protocolを取れるように設定できる。 ロードバランサーの Proxy Protocol のサポートを設定する - Elastic Load Balancing Nginxで普通のTLSとProxy Protocolを両方Listenする 通常の443ポ
東京でウェブオペレーションエンジニアをしている id:dekokun です。 本記事ではAWSでELBを使用してHTTP/2 or SPDYを運用する上で直面する問題としてのクライアントのIPアドレスが分からなくなる問題の紹介を行い、その後に解決策としてのPROXY protocolの紹介・PROXY protocolの設定方法について記載します。 この記事は先日公開しましたAWS EC2でのHTTP/2 or SPDY導入方法 - Hatena Developer Blog (以下、"前回の記事"と呼びます) の続編となります。 ELBのTCPモードにおける問題点 解決策としてのPROXY protocol PROXY protocolが必要となる技術的背景及びPROXY protocolの動作 ELB + nginx構成でのPROXY protocolの設定方法 ELBの設定 ngin
Amazon Web Serviceブログに7/31付で発表がありましたが、ELBでProxy Protocolがサポートされました。 これにより、TCP接続の負荷分散でも、接続元IPアドレスの取得が可能になったようです。 Proxy Protocol? ELBでは、(2013/08/04現在)以下のプロトコルをサポートしています。 HTTP HTTPS TCP SSL(Secure TCP) HTTPとHTTPSに関してはX-Forwarded-Forを見ることで接続元クライアントのIPアドレスを知ることができましたが、TCPの負荷分散ではヘッダが付与されないため、取得することができませんでした。 しかし、先日追加されたELB Proxy Protocolで、この機能を有効化した場合、TCPデータ内に接続元IPアドレス情報が付加されるようになりました。 というわけで、ELBの設定方法と接
背景 ECSでNginxのコンテナをプロキシとして立てたところ、APIサーバのアクセスログのクライアントIPがNginxのコンテナIPになっていたのでその修正をしたのがきっかけです。 環境 Nginx 1.10.2 Docker1.12.1 構成 Client -> ELB -> Nginx -> API という構成とします。 ネットでよく見る情報 set_real_ip_from 172.31.0.0/16; real_ip_header X-Forwarded-For; を追加する、とか proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; を追加する、とかどれがどれだか分かりにくいので1つ1つ説明していきます。 用語説明 remote_
EC2 だと ELB の内側では、nginx のアクセスログに ELB の IP アドレスが記載されてしまうので、HttpRealIpModule を使って Apache の mod_rpaf、lighttpd の mod_extforward と同じような挙動を設定します。 configure オプションに --with-http_realip_moduleが必要ですので、nginx -V で configure オプションを確認して、入っていなかったらコンパイルし直しましょう。 実際の設定は以下です。set_real_ip_from に ELB など Proxy やロードバランサーの IP を指定します。real_ip_header には、X-Real-IP や X-FORWARDED-FOR など Proxy が追加するヘッダーを指定してください。 http { set_real_i
この投稿は Fujitsu Advent Calender 2016 の 9日目 の記事です。 この記事に書かれた見解は、個人のものであり、所属する会社・組織を代表するものではありません。 proxy に阻まれて Docker が思うように動かないという声を、他のソフトと比べるとよく聞きます。Docker の場合、proxy を意識しなければいけない箇所が少なくとも4つあって、何をしたいかによって、そのうちのどれを設定しないといけないかが変わるので、混乱しやすいのでしょう。加えて、公式ドキュメントに、その4つをまとめて説明してくれるページがないのも、それを助長しているのかもしれません。 そこで、その4つをまとめて説明してみます。 以下の説明で、proxy の URL や、NO_PROXY に設定するドメイン名/IPアドレスは、各自の環境に合わせて読み替えてください。 1. docker p
はじめに こんにちは、Python界のロナルド・レーガンです。さて、HTTP proxy環境下でどうしても外部にSSHしたいっていうことってありませんか。ありますよね。そういうときにWindowsだったらPuttyとかでやれば楽ちんですね。 Proxy越しにSSHする - YAMAGUCHI::weblog で、Linuxではどうやるんだろうなーと思って調べたらconnect-proxyが楽と知りました。 ログ パッケージを探してインストール。ssh_configにProxyCommandの項目を追加して、-Hオプションにこんな感じで追加。 % sudo apt-get install connect-proxy % vim .ssh/config Host example User hoge HostName example.com Port 22 ProxyCommand connec
はじめに Charles を使うと PC 上に HTTP プロキシを立てて端末の通信をキャプチャし、リクエストやレスポンスの内容を覗いたり書き換えることが出来る。類似のソフトウェアとして Wireshark や Fiddler, Paros がある。 アプリの開発をしていてよくあるのは、APIがスタブで固定値しか返してくれない、異常系エラーのデバッグがやりづらい、という場面だが、Charles なら通信を好きに値を書き換えられるのでこれらに簡単に対処することができる。 Charles は Java アプリなので OS X だけでなく Windows や Linux でも利用する事が出来る。本稿では OS X + iOS での利用を前提として Charles の導入から簡単な使い方までを説明するが、環境依存の箇所は適宜読み替えてほしい。 導入 本来は有料ライセンスだが、無料でも数分間だけ使用
Use Google as a Proxy Server to Bypass Paywalls, Download Files If you have trouble accessing a web page either because the website is blocked at your workplace, or because that page happens to be behind a paywall, there are a couple of undocumented Google proxy servers that may help you read that page. When you access any page via one of these Google proxies, the content of that page gets downloa
概要 proxy環境内でATOMエディタのパッケージインストール等をするには、apmコマンドでhttps-proxyを設定する。またproxyがSSL証明書を自己署名証明書に置き換える場合などは、同様にstrict-sslにfalseを設定する。 詳細 proxy環境内でATOMエディタにパッケージをインストールするために、proxy設定方法を試行錯誤してみた。私の環境では、以下の認証proxyの設定+proxyがSSL証明書を置き換える場合の追加設定を実施したところ、パッケージの追加ができた。 proxy設定が必要な環境では、Settingsの「+Install」画面で、Install Packagesの検索結果、「Featured Packages」の表示部分ともエラーになり、出力表示はconnect ETIMEDOUTだった。 「Is there any proxy settings
update 色々と twitter で議論が起こったのでまとめて貼っておきます。 togetter.com みなさんありがとうございました。 intro HTTP2 の RFC 化も目前ということで、そろそろ実際に HTTP2 を導入していくにあたってサーバサイドの構成についても、具体的にどう変わっていくかという点を考え始めていく必要があります。 そんな話を @koichik さんとしていたら、色々と考えが膨らんだのでメモしておきます。 前提 今回は、中規模のサービスを想定し、特に HTTP2 のサーバプッシュを踏まえた上でのコンテンツ配信などに、どういう構成が考えられるかを考えていきます。 また、本エントリ内では独自に以下の表記を採用します。 HTTP/1.1 = HTTP/1.1 (平文) HTTP/2 = HTTP/2 (平文) HTTPS/1.1 = HTTP/1.1 over
概要 社内プロキシに様々なサイトへのアクセスをブロックされたり、社外サーバにsshできなかったりする人向けに社外プロキシを立ててあらゆるサイトにアクセスする方法のまとめです。(後述しますが半分くらいネタポストです。) 他にも以下のような効果がありますので、プロキシフリーな会社にお勤めもし良かったら参考にして頂ければと思います。 なぜか2015年になっても存在するカフェとかホテルとかでの保護されていなかったりする無線wifiを使っても盗聴されない。 日本からアクセスできないサイトにアクセスできる。(海外のデータセンタ上のVMを使った場合) なお、非認証プロキシを例にしてます。認証プロキシでもあまり変わらないとは思いますが、環境が無いため未確認です。また、プロキシの挙動や設定方法はプロキシサーバの種類や設定によって多岐に渡るため、全てのプロキシで同じ方法が使えるとは限らないとは思います。 最後
単一ホスト用のリバースプロキシを実装する net/http/httputilで、HTTP用のReverse Proxyを実装するためのライブラリが提供されている。 下記のコードで、http://127.0.0.1:3000 から http://127.0.0.1:9292 にHTTPリクエストを委譲するReverse Proxyが動作する。 httputil.NewSingleHostReverseProxyはhttputil.ReverseProxyのインスタンスを返す。 このインスタンスはhttp.Server互換の (.ServeHTTPメソッドに呼応できる) オブジェクトであるため、 http.Serverを利用してHTTPサーバを動作させられる。 // main.go package main import( "net/http" "net/http/httputil" "net
馬鹿でもわかる Application Server と Reverse Proxy Balancer のお付き合いを考える 一般的な Web Application というのはロードバランサ、Webサーバ、アプリケーションサーバという HTTP を喋るサーバで構成されていると思います。 ロードバランサは高級なハードウェアからソフトウェア(lvs, httpd, etc..)で作るものまで色々ありますね。 アプリケーションサーバでは各種言語に合わせた実装でデーモンが常駐してるでしょう。これはいわゆる普通の Web サーバよりは単純なコンテンツを返す性能が低いです。 そんなわけで動的なアプリケーションサーバが有る構成では js や css や画像など静的なファイルは Apache や nginx などの専用の Web サーバでサービスして、動的なリクエストだけバックエンドのアプリケーションを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く