Twitterスパム? ln.is(linkis.com) での表示を拒否する

怒

先日Twitterをエゴサーチしていたところ、弊社技術記事に関するツイートがあったのですが、リンク先が弊社ページではなく ln.is というURLになっていて、「何これ?」な状態に…

軽く調べてみると、Linkis.com というアプリがツイート投稿時に URLを ln.is に変更してしまうとの事。やってる事がスパムに近い気がしたので、ln.is からアクセスした場合、ページが表示されないように対策を施しました。その手順を示します。

はじめに

高倉健さん、菅原文太さんの相次ぐ訃報にご冥福をお祈りする今日この頃、皆様いかがお過ごしですか?

 

先日Twitterでエゴサーチしていたところ、弊社技術記事に関するツイートだが、リンク先が ln.is になっているもの を発見しました。

「なんだこれ?」

と ln.is に関して検索してみると、Twitter と連携するアプリがリンク先を書き換えるもののようで、昨年 ( 2013年 ) から話題に上がっているもののようです。

参考

上記記事にもあるのですが、これって殆どスパムなんじゃという感じがしています。

私はリンク先 ( Linkis.com ) にアクセスした際に、下手に認証してしまうという事態にはなっていませんが、Linkis.com 経由でアクセスされるのが気持ち悪いので、Linkis.com からアクセスした場合にはページが表示されないように設定する事にしました。

リンク先スクリーンショット

以下はリンク先のスクリーンショットです。

余計な情報が右側に付与されてます。もともとのページは iframe 内に表示されるようです。

ls.inでの表示

環境

確認した環境は以下になりますが、Apache であれば同様の手順で対策可能だと思います。

OS Amazon Linux (64bit)
Web Server Apache ( httpd-2.2.29-1.4.amzn1 )

対策方法

元ページは iframe 内で表示されるようなので、 今回は iframe 内で表示されないようにしてしまう方法を採ります。

X-Frame-Options

X-Frame-Options レスポンスヘッダ を利用する事で、iframe 内にページを表示する事を拒否する事が可能です。

※現行の主要Webブラウザならば、X-Frame-Options はサポートされています。

手順

以下、Apache でX-Frame-Options ヘッダを設定する手順になります。

  1. Apache の conf ファイルを編集します。
    $ sudo vi /etc/httpd/conf/httpd.conf
    
    以下を追記します。
    Header always append X-Frame-Options SAMEORIGIN
    
  2. 設定を確認し、
    $ sudo httpd -t
    
  3. 問題なければ、Apache をリロードします。
    $ sudo /etc/rc.d/init.d/httpd reload
    

上では、X-Frame-Options ヘッダの値として SAMEORIGIN を設定しています。
この場合、自サイトからのみ iframe 内での表示を許可し、別サイトからフレーム内に表示する事はできなくなります。
SAMEORIGIN 設定で問題ないサイトが多いかと思いますが、

  • 自サイトも含めて拒否する場合 DENY
  • 特定サイトのみ許可する場合 ALLOW-FROM uri
にて設定可能との事 ( 上記リンクを参照 )。
但し、ALLOW-FROM に関しては設定する上で制約があるようで、通常はSAMEORIGIN、あるいは、DENY を設定するようです。

確認する

上記 ln.is のURL にリンクされた結果がどうなるか確認してみます。

ls.in 対策後

上記スクリーンショットを取得した際は、上記のように iframe 内に何も表示されなかったのですが、記事執筆中に再確認したところ、以下のメッセージが出力され、元サイトにリダイレクトされるようになってました。

Important

This page can not be shown in IFRAME according to www.agilegroup.co.jp rules.
You will be redirected to http://www.agilegroup.co.jp/technote/modsec-crs-shellshock.html in 3 seconds. Stop

まとめ

Twitter におけるエゴサーチにはじまった上記対策ですが、X-Frame-Options レスポンスヘッダの設定は、クリックジャッキング 攻撃を防ぐためにも有効な手段とされています。

参考 : X-FRAME-OPTIONS によるクリックジャッキング対策

現状、クリックジャッキングによる被害等が確認されていない状況でも、上記対応は行った方がいい場合が殆どかと思われます。

設定がまだの場合は適用するかどうか検討してみてはいかがでしょうか。