カテゴリー : セキュリティ

ブログ内検索
 

ApacheでLet's Encryptの自動更新する為にCertBotを導入した

Let's Encrypt - Free SSL/TLS Certificates 当サイトをHTTP/2対応して表示の爆速化してみたの記事で Apacheで運営しているサイトでLet's Encryptを利用してhttpsからはじまるURLでサイトを表示できるようにしている。 Let's Encryptは3ヶ月毎に更新のため、 Let's Encryptのインストールの際、cronで期限が切れそうになったら自動更新するコマンドを登録していたけれども、 先日、期限切れを伝えるメ...

Read More…

 

SOY Inquiryで同一IPアドレスからの連続した問い合わせをブロックする

SOY Inquiryで悪質なお問い合わせをブロックする機能を追加しましたの記事で、 10秒に一回のペースで内容が空のお問い合わせが届き、 データベースとメールボックスの容量が空になりかけた ということがあった。 この問題に対して、 メールアドレスを必須にしていても空だった場合や 特定のメールアドレスのドメインをブロックすることで 迷惑なお問い合わせを防ぐことが出来た。 上記の記事でも記載した通り、 この対処ではまだツメが甘いわけで、 更なる対応をしてみた。 そ...

Read More…

 

SOY Shopでクレジットマスターの対策を強化しました

クレジットカードの番号を盗む方法として最近聞くのが、 クレジットカード支払いが可能なネットショップで、 様々なカード情報を試してみるというブルードフォースアタック(総当り攻撃)のカード版のような話がある。 SOY CMSで総当たり攻撃に対応してみた クレジットマスター - Wikipedia ネットショップを設置したサーバはもちろん、 クレジットカード代行会社のサーバの負担は大きいだけでなく、 オーソリ毎に使用料が発生する代行会社のサービスを利用している場合、 ...

Read More…

 

SOY ShopのPAY.JPクレジットカード支払いモジュールでカード情報非通過化対応をしました

