記事一覧
Twitter連携機能をマルチアカウントに対応
というわけで一般向けにはあまり関係ないことではあるが、blog.s.kbahcuan.comで稼働しているTwitter連携機能をマルチアカウントに対応した。これにより、限定公開の記事の更新情報も迅速に発信できることになる。
ちなみにこの連携機能の強化で、初歩的な部分でのミスがあったものの、それを見逃して他の部分が原因と考えてしまったため、追加に30分から1時間程度かかってしまった。本来なら10から30分程度で完成する予定(?)だったが。
脅迫メールにCSRFを使用した手口が浮上
最近の遠隔操作ウイルス等を利用した脅迫メール等の送信の手口の中に、CSRF(リクエスト強要)を利用した可能性のあるものがあることが判明した。
某政令指定都市の意見フォームに、脅迫メールが送信された事件が、この手口を使用している。
具体的(ただしこの手段は1つの例である)には、まず、掲示板等の不特定多数が投稿可能なWebサイトに、攻撃を行うためのスプリクトを記載したWebページへのリンクを投稿する。掲示板の利用者が、このWebページへのリンクを開くと、攻撃を行うためのスプリクトが起動し、脅迫メールがターゲットに送信される。
スプリクトを記載したWebページには、メールフォームへ送信するデータ(実際のメールフォームから抽出したものが多いが、これに限定しない)と、送信に必要な簡単なプログラム(ページを開くと、先程のデータがメールフォームあてに自動的に送信されるようなプログラム)が入っている。このとき、メールフォームに通知される送信元のIPアドレスは、Webページを開いた人のIPアドレスが通知され、Webページの製作者のIPアドレスは通知されない。ただし、(設定にもよるが)攻撃用のWebページのURL(Referer情報)がメールフォームに送信されることもあるため、そこから犯行が判明する可能性もある。しかし、Webページは目的が完了したら即刻削除すればよいので、Webページが犯行に使用されたものなのかは分かりにくい。
Webサイトの運営者の対処方法としては、フォームを開いたときに利用者ごとに固有のキーを送信し、実際の処理実行時に受け取ったキーと先に送信したキーを比較し、一致すれば処理を実行するが、一致しない場合は処理を中止するといった対策が有効である。この対策は、会員制サイトの会員専用ページにはよく採用されるが、一般用のお問い合わせフォームなどには、あまり採用されるところを見掛けない。今回の事件をきっかけに、一般向けのお問い合わせフォームにも、このような機能を追加すべきであると考える。もしくは、Referer情報を確認する手法もあるが、この手法の場合、利用者が設定でRefererを無効にした場合の対応が課題である。なお、GET禁止はCFRFの対策とはならない(簡易的な攻撃には有効ではあるが)ので注意が必要(攻撃者は、POSTを使用して攻撃を仕掛けようとする可能性もある)
管理ページへのリンクについて
管理ページへのリンクが、Webサイト上のだれでも閲覧できる領域に掲載されていることが多々ある。しかし、このようなリンクの掲載はあまり好ましくない。
まず、1点目に、管理者用のページのURLが一般に公開されてしまうことである。管理者用ページの認証・認可機能がしっかりとしていればそれほど大きな問題ではないのだが、それでもセキュリティー上のリスクは一定程度ある。
次に、閲覧者への配慮の問題である。一般の閲覧者が利用できないようなリンクを用意することは、閲覧者にとって無駄な情報を受領することになる。利用できないようなリンクは削除したほうが、利用者にとって無駄な情報がなくなることにつながる。特に、管理用や会員専用などのリンクで、それとはわかりにくいリンクを張り、それにアクセスした利用者が認証画面をみてがっかりするといった事象は避けるべきであると考える。
3点目に、これは好みの問題と考えられるが、管理ページを見せないことによる、Webサイトの差別化である。管理用のページのリンク等を見せないことにより、一般的なCMSとは違う、特別なCMSを使用しているように見える。
管理ページへのリンクを一般ユーザーが見えるか所に配置することが、よくないことであることを理解していただけたでしょう。利便性のために設けられている管理用のUIは、除去したほうがよいと考えられます。なお、管理者ユーザーでログインしているなど、明らかに管理用UIを利用できるユーザーであるとシステムが認識した場合に限り、管理ページへのリンクを表示するのは、よいアイデアと思います。
刑法豆知識
掲示板の規約を作るにあたって、刑法などの法律を参照した。その際に判明した豆知識をここでお伝えする。
- 現在の刑法は明治40年4月24日に元の条文が作られ、それ以後patchを当て続けて現在に至っている。なお、文語体から口語体に改定されたときも、(実質的には全部を改定にも見えるが)patch方式で行われている。
- 刑法で一番最後に規定されている罪は、信書隠匿である。なお、その次の条文は、これを含む犯罪を親告罪とすることを定めたものであるため、罪とは関係ない。
- 刑法で最も多く挿入されている条番号は、第96条である。第96条の1から第96条の6まである。これらは、第95条と合わせて公務の執行を妨害する罪として規定されている。
- 刑法で章が挿入されている箇所は2箇所ある。1つ目は、第18章の2 支払用カード電磁的記録に関する罪で、2つ目は、第19章の2 不正指令電磁的記録に関する罪である。いずれも条文が**条の2から始まっている。また、いずれも電磁的記録に関する罪となっている。
- 刑法には章ごと削除されている箇所が存在する。第2編の第1章がこれに該当する。もとは、皇室ニ對スル罪が規定されていた。
以上、知っていてもたぶん役に立たない刑法豆知識でした。
FTPSとSFTP
FTPSとSFTPは、名前が非常に似ているが、全く別のプロトコルである。
FTPSは、FTP over SSLの略称で、FTPの制御コネクションのみを、SSLで暗号化するものである。データコネクションは、暗号化されるものとされないものがある(実装により異なる)。
SFTPは、SSH FTPの略称(Secure FTPではない)で、SSH内でFTPと似たコマンド体系のファイル転送アプリケーションを動作させるものである。FTPとは似て非なるもので、コネクションも制御用とデータ用を兼用しているため、開くポートは1つだけ(SSHのポートのみ)でよい。
どちらが良いとは一概には言えないが、一般的な用途にはSFTPのほうが使い勝手は良い。これは、リモートアクセスとファイル転送を、1つのポートを解放するだけで実現可能だからである。
SQLの文字列連結
SQLにおいて、文字列を連結する場合は、標準SQLの場合、"||"演算子を使用すればよい。しかし、これに対応していないDBMSもいくつかある。
たとえば、MySQLの場合、これを使用するとORの演算となってしまうようで、0が返ってきた。代わりに、CONCAT関数を用いればよい。
Microsoft SQL Serverにおいては、"+"演算子(C#やJavaなどで文字列連結を行う際に使用する演算子)を使用するといった情報があり、また、Microsoft Accessでは、"&"演算子(VBで文字列連結を行う際に使用する演算子)を使用するといった情報もある。
なお、Oracleは"||"演算子がきちんと扱える。
メンテナンスによるサービス停止(完了)
このメンテナンスは完了しました。ご協力ありがとうございました。
突然で申し訳ありませんが、メンテナンスのため以下の日時一時サービスを停止します。
急な連絡となったことをお詫び申し上げます。
メンテナンス日時:本日21:46から数分間(ただし、状況によっては長引く可能性もあります)
メンテナンス中は、s.kbachaun.comのすべてのサービスにアクセスできません。
メンテナンス終了後、ログイン状態が解除される可能性がありますので、その際は再度ログインをお願いします。
Webサイトについて
最近、インターネット上のWebサイトを閲覧していると、様々な種類のWebサイトを見かけるが、Webサイトは、主に次のnつの種類に分けられることがわかってきた。そのうち、個人サイトと思われるものが、今回のメインとなるものである。
- 企業や団体のWebサイトのうち、製品紹介や企業・団体の紹介など(ここではあまり取り上げない)
- 個人等が、広告収入を目的として、特定の単語に関する簡単な説明を掲載するWebサイト
- 個人や団体が、有料の教材(いわゆる情報商材など)を販売する目的で運営するWebサイト
- 上記に該当しないWebサイト(個人が趣味等で運営しているものなど)
1番目のWebサイトは、たいてい企業名などが明示されているため、容易に見分けることができる。ただし、企業等が4に該当するWebサイトを運営することもあるので注意が必要である。
ここで本題とするのが、2番から4番のWebサイトである。これらのWebサイトの見分け方は、慣れないと難しいかもしれない。
まず、2番目の広告収入を主目的とするWebサイトだが、これを見分けるのに重要なのは、内容が薄いのに、目立つところに広告(たいていはGoogle Adsを使用)がある点である。また、同じような内容のWebサイトが複数あるといった点、運営者の情報が全く掲載されていない点も、重要なポイントである。この種のサイトは、経験上、ほとんどの場合探している情報が見つからない。そのため、このようなサイトにアクセスすることは、時間の無駄となる。
次に、3番目のWebサイトだが、情報商材を販売するようなサイトには、共通した特徴がある。それは、1ページが非常に長い点、(ない場合もあり得るが)無料レポートと呼ばれる、メールアドレスを入力することで、入力したメールアドレス宛に、無料で、情報を送信するステムが備わっている点がある。非常に長いページで、繰り返し内容や購入者の声を掲載することで、ユーザーの購入心をあおる内容となっている。また、期間限定特典と称して特定日時までに購入すると、特典が付帯するといったことを行っている場合もある。なお、ほとんどの場合、このような特典は常時行っており、期間限定ではない場合が多いと考えられる(なお、このように期間限定と称して常時特典を提供する行為は、景品表示法などに違反する可能性があるので、十分注意されたい)。
このサイトの情報商材の内容は、期待したほどの内容でない場合も多いと考えられ、提供者はインターネット上にある情報を集編(?)して、有料で提供することにより、収益を得ることを考える。
4番については、説明の必要がないが、広告や有料商材の販売がないようなWebサイトは、これに該当すると思ってよい。
ここで、なぜこのようなことを書いたかというと、2,3に該当するWebサイトが非常に増え、必要な情報を得る妨げとなっていることがあげられる。インターネットの普及により、誰でも情報を発信できるようになり、また、インターネットを利用したビジネスも増えてきたが、これはつまり悪徳商法も行いやすくなったことを意味する。ここにあげたWebサイトは悪徳商法とまではいえないが、それに違い可能性もあり、注意が必要である。
ちなみに、この文章はスマートホン上で書いたものです。誤字脱字等は気にしないでください。
また、(スマートホンに関わりないことですが)内容に誤りがある可能性があります。誤りがある場合の、責任はいっさい負いかねます。
ログイン時のSSL状態を維持するように改良しました。
これまで、ログイン・ログアウトを行った際、強制的にSSLモードとなっていました。これにより、CA証明書のインストールを行っていない環境では、警告画面が表示されるようになっていました。
今回、ログイン・ログアウト時に、表示していたページが、SSLモードであるかを識別し、SSLモードでない場合は、httpモードで接続するように改良しました。これにより、CA証明書のインストールを行っていない環境でも、警告画面は表示されません。
なお、この変更は、s.kbachaun.comのサブドメインのみ有効で、それ以外は従来通りとなっております。これは、s.kbachaun.comで使用しているCA証明書は、(ゲーム機等を除く)大半のブラウザでプリインストールされているからです。また、この変更は、httpモードを許可する一部のページのみとなっております。もちろん、ログイン情報はSSLで保護されて送受信されますので、ご安心ください。