IPアドレスは「個人情報」を特定できないから、漏えいしても問題ないよね?:こうしす! こちら京姫鉄道 広報部システム課 @IT支線(24)(1/2 ページ) 情報セキュリティの啓発を目指した、技術系コメディー自主制作アニメ「こうしす!」の@ITバージョン。第24~27は初秋の特別列車「個人情報とは何か」です。
![IPアドレスは「個人情報」を特定できないから、漏えいしても問題ないよね?](https://cdn-ak-scissors.b.st-hatena.com/image/square/403a2e38233198af80b8e1aab41fb4cbe086dbfb/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F2009%2F01%2Fcover_news015.png)
世界中でIPv6対応が進んでいます。昔は「次世代インターネットプロトコル」と言われていたIPv6ですが、「次世代」ではなく、既に現実として運用されるプロトコルへと成長しました。2016年6月から、iOSアプリの審査基準としてIPv4に依存するコードの禁止が追加され、IPv6対応をiOSアプリの義務なったことからも、IPv6に関する知識が必須となったエンジニアも多いのではないかと思います(Appleの発表)。 IPv6といえば、IPv4で32ビットだったIPアドレスが128ビットへと増えたということ以外は特に知らない方々も多いと思います。ここでは、そんな方々に向けて、IPv6理解のための3つのポイントを紹介をします。 1. IPv4とIPv6は全く別のプロトコル IPv4とIPv6は全く別のプロトコルです。しかも、互いに直接的な互換性はありません。IPv4とIPv6を直接つなぎ合わせても互い
Amazon S3のバケット(Bucket)に、アクセス元IPアドレスによるアクセスコントロールをかけられる、ってご存知でしたか? この記事では、AWSやS3のリクエスト認証の概要と、それを踏まえた「アクセス元IPアドレスによるバケットへのアクセスコントロール」の方法、その応用例を紹介します。 バケットに入れるオブジェクトの機密性によっては、デフォルトの 「認証情報をつける」以外の方法でアクセスコントロールができると便利です。 例えば、機密でもなんでもないファイルや静的サイトを、ロケーション的に同じオフィスにいる人にゆるく共有したい、 くらいの用途であれば、アクセス元IPアドレスが使えることがあります。 実際、弊社でも、このエンジニアブログを公開前にテスト・レビューするために、 アクセス元IPによる読み取り制限をかけたバケットにデプロイしています。 なお、情報セキュリティに関わることなので
やりたいこと 例えば10台のサーバでHTTPチェックをして「hostgroupに定義しているホストのうち、n台までNGはアラートはWARN、n台を超えたらCRIT」みたいな事をやりたい時に、監視プラグイン側にチェックする為のIPアドレスを引数に渡したいけど、service定義する箇所でコマンドの引数に全部のIPを書くとかはイケていないのでチラッと本を読んだら書いてあった。 方法 簡単に言うと $HOSTADDRESS:<hostgroup名>:<デリミタ>$というオンデマンドグループマクロという物を使えば実現出来る。 check_command check_nagios_value_test!$HOSTADDRESS:linux_servers: $こんな感じで定義すると、仮にlinux_serversにhost1,host2が設定されていれば、監視プラグイン側には host1のIPアドレ
今までいろいろ触ってきて,Dockerネットワーク周りに関しては何となくは理解していたが,人に説明できるほど理解してなかったのでまとめておく.基本は,Advanced networking - Docker Documentationがベースになっている. 仮想ブリッジの仕組み Dockerのネットワークは,仮想ブリッジdocker0を通じて管理され,他のネットワークとは隔離された環境で動作する. Dockerデーモンを起動すると, 仮想ブリッジdocker0の作成 ホストの既存ルートからの空きのIPアドレス空間を検索 空きから特定の範囲のIPアドレス空間を取得 取得したIPアドレス空間をdocker0に割り当て が行われる. コンテナを起動すると,コンテナには以下が割り当てられる. docker0に紐づいたveth(Virtual Ethernet)インターフェース docker0に割り
EC2ではマルチキャストが使えないから○○が動かないってよく聞きます。確かにVPCであってもEC2ではL2ブロードキャストはサポートされていないので、ENIにブロードキャスト/マルチキャストパケットを投げても誰にも届きません。でも当たり前ですが、ユニキャストはできますよね?であればアプリケーションがマルチキャストのつもりで投げたパケットを捕まえて、L3アドレスはそのままにL2で複数のユニキャストフレームとして送ってしまえばいいのでは?そんな事を試して実際動く事を確認したところをデモを含めてお届けします。Read less
こんにちは!がねこまさしです。前回は複数人の同時通話まで実現しました。社内で使うには十分なレベルです。 しかし本格的な企業ユースとなると、まだまだ障害があります。会社と家、自社と別の会社さんなど、実際に通信しようとするとNATやFirewallといった壁が立ちはだかります。 NATを越えよう NATの役割は NAT(+IPマスカレード)は企業だけでなく、一般家庭でも使われています。ブロードバンドルーターやWiFiルーターでは、1つのグローバルIPアドレスを、複数のPCやデバイスで共有することができます。このとき、NATには2つの役割があります。 インターネットにつながったグローバルなIPアドレスと、家庭内/社内のローカルなネットワークでのIPアドレスの変換 複数のPC/デバイスが同時に通信できるように、ポートマッピングによるポート変換 WebRTCでNAT越しに通信すること考えてみましょう
Quaggaは、UNIX/Linuxプラットフォームで動くルーティングソフトウェアです。 OSPF、BGP、RIP等のプロトコルが実装されていて、GNU Zebraから派生したソフトウェアだとか。 某所の環境が、ロードバランサを設置(というかLBに仮想IPアドレスを配布)すると上位のルーターにそのLBへのルートが必要となるネットワーク構成だったので、ソフトウェアベースのLinuxロードバランサに、こいつを入れて、OSPFで動的な経路広報(ダイナミックルーティング)ができるか検証してみました。 インストール 今回、OSはCentOS 6系で動かしてみました。 CentOS 6系で、Quaggaはyumリポジトリに入っていますので、 # yum -y install quaggaでインストールできると思います。 僕は、最新版で動作検証してみたかったので、公式のダウンロードサイトから最新版(現在
こんにちは、やま です。2回目の投稿です、よろしくお願いします。 前回、"Amazon Linuxの環境にRubyの実行環境を構築する方法" を紹介させていただきました。今回は、この環境上にknife-soloの環境をつくって、Webサーバを構築する簡単なレシピを作成・実行してみたいと思います。 構成としては以下のイメージです。 Amazon Linux(今回はami-be1c848e)を2台用意 knife-solo実行マシンは事前にRubyの環境を用意 両方ともインターネットへ接続可能 セキュリティグループの設定はそれぞれ以下の通り knife-solo実行マシン:sshが有効 Webサーバ: ssh, httpが有効 操作はすべてLocal PCからknife-solo実行マシンにSSH接続をしておこなっていきます。また、knife-solo実行マシンからWebサーバへアクセスする際
コロナウイルスが流行する前の2020年1月上旬、中国の杭州に行ってきたのでその記録を書いておく。 はじめに 自分はこれが中国へ行くの5回目。それなりに慣れている方だと思うけど、中国人と一緒に行ったほうが圧倒的に楽です。 数年前にキャッシュレスが普及して、その後も規制が変わったりして行くたびに状況が変わっています。なので、ここで書いてあることは半年後には参考にならないかも。 事前にやっておくこと WeChatPayのアカウントを作る、可能なら本人確認とチャージをやっておく Alipayのアカウントを作って、可能なら本人確認とチャージをやっておく 中国で使える香港SIMを買う WeChatPayとAlipayのアカウントは、外国人でも作れるときと作れないときがある。またお金もチャージできるときとできないときがある。 事前にググってできるかどうか試しておくのが重要。 また、中国はいわゆるGrea
開発環境は難しい 最適な開発環境をつくるのっていつも難しいなーと思います。サーバ側に入って開発する人もいれば、クライアント側のIDEあげてる人もいるわけで人それぞれです。 その人に特化した開発環境をつくるだけであればそこまで難しい話ではありませんが、チームでの開発となるとそのあたりをうまく解消するのがだんだん難しくなってきます。また、新しくサブドメインが増えたりなど開発環境も常にアップデートし続ける必要があります。 このあたりを、サーバエンジニアが手動でやってると死にます。悪しきDev/Opsの対立関係がうまれてしまうので、なんとかしないといけない。 というわけで、オフィス移転をきっかけに開発環境を作りなおしてみました。以下の3点からさくらVPSを選びました。 コストを抑えたい 最近さくらVPSに東京リージョンができた ローカルネットワーク接続できるようになった 新規開発環境をつくる上での
テーブル設計においてカラムのデータ型を正しく決めることには、どのような利点があるのかについて。単純に扱う値と同じ型を選ぶべきであるというだけではなく、なぜそうあるべきかについて、内部的な効率の面から解説する。 パフォーマンスに関する話の中で、カラムに値を保存するのに正しいデータ型を使うことの重要性を説いているのを聞くことがよくある。例えば、数値はINTやBIGINTで表現し、IPアドレスにはINT UNSIGNEDを使い、VARCHAR(255)の代わりにVARCHAR(60)を使うといったことだ。 このアドバイスは正しい。しかし、今日はもう少し詳細の説明を試みてみようと思う。 理由 この最適化が正しいと思う3つの理由は以下の通りだ。 文字列として数値データを扱うことは、文字コードや照合処理のCPUオーバーヘッドが余計に必要になってしまう。例えば、'Montréal' = 'Montrea
リバース Proxyの奧に居るWebサーバで、Proxyされる前のリモート(クライアント)IPアドレスを元に処理の振り分けやログの記録をしたい場合がある。普通だとProxy経由のアクセス元は全て ProxyサーバのIPアドレスになってしまうので、Proxyサーバによって送出される特別なリクエスト HTTPヘッダからオリジナルのIPアドレスを取り出し、それでリモートIPアドレスを上書きしてくれるモジュールを使用することになる。 それを実現するモジュールとしては mod_rpafと mod_extract_forwarded、そして Apache 2.4から標準で利用可能になった mod_remoteip が知られている。mod_rpafは Apache の Allow fromディレクティブなどを使ってアクセス制限には効かないのと、mod_remoteipは Apache 2.4からしか提供
インターネットのネットワークに多少なりと興味がある方なら、指定の目的地までの経路探索をしてくれる、みんな大好きtracerouteコマンド。 そんなtracerouteの色々をメモしておきます。 tracerouteの仕組み 既に多くの解説サイトがあるので、そちらに譲りますw tracerouteはTTLを1ずつ増やしながらパケットを送信することで、経路情報を取得する。 TTLとはパケットの生存期間を表し、ルータを1つ経由することに1ずつ減算される。 ルータはTTLが2以上のパケットが届いた場合、TTLの値を1だけ小さくし次のルータへ転送する。 TTLが1のパケットが届いた場合、届いたパケットを破棄しICMP time exceededパケットを送信者に返す。 tracerouteはまず、TTLを1にセットしたパケットを送信する。最初のルータに届いた時点でTTLがゼロになり、ICMP ti
I2P(The Invisible Internet Project: 「不可視インターネットプロジェクト」)とは、コンピュータネットワークによる通信の始点と終点を匿名化し、さらに端点間の通信内容も暗号化するという方法で匿名化されたネットワークを構成するソフトウェア、およびプロトコルの名称である。 I2Pにおける通信では端点は暗号化された識別子(公開鍵暗号の鍵ペアにもとづく)によってネットワーク上で一意に識別される。TCP/IPによる通信がホスト名(IPアドレス)とポート番号によって一意に識別される事と似ている。このI2Pの端点識別子からはIPアドレスを知る事ができないため、ネットワークの利用者、サービス提供者ともに匿名での通信が可能になっている。 I2Pは既存のTCP/IPネットワークの上にオーバレイされたネットワークとして機能する。I2PネットワークのAPIを直接使ったアプリケーション
RapsberryPi のアドレスをDHCPでしかもらえないけど、リモートログインするしかないとき、アドレスの調査をするために DHCPサーバを監視したりしますが、それも面倒です。そもそもDHCPサーバを監視する権限があれば固定アドレスをゲットできる可能性は高いわけです。そういうときはPingをブロードキャストしてarpテーブルでお目当てのMACアドレス探すとかもやるんですが、これも細かいところがいろいろめんどくさい。 そこでサーバが起動してアドレスとったらどこかに通知するという手を昔からよく使っていて、昔はよくメールを飛ばしてたんですが、最近だとメールを出すよりもツイッター使うほうが簡単じゃないかということで、IPアドレスをDMしてみることにしてみた。 実装はrubyでinit.d にSCRIPTを登録して起動します。 まず、ruby環境とtwitterのgem をRapsberry p
iptablesでサーバを守るときに知っておくと良いことを3つ紹介します 1. 接続回数を制限する(IPアドレスごと) hash_limitを使います これにより特定ホストからの大量アクセス、DoS攻撃を緩和することが可能です 例 2. 接続回数を制限する(サービスごと) limitを使って制限します これにより多数のホストからの攻撃、DDoS攻撃を緩和します limitを使った制限は全ホストが等しく制限を受けるため、ssh等に設定すべきではありません。 (攻撃を受けている間は自分たちも制限されるため) Webサーバが大量アクセスで落ちそうな場合は使えるんじゃないでしょうか? 例 3. 接続IPアドレスを限定する IPアドレスの国別割り当てをAPNIC等から取得してコマンドを作ります この手のルールは長くなるので、ユーザー定義チェインにしたほうが見やすくなります 例 あとはこんな感じのスク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く