情報セキュリティに関するアンケートの信頼性

CSIRT構築済み企業は4割以上に、ただしセキュリティ人材不足の企業が依然8割以上

そもそも、自社の情報セキュリティの状況についてアンケートに答えるという行為自体が、重大な情報漏洩に繋がりかねない件について・・・

自社の情報セキュリティに関する情報というのはとても重要な機密事項になる。CSIRTを組織しているか否か程度なら組織図や役員構成などの公開情報を見ればわかるのであえて秘密にする意味はないが、社内でセキュリティ問題を抱えているシステムに関する情報などは本来絶対に外に出せないものだ。もし「Windows XPを使ったシステムがあります」などといえば、攻撃者にWindows XPの脆弱性を利用すると成功率をあげられることを教えているようなものになる。人材不足などについても同様のことが言える。

この手のアンケートをどう読み解くかは難しい。解答した660社(22%)は自社のセキュリティ情報を無警戒に流出させた間抜けかもしれない。もちろん相手の信頼性や公開できる情報の範囲を熟慮して回答した企業もあるだろうが・・・。この手のアンケートは著しくサンプルが偏っている可能性が高い。集計結果は眉に唾をつけて読み解くしかないだろう。唯一信じられるのは22%が回答したということだけだ。

実は企業のセキュリティ対策の実態というのは非常にセンシティブな情報で簡単には外に出てこない。他社がどうしているのか気になるのは日本人の性かもしれないが、セキュリティに関しては自身の知識と技術、そして良心を頼って進むしかないのである。

RabbITを使ってAndroidのデータ通信量を削減する

RabbIT ProxyはHTMLから不要な文字やコメントを削除したり、GZIPで圧縮したり、あるいは画像データの品質を下げるような変換をすることでデータ転送量を減らすソフトウェアです。その当りの仕組みはOpera Maxと同様ですが、自分でサーバーを用意するのであれば画像の品質をどの程度まで下げるのかなど、自由にパラメータ調整を行える分だけ、より使い勝手の良い通信料削減システムを構築できます。
RabbITはJavaで開発されておりWindowsでもLinuxでも動作します。今回はLinux上に構築してみます。

Java Runtimeのインストール
詳細は説明しません。最新のJava Runtimeをインストールします。最近のディストリビューションではOpen JDKがデフォルトになっていますが、Open JDKではjpeg画像ファイルを扱えないためRabbIT Proxyが動作しません。

RabbITのインストール
RabbIT Proxyをダウンロードします。http://www.khelekore.org/rabbit/から最新のバイナリをダウンロードします。ダウンロードしたrabbit4.xx-bin.tar.gzを解答すると、rabbit4.xxというフォルダが作成されます。後はrabbit4.xxフォルダに移動して次のコマンドを実行するだけです。

java -jar jars/rabbit4.jar -f conf/rabbit.conf

パソコンのブラウザでプロキシ設定を追加して、サーバーのポート9666に接続されるようにしてみましょう。Proxyとして動作しているはずです。

RabbITの設定
このままではセキュリティ上よろしくないのでいくつか設定を変更します。設定はconf/rabbit.confを変更します。
まずはポート番号を変えておきましょう。デフォルトは9666ですが、サイコロでも振って適当なポートに割り当てます。

# This is the port the proxy listens on.
# Use any port available (over 1024 unless you run as root).
port=9666

次にProxy接続時にユーザIDとパソワードを使うように変更します。
httpinfiltersの末尾に”,rabbit.filter.ProxyAuth”を追加します。

# Here we filter the HTTP header, these filters should have an
# public static HTTPHeader doHTTPInFiltering (Socket, HTTPHeader,
# Connection)
# method that may modify the incomming request. If a HTTPHeader is
# returned it is sent to the client and the request is finished. (this
# is an easy way to block some ads and other bad stuff).
# The list is comma separated and full class names has to be used.
#
# Available filters today are:
# HttpBaseFilter   this is basically needed, use it.
# DontFilterFilter stop the proxy from filtering certain pages.
# DontCacheFilter  stop the proxy from cacheing certain pages.
# BlockFilter      Dont allow access to certain pages.
# HttpSnoop        Print the Http headers out on System.out.
# ProxyAuth        Perform proxy authentication on all users, backend is some type of db
#                  This filter needs to be after HttpBaseFilter to work correctly.
# ReverseProxy     Transform requests to "/some/page" into "http://some.host/some/page"
#                  If you use the reverse proxy option, you probably
#                  want it first in the list
# NoGZipEncoding   A filter that removes "Accept-Encoding: gzip". Not very useful anymore
#                  since rabbit can repack gzip:ed and deflated files.
# RevalidateFilter A filter that makes sure that resources are always re-validated
# SetHeaderFilter  A filter that can add request or response headers.
# SQLBlockFilter   A filter similar to BlockFilter, but that uses a sql database to block
#                  access to a set of hosts
#
# by default we use a few filters,
httpinfilters=rabbit.filter.HttpBaseFilter,rabbit.filter.DontFilterFilter,rabbit.filter.BlockFilter,rabbit.filter.RevalidateFilter,rabbit.filter.ProxyAuth

Proxyに接続するためのユーザーIDとパスワードはconf/allowedに記述します。もともと書かれている”RabbIT:RabbIT”という記述を削除して、”example:password”を追加します。
ここで再びパソコンブラウザにProxyを設定してつないでみましょう。ちゃんとユーザー認証付きでつながりますか?