PAY.JP - クレジットカード決済サービス 本題に入る前にPAY.JPクレジット決済モジュールですが、 詳しい説明が下記の記事に記載してありますので今回の記事を読む前に事前にご確認ください。 SOY ShopでPAY.JPクレジットカード支払いモジュールを作成しました SOY ShopでPAY.JP定期課金モジュールを作成しました 上記を踏まえた上で本題に入ります。 2018年8月1日14:00から加盟店(SOY Shopをインストールして、PAY.JPクレジット支払いモ...

Read More…

 

Apache上で利用しているLet's Encryptの失効

先日、当サイトのサーバを引っ越した。 引っ越した理由はバックアップスクリプトの実行時に使用するメモリが上限に達しつつあったため、 より大きなメモリを使用することができるVPSサーバを使用する必要が出てきた。 SOY CMSのサイトのバックアップをDropboxで行う 現在使用しているさくらのVPSでは、スケールアップというサービスがあって、実際はサーバの引っ越しせずとも対処はできたのだけれども、 スケールアップを行う – さくらのVPSニュース それを知らずにサーバを新規で借...

Read More…

 

さくらインターネットの共有サーバでLet's Encryptを利用して常時SSL化してみた

さくらインターネットから共有サーバでLet's Encryptが使用できるようになったという旨のメールが届いたので、 スタンダードプランで運営しているサイトで早速試してみた。 今回の文章を読む前に、 Let's Encryptと常時SSL化の記事のリンクを載せておきます。 Goで運営しているサイトでLet's Encryptを利用してみた 当サイトをHTTP/2対応して表示の爆速化してみた 常時SSL化はSEO上効果はあるか? それでは早速、Let's Encryptを設定...

Read More…

 

Socket.IOのチャットアプリでXSS対策

Socket.IOで個別チャットを作りたい後編 今までSocket.IOでチャットアプリを作ってきたけれども、 誰かが気軽に入力できて、他のブラウザで誰かから送信されたメッセージを表示できる。 送信時にHTMLタグを入れたらどうなるのだろう? そこらへんはSocket.IOはどういう対応になるのだろう? と気になったので、 strongで囲った文字列を投稿してみた。 ※strongで囲まれた文字列は強調文字(太文字)で表示される。 結果は太文字で表...

Read More…

 

PHPの古いバージョンでの不具合報告についての対応

公式のパッケージの更新が再開して、 それと連動して当サイトのお問い合わせが、多い週で週5回と格段に増え、 開発しやすい状態となりました。 お問い合わせの中で時々不具合の報告も入り、 不具合の報告自体は大変ありがたいのですが、 PHPのバージョンが低い環境での不具合の報告も多々あります。 PHPのバージョンが低いというのはPHPのセキュリティのサポートが終了しており、 重大な脆弱性が発見されても一切修正されないバージョンを指します。 ※この記事の投稿時点では、PHP5.5系...

Read More…

 

サイトを公開した直後にWordPressの管理画面ログインがあるか探られた

先日、公開ページを持たない管理画面側だけのサイトを公開したのよ。 ※Web上で使用できる業務アプリです。 SSLの設定の都合上、安いドメインを取得して設定した。 サイトを公開してから毎朝エラーログを確認していたんだけど、 突然エラーが急増した。 エラー内容を確認してみたら、 [Mon Apr 17 03:01:29.554689 2017] [:error] [pid 3538] [client 127.0.0.1:12345] script '/home/*********...

Read More…

 

人はネットワーク内から新しい信用のあり方を発見した

人は価値の象徴として鉱物から金を取り出した お金、すなわち貨幣の信用についての話題が出てきたら、 必ずといって良い程触れておきたいのが もちろんそう! ビットコイン! というわけで、 NTT出版のビットコインとブロックチェーンを何度も読んでみた。 これはコンピュータ関連に触れている人なら有名なオライリーという海外の出版社から発売されたMastering Bitcoinの翻訳版。 何故か、オライリーではなく、NTT出版から発売されている。 なに...

Read More…

 

総当り攻撃を仕掛けられたので、接続元を調べてみたら

どこのサイトとはここでは言いませんが、 知人のサイトが総当り攻撃を受けていた。 管理画面のURLは下記の方法を用いて、 わかりにくいものにしたにも関わらず、 ログイン画面を表示出来た時点でプロの仕業か? SOY CMSであれば、管理画面のURLを特定したい SOY CMSでは総当り攻撃らしきアクセスがあった場合、 SOY CMSで総当たり攻撃に対応してみた こんな感じで接続元のIPアドレスが記録されます。 接続元IPアドレスが身内でないか調べていたところ...

Read More…

 

SOY2DAOでプリペアードステートメントを利用する

前回、SOY2DAOクラスで、SQL構文をそのまま実行して、 一つの配列に結果がすべて入ったものを返すという内容を記載しました。 SOY CMS/Shopのモジュール内でSQLを実行する SQL構文をそのまま実行できることが分かれば、 次に知りたいのはプリペアードステートメントだよね。 プリペアードステートメントといえば、 例えば名前で検索するフォームを設置して、 入力した名前を元にSQL構文を作成して実行する時に用いられるもので、 これをしないと、SQLインジェクション...

Read More…

 

IP偽装をしてみた

少し前に、 接続元IPアドレスを知られたくない時にすることで ブラウザからどこかのサイトにアクセスする時、自身のIPアドレス(住所みたいなもの)を送ることを記載した。 IPアドレスで接続元の情報がどれだけわかるか調べてみたで、 実際にサイトにアクセスした時、運営側はどれくらいの情報がわかるのか?を調べてみた。 固定の回線であれば、地図情報である程度まで絞ることができ、 WiFiであれば全然違うところを指していたけど、 プロバイダ情報は常に知られているので、おそらく足が付く。...

Read More…

 

IPアドレスで接続元の情報がどれだけわかるか調べてみた

接続元IPアドレスを知られたくない時にすることで、 SNSのアカウントを乗っ取ることでどこから誰が接続しているかを隠すことが出来た。 そもそも、 接続元の情報ってどこまでわかるの?ということで、 What Is My IP Address? IP Address Tools and MoreというWebサービスでサイトにアクセスがあったIPアドレスを調べてみた。 ※接続があったと記載しているけど、自身でサイトにアクセスしています。 結果は、 どのプロバイダと契約...

Read More…

 

接続元IPアドレスを知られたくない時にすること

インターネット内に流れているパケットを傍受してみるでネットワーク内でやりとりされているパケットを傍受することが出来た。 傍受する際に利用したソフトをWiresharkという。 このWiresharkだけど、 データを取得した際、 こんな感じで、 SourceとDestinationにIPアドレスという住所みたいなものがやり取りの都度表示されている。 Sourceは この画面を表示したり、入力して送信したりしている、 いわゆる閲覧者側の位...

Read More…

 

インターネット内に流れているパケットを傍受してみる

Webサイトのフォームではhttpsにしないと大変なことになるよ という話をする機会が連日続いたので、 なぜ大変か?を実際に見てもらうことにした。 ※httpsは暗号化して通信する仕組み。httpの通信は暗号化していない。 SOY CMSの常時SSL化で対応したこと ちなみに今回の記事は Ohmshaの基礎からわかるTCP/IP ネットワークコンピューティング入門を参考にしています。 はじめにネットワークを監視するために Wireshark · Go ...

Read More…

 

インストーラーで再インストール後にサイトを復元

SOY CMSでインストーラを削除せずにいたらどうなるか?で サーバに残っているインストーラを呼び出して再インストールしたら出来てしまった。 再インストールしたCMSにログインしてみると、 当然のことながら、サイトは存在していないが、 サイトを簡単に復元する方法があるので復元してみる。 インストーラで再インストールする時、 インストール先ディレクトリを_cms_の様な感じで、 前の管理画面URLとぶつからない様な値に変更する。 変更後にイン...

Read More…

 

SOY CMSでインストーラを削除せずにいたらどうなるか?

SOY CMSのフォーラムにインストーラを利用した方はインストール後にインストーラを削除してくださいと投稿されていたので、 インストーラを削除しなかった場合はどうなるのかを調べてみた。 SOY CMS フォーラム • トピックの表示 - インストーラー削除のお願い とりあえず、MySQL版のインストーラをダウンロードしてきて試す。 インストーラは /ルートディレクトリ/cms_installer となるように配置し、 ブラウザで、http://example.com/c...

Read More…

 

SOY CMS/ShopでPHPモジュールに使用の制限を設けました

CMSに不正にログインした後、何をする?の最後で、 SOY ShopのテンプレートエディタとSOY CMS/Shop両方のPHPモジュールで攻撃を仕掛けることが可能という内容を記載しました。 これは由々しい問題なので、 SOY ShopのテンプレートエディタにはSOY CMSのPHP許可モードを反映させ、 SOY CMSのPHPの記述を許可にしなければ、PHPは実行されない様に変更しました。 他にPHPモジュールも特別な設定をしなければ、使用出来ないようにしました。 ...

Read More…

 

CMSに不正にログインした後、何をする?

SOY CMSに総当り攻撃を仕掛けてみる。その4 前回までで総当り攻撃でログイン用のアカウントを特定することが出来た。 ログインできる様になったら何をする? これから記載することは世界中で使われているWから始まるなんちゃらプレスというCMSで起こったことをSOY CMSで再現してみる。 対象サイトにログインできるようになったら何をする? 顧客情報を除いて、顧客のメールアドレスを盗む? それとも公開しているサイトの改変してみる? いやいや、 もっ...

Read More…

 

SOY CMSに総当り攻撃を仕掛けてみる。その4

SOY CMSに総当り攻撃を仕掛けてみる。その3では、 コード内にパスワードリストを作って、そのリストに従ってログインのチェックを行った。 これだと、 試したいものが膨大になるとその時点でコードの可読性が落ちる。 ということで、 IDとパスワードはCSVファイルにまとめて、 総当たり攻撃を実行した時にCSVファイルを読み込んでログインのチェックを行う という処理に変更してみる。 ※CSVファイルのエンコードはUTF-8での話です 前回のコードに太文字のコ...

Read More…

 

SOY CMSに総当り攻撃を仕掛けてみる。その3

SOY CMSに総当り攻撃を仕掛けてみる。その2 前回、トークンがあろうが、シェルからSOY CMSのログインを試みる様にコードを改変した。 今回は、簡単な辞書を用意して繰り返し実行してみる。 ※試すアカウントのIDはadminで固定で話を進める。 まずはパスワードの配列を用意する。 pws := []string{ "password", "aaaaaaaa", "bbbbbbbb", "cccccccc", "hogehuga", "******...

Read More…

 

SOY ShopにEC CUBE2.4系のログインチェックを導入しました

EC CUBEからSOY Shopにデータベースを引っ越す EC CUBEインポートプラグインで下記の様なご要望がありました。 EC CUBEのマイページで登録した顧客のパスワードを、 SOY Shopに移行した後も利用したい。 会員制サイトとなると、 パスワードの変更通知を送っただけで離脱されるお客様が多いのではないか? という懸念がありました。 パスワードというものは、 データベースを悪意のある人に見られても良いように平文では保管しない という運営のルールみたい...

Read More…

 

SOY CMSに総当り攻撃を仕掛けてみる。その2

SOY CMSに総当り攻撃を仕掛けてみる。その1 前回、Go言語でSOY CMSに対して総当り攻撃の初期段階のコードを書いてみた。 ※初期段階:ログインを一度試すだけのコード しかし、 ログインフォームにトークンのチェックを実装したことにより、 あっけなく無効化した。 ということで、 今回は前回実装したトークンのチェックを通過するように書いてみる。 まずトークンのチェックは何かだけど、 SOY CMSであれば、管理画面のURLを特定したい ...

Read More…

 

SOY CMSに総当り攻撃を仕掛けてみる。その1

SOY CMSで総当たり攻撃に対応してみた 以前、SOY CMSに総当たり攻撃を受けた場合は通知を送信するという機能を実装しましたが、 そもそも総当たり攻撃はどうやってやるの? ということで、書いてみることにする。 手順としては、 ・IDとパスワードの対が大量にある辞書データを用意する(ここは省略) ・何度もログインのPOSTを行うプログラムを用意する ・辞書データを元に何度もログインのPOSTを送信し続ける というわけで、 POSTのプログラムを用意すれば対応できると...

Read More…

 

ブログで絵文字の機能は使わない方が良いかもしれない

SOY CMSの記事投稿画面で絵文字を使いたい SOY CMSのブログで投稿されたコメントを編集したい 先日、SOY CMSで絵文字を使用する方法を記載した。 ふとね、 絵文字の画像のパスってどうなっているんだろう?って気になったので、 ソースコードを見てみたのよ。 そうしたら、 img src="ドメイン/cms/soycms/js/tinymce/plugins/emoticons/img/smiley-cool.gif" alt="cool" こうだった...

Read More…

 

SSHの鍵認証でログイン設定

SSHで外部のネットワークからログインできるようにするで外部のネットワークからログインできる様にした。 外部からのログインを可能にするのは結構緊張する。 できる限りアクセスできる穴みたいなものを封じておきたい。 ポート番号を推測しにくいものにして、 ファイヤウォールの設定もしたけど、 総当り攻撃をされたらいつかはログインされてしまう。 サイバー攻撃が何と多いことか SOY CMSで総当たり攻撃に対応してみた 更には、 sshでログインする際に入力するパスワードは暗号...

Read More…

 

SSHで外部のネットワークからログインできるようにする

使わなくなったパソコンにSambaを入れて、ファイル共有用のサーバを構築してみた 先日、Sambaを入れたマシンですが、 家から少し離れた場所にあるので、 ふと操作したいなと思っても、 マシンの場所に行かなければ操作できないといろいろと面倒だ。 脆弱性が報告された場合、 関係ないといえど、修正バッチはすぐに対応しておきたいのが心情というものだし… ということで、 遠隔操作できるようにSSHを入れたので、 今回はその時行った操作のメモを残す。 Secure Shel...

Read More…

 

Goで運営しているサイトでLet's Encryptを利用してみた

さくらのVPSにGoの環境を構築してみた 先日、さくらのVPSを借りて、Goで書いたWebアプリを公開してみたのですが、 Goといえば、httpsから始まるURLを開くだけでHTTP/2になるという超素敵な仕様があり、 (GoでHTTP/2が標準実装になったのはバージョン1.6からです) HTTP/2 - Wikipedia 是非ともHTTP/2で運営してみたいということで、 ちょうど先日正式公開となったMozillaのLet's Encryptを利用してみた。 ...

Read More…

 

さくらのVPS + Apache2.4のサーバでSSL対応してみた

さくらのVPSにApache2.4をインストールしたサイトをSSL対応したので、 その時の作業をメモとして残す。 さくらのVPSでSOY CMSを動かした時のメモの続き 今回はhttp://example.comというサイトで、 京都市内にあるという仮定で話を進めます。 ちなみにApacheのバージョンは2.4.7 CSRを使用して認証局から証明証を発行してもらう場合です。 Apache HTTP Server - Wikipedia 予備知識として、 CSRとは、...

Read More…

 

SOY CMSの常時SSL化で対応したこと

最近、Googleが常時SSL化を奨めているでしょ。 httpsをランキングシグナルに使用すると明示しているので、このサイトも常時SSLにしてみた。 Google ウェブマスター向け公式ブログ: HTTPS をランキング シグナルに使用します と言うわけで、 このsaitodev.co、 さくらインターネットの共有サーバとSOY CMSで常時SSL化をする為に行ったことを書きます。 因みに常時SSL化とは、 どのページを開いても、 URLがhttpsで始まるこ...

Read More…

 

SOY CMSで総当たり攻撃に対応してみた

サイバー攻撃の中で有名なものとして、 総当たり攻撃(ブルートフォースアタック)というものがあり、 すごくシンプルに言うと SOY CMSであれば、管理画面のURLを特定したい 攻撃したいサイトのログイン画面を発見したら、 思いつく限りIDとパスワードの組み合わせを試してみる攻撃のことを言う。 サイバー攻撃が何と多いことか SOY CMSに総当り攻撃を仕掛けてみる。その4 IDは特定されにくいものを用意し、 パスワードが半端なく強固だとして、 突破されること...

Read More…

 

そもそもSOY CMSを使っていると特定されないために

SOY CMSであれば、管理画面のURLを特定したいでSOY CMSの管理画面のURLは分からない様にできた。 でも、 使用しているCMSがSOY CMSとわかった時点で、 攻撃者は管理画面のURLを躍起になって探す可能性がある。 その間に意味不明なアクセスが多発するかもしれない。 それってDoS攻撃っぽいものまで発展する可能性すらある。 DoS攻撃 - Wikipedia というわけで、 サイトがSOY CMSで運営されていることを隠す方法についてを記載します。 ...

Read More…

 

SOY CMSであれば、管理画面のURLを特定したい

運営しているサイトがSOY CMSであるか調べてみるで、 表示しているサイトがSOY CMSで運営しているか調べる方法を記載した。 SOY CMSで運営していることが分かった場合、 管理画面のURLを探って、侵入(ログイン)を試みたいと思うよね? ということで、 今回は管理画面のURLに付いて記載します。 SOY CMSのログインページというのがこれ。 URLの規則は、 http://ドメイン/cms/admin/ もしくは https://ド...

Read More…

 

運営しているサイトがSOY CMSであるか調べてみる

サイバー攻撃が何と多いことかで あるサイトが何のCMSで運営されているか知る方法としてWordPressを例に記載した。 前から 使用しているCMSがSOY CMSだと特定する手段ってありませんか? ということをよく聞かれる。 SOY CMSはHTMLそのままで運営することが可能という仕様のため、 ページのソースを表示するで暴くことはできません。 よくやることとして、 WordPressで構築したサイトをそのままSOY CMSへ移行することもあるため、 ページのソー...

Read More…

 

サイバー攻撃の前にパスワードの管理を

サイバー攻撃が何と多いことかに続いて、 パスワードの管理周りであったことを書こうかと。 先日のこと、 Facebookでつながっている人からメッセージが届いた。 そのメッセージはブランドバックの広告だった。 おいおい… Facebookのアカウントが乗っ取られてるじゃないか… ということで、 メッセージを送ってきた人に唐突にこう聞いてみた。 最近、GMailが乗っ取られたりしていませんか?と GMailと言えば、 世界的なIT企業のGoogleさんが...

Read More…

 

サイバー攻撃が何と多いことか

昨年秋頃、 知人からとある相談を受けた。 知人の知人のWebサイトが乗っ取られて、いろんなサイトに攻撃していると 知人の知人のサイトの管理画面のURLを教えていただき、ログインしてみた。 知人の知人のWebサイトはWordPressというCMSで運営していた。 管理画面を開いてみたけど、特に変わりはなかった。 しかしだよ、 画像をアップロードするフォルダにfunction.phpというファイルが生成されており、 このファイルを調べてみたら、いろんなサイトに悪質な攻...

Read More…

 

Goで一方向ハッシュ関数によるパスワードの暗号化を書いてみた

普段の帳簿周りを自動化したいから、 自分ら用にちょっとしたアプリを作ることにした。 せっかくの機会なので、 Goで一方向ハッシュ関数によるパスワードの暗号化を書いてみたので、勉強がてらメモを残しておく。 Go (プログラミング言語) - Wikipedia 暗号学的ハッシュ関数 - Wikipedia 一方向ハッシュ関数とは、 アプリでアカウント登録の際にパスワードの設定をしてもらうでしょ。 それをそのままサービス側のデータベースに保存すると危ないので、 入力したパスワ...

Read More…