AndroidのProxyを設定
昔はAndroidのProxyを設定するにはroot権限取得とか脱獄が必要でしたが、今は脱獄せずにProxyを設定するツールも出ています。わたしはDronyを使ってProxyを設定しました。

screenshotshare_20150127_002057SETTING画面を表示して”Settings for not listed networks”をクリックします。これで下の画面が表示されます。

 

 

 

 

 

 

screenshotshare_20150127_002141

NOT LISTED NETWORKS-MANUAL PROXYの項目にProxyサーバーを設定します。Proxy TypeをPlain Http Proxyに、Hostname、Port,Username、Passswordをそれぞれ設定します。

このあとDronyによるフィルタリングを有効にすると、Proxyサーバー経由で通信が行われるようになります。

 

 

 

 

ちなみに、Proxy経由だと動作しなくなるソフトも多数あります。そういうソフトはFILTERのRulesでProxyを経由しないように個別にDirectに指定します。逆にDefault valueをDirect All(Proxyを経由しない)に指定しておいて、圧縮の効くソフトだけをRulesにAllowedで追加しても良いかもしれません。

というわけで、ちょっと技術には詳しいんだという方は試してみてはいかがでしょう?

念のためいくつか注意点も・・・

※自宅で普段使っているWindowsパソコンにProxyを導入してインターネットから接続を受け付けるサーバーとして使うことはお勧めしません。サーバーをインターネットに公開したとたんに、数多くのクラッカーからの接続が始まります。業務やプライベートなデータを取り扱うパソコンをサーバーにするのはやめましょう。

※可能なら接続元IPアドレスも制限しましょう。auやDocomoのスマホや携帯電話が使用するIPアドレスの範囲は公開されていますので、それらのIPアドレスからの接続を禁止すればより安心です。

Windows 10に向けた企業の準備

Windows10が発表され、話題はそれ一色になってますね。私は戦々恐々としてます。社内のITシステムの運用開発体制を刷新する事が求められようとしているからです。

ラピッドリリースという用語を知ってますか?最近はラピッドリリースで開発されてるソフトウェアが非常に増えてます。Google Chromeとか、Facebookとか、数えたらきりがないほど。従来のソフトウェアは何年か事にメジャーバージョンアップが行われ、その時に機能追加などが大きく発表されました。もちろんバージョンアップしない選択肢も用意され、古いバージョンをサポート修了まで古いバージョンを使い続ける事も出来ました。ラピッドリリースではメジャーバージョンアップを待たずに頻繁に機能の追加や変更がなされます。そして、最新のバージョン以外ではアップデートが提供されず、古いバージョンで固定することが出来なくなります。

現在の国内企業の多くは社内のIT部署を縮小し、開発や運用にかかわる機能をアウトソースしてきました。そしてクライアントのバージョンを固定し、特定のバージョンで問題なく動作する事が確認されればアウトソース先の加発チームも解散し、次回の大規模更新まではバージョンを固定してきたわけです。

今回の発表でWindows 10以降はラピッドリリースになることが確実になってきました。となると今後はMicrosoftの発表する新機能や、旧機能との互換性廃止の情報をつねに収集して、社内システムが問題なく動作するか直ちにテストし、動作しなければ直ちに修正を行える開発体制が必要になるということです。今後は頻繁に行われるアップデートに備えて、最低限の開発体制を常時維持することが必要になってくるはずです。

これは容易なことではありません。自社内のIT部門を強化するにしても、すでに失われた開発体制を再構築するというのは、多くの時間とコストがかかります。アウトソースするにしても、アウトソース先が本当に開発体制を維持しているか確認するのは容易ではありませんし、保守のために外部に支払う費用は確実に増大することでしょう。

Androidでデータ通信量を節約する

どこのキャリアもデータ通信量は上限がついてしまって、使いすぎるといざというとき、ブロードバンドを使えずに困ってしまいますよね。Androidに標準でインストーリされているChromeブラウザにはデータを圧縮して通信することで、通信量を削減する機能があるので、有効にしておくとよいですよ。

screenshotshare_20150122_000536
データの圧縮を有効にするにはChromeを起動した後、メニューから設定を開きます。

screenshotshare_20150122_000207
設定画面の下のほうにある「データ使用量を節約」をクリック。

screenshotshare_20150122_000220
データ使用量を節約の画面から右上のスイッチをONに切り替えます。

ただしこのデータ圧縮機能はChrome上で閲覧した分に限られます。Opera MAXのようにすべての通信について圧縮してくれるわけではありません。ただ逆に有効になってほしくないときには、Chrome以外のブラウザから閲覧すればよいので、かえって使い分けもしやすいのでお勧めです。

参考:Chrome モバイル ブラウザでのデータ使用量を節約する

Brandoo WordPressで¥を入力できない。

Brandoo WordPressにてコンテンツに/(半角バックスラッシュ)や¥(半角円マーク)を入力していると、更新ボタンを押しても変更内容が保存されずに、元に戻ってしまう。

暫定的な対策としては、テキスト編集画面で¥と入力すればBlog上は半角の¥マークを表示することが出来る。だが一度ビジュアルエディタの編集画面に戻ってしまうと、¥から¥に変換されてしまうので、あまり現実的な解決方法ではない。

この現象は既に公式にもバグと認識されており、GitHubのCannot add post containing a % characterでも次のリリースにて修正される予定になっている。ただ実は、ちょっと困ったことにGitHubのサイトは放置気味になっている。Text Replacerのプラグインを使ってみたが、プラグインの設定を保存する部分でも¥が失われてしまうため、ちょっと一朝一夕にはいきそうもない。

自作を試みてみるかな・・・