セキュリティ

プログラム

PHP + Google Authenticator(TOTP)2段階認証の実装方法

2019年7月、あるスマートフォン決済サービスが不正利用され多くの利用者の方が被害に遭われました。その決済サービスには、2段階認証やそれに準ずるセキュリティ対策を怠ったとして大きな批判が集まりました。高い安全性が求められるサービスでは、パスワード認証だけでは安全を確保することが難しくなっています。そこで今回は、PHP と Google Authenticator を使った2段階認証の実装方法をまと...
その他

Titanセキュリティキーの使い方(パソコンとiPhoneの場合)

Titanセキュリティキーは、Googleがファームウェアを設計した2段階認証用の物理的なセキュリティキーです。モバイル端末用の Bluetoothキー(写真左)と、USBキー(写真右)の2本がセットになっています。Titanセキュリティキーは、オンライン認証技術の FIDO(ファイド)標準に対応していますので、Google系のサービスだけでなく、AWSやTwitterなどのサービスの2段階認証の...
2019.09.22
Linux

5分でできる!SSH + Google Authenticator 二段階認証設定(CentOS7)

ここ最近、在宅勤務やサテライトオフィスで仕事をする方が増えたためか、サーバーへの SSH接続を IPアドレスで制限することができないケースがよくあります。しかし、特に重要なサーバーの場合は、パスワード認証だけではちょっと心配ですね。そこで今回は、Google Authenticator を使って SSHログインに二段階認証(「二要素認証」とも言います)を導入する手順をまとめてみました。
2019.07.24
PHP

PHP のセッションを使ったログイン認証はなぜ安全なのか?

PHP のセッションを使ったログイン認証後の処理は、上のように簡単なコードで実装できてしまいます。利用者の大切な情報を守るための、とても重要な処理なのですが、こんな簡単なコードで大丈夫なのかと不安になるのは私だけでしょうか(^^;) そこで今回は、PHP のセッションを使ったログイン認証がなぜ安全なのかを、PHP のセッションの仕組みをふまえて検証してみました。
2019.07.10
クラウド

大手Webサービス10社のパスワードポリシーとリセット方法を調べてみた

つい先日、パスワードポリシーのチェックやパスワードのリセット方法など、サービス提供者として認証システムの仕様を検討する機会がありました。普段多くの Webサービスのお世話になっているのですが、認証にかかわる部分はあまり気にしたことがありませんでした。そこで今回は、パスワードに関するガイドラインと、大手Webサービス10社の実際のパスワードポリシーのチェックとリセット方法を調べてみました。
2019.07.09
その他

iPhoneでスクリーンショットが撮れない時はプロファイルを疑え!

つい最近 iPhone のスクリーンショットが撮れなくなってしまい、iPhone を再起動したり、Assistive Touch 機能でスクリーンショットを撮ってみたのですが、まったくできなくなってしまいました。しかもなぜかペアリングしている AppleWatch のスクリーンショットまでも撮れません、、あきらめかけていたのですが、ふとしたことから原因がわかり解決しました。かなり珍しいケースだと思...
2019.04.15
Linux

TLS1.3正式対応!OpenSSL 1.1.1 (LTS) インストールメモ

2018年9月11日、OpenSSL1.1.1 がリリース されました。このバージョンは LTS(長期サポート)バージョンのため、少なくとも5年間はサポートされるそうです。また、なんといっても OpenSSL1.1.1 の注目は先月発行された RFC8446(TLS1.3の標準仕様)に対応したことです。いよいよ TLS1.3 の普及が始まりそうですね。そこで今回は、CentOS7.5 (1804)...
2019.02.06
クラウド

Apache での TLS1.0 と TLS1.1 の無効化と確認方法メモ

Yahoo! Japan が、2018年6月1日から TLS1.0 と TLS1.1 のサポートを順次終了して TLS1.2 のみのサポートに切り替えています。ここ数年、各社ウェブサービスでも TLS1.0 と TLS1.1 を無効化する動きもあり、今後 SSL/TLS のプロトコルは TLS1.2 以上に設定することが標準になるでしょう。そこで今回は、Apache httpd サーバーで TL...
2019.02.05
Linux

OpenSCAP(脆弱性スキャン)のインストールと使い方メモ

OpenSCAP(オープンエスキャップ)は、システムの脆弱性や問題のある設定をチェックしてくれるオープンソースのツールです。アメリカ国立標準技術研究所(NIST)が維持管理している SCAP 1.2(情報セキュリティ対策の自動化と標準化を実現する技術仕様)の認定を取得しています。OpenSCAP を使えば、サーバーの脆弱性管理を自動化することもできるそうです。そこで今回は、CentOS7 に Op...
その他

macOS High Sierra の root(ルート)ユーザーにパスワードを設定する方法

macOS High Sierra 10.13.1 に root(ルート)ユーザーでパスワード無しでログインできるとんでもない不具合が発見されました。手元の macOS 10.13.1 で実際にためしてみたら、しっかり root パスワード無しでログインできます(^^;) とりあえずの対策として root ユーザーにパスワードを設定する方法をメモしておきました。
2017.12.01
Linux

5分でわかる!プライベート認証局(CA)の構築とサーバー証明書の発行方法

プライベート認証局(「プライベートCA」や「オレオレ認証局」とも呼ばれます)は、会社など限られた組織内でのみ運用する認証局です。WEBブラウザにプライベート認証局のルート証明書をインストールする手間がありますが、自由に証明書を発行できるというメリットがあります。そこで今回は、CentOS7.4にプライベート認証局を構築してサーバー証明書を発行する手順をまとめてみました。
2017.11.09
クラウド

Google App Engine 無料の自動更新 SSL 証明書の設定メモ

2017年9月14日 Google App Engine(GAE)にマネージドSSL証明書(β版)という仕組みが導入されました。この仕組みにより、GAE にカスタムドメイン(独自ドメインとも言います)を設定すると、無料の SSL証明書(Let's Encrypt)を GAE が自動的に取得と設定をしてくれて、しかも証明書更新の面倒までみてくれるのです! さっそく、Google App Engine...
2017.09.17
Linux

安全な SSL/TLS 設定にするための10のポイント(Apache httpd 2.4)

Apache httpd をパッケージやソースからインストールしたときに配置される初期状態の SSL/TLS 設定ファイルでは、古いブラウザも含め幅広いクライアントに対応できるように SSL/TLS の設定をしてくれています。しかし、ここ近年 SSL/TLS に対する攻撃手法が多く見つかっているため、ある程度セキュリティに配慮した SSL/TLS の設定が求められています。そこで今回は、Apach...
2018.12.30
Linux

Apache 2.4 の DoS攻撃対策 mod_dosdetector 設定メモ

mod_dosdetector は、DoS攻撃を検出することができる Apache httpd のモジュールです。mod_dosdetector で検出したDoS攻撃のアクセスを mod_rewrite でエラーページなどにリダイレクトさせることで、DoS攻撃対策をすることもできます。そこで今回は、mod_dosdetector のインストール方法と設定手順をまとめてみました。
クラウド

Chrome「保護されていない通信」と Firefox「鍵マークの赤斜線」はなにが危険なのか?

2017年1月下旬にアップデートされた「Google Chrome 56(グーグル クローム)」と「Mozilla Firefox 51(モジラ ファイアフォックス)」から、安全な通信をできないWEBサイトのページにパスワードの入力フォームがあると、Chrome はアドレスバーに「保護されていない通信」と表示し、Firefox は「赤斜線の入った鍵マーク」を表示して、安全な通信でないことを警告する...
クラウド

Amazon Inspector で CentOS7 の脆弱性診断をやってみた

Amazon Inspector は、EC2インタンスの脆弱性診断を簡単に行うことができる、自動化されたセキュリティ評価サービスです。使い方もいたってシンプルで、AWSエージェントをインストールして、診断対象のEC2をタグで指定するだけで、脆弱性診断ができてしまいます。そこで今回は、Amazon Inspector で CentOS7.3 (1611) の脆弱性診断を行ってみましたので、設定手順な...
2017.01.08
クラウド

WordPress 認証画面を IPアドレスで制限する方法(Apache)

先日、IPAセキュリティセンターから「CMSを用いたウェブサイトにおける情報セキュリティ対策のポイント」が公開されました。WordPress や MovableType など、CMS のセキュリティ対策ガイドラインとして活用できそうですね。このガイドラインの中で「CMS認証画面への攻撃」の対策として、認証画面へのアクセスを、許可されたIPアドレスのみに制限することがあげられていました。そこで今回は...
2017.04.27
クラウド

これだけはやっておこう!WordPress のセキュリティ対策3選

WordPress は多くのWEBサイトで使われているため、サイバー攻撃の標的とされる可能性が高いと言われています。これは WordPress に問題があるのでは無く、シェアが高いがゆえに攻撃を効率的に行えることが一つの理由です。そこで今回は、最低限これだけはやっておきたい WordPress のセキュリティ対策を3つご紹介したいと思います。
2019.02.06
Linux

コマンド1発!ssh-copy-id でSSH公開鍵を登録

ssh-copy-id コマンドは、クライアントPCで生成したSSH公開鍵を、SSH接続先のサーバーに、たった1行のコマンドで登録できるとても便利なツールです。このコマンドは1999年頃から存在しているようですが、つい最近まで私は ssh-copy-id コマンドを知りませんでした(^^;) そこで今回は、ssh-copy-id コマンドの使い方をまとめてみました。
Linux

Ansible でSSHのセキュリティ設定

UNIX系のサーバーでは、クライアントのリモート通信に SSH を使うことが標準となっています。すなわち、公開サーバーで SSHサーバー(sshd) が動作していることは容易に推測できるため、攻撃の格好の的になることはどうしても避けられません。そこで今回は、 SSHのセキュリティの3点セット「パスワード認証の無効化」「rootユーザでのログイン禁止」「sshdの待受ポートの変更」を、Ansible...
2016.08.04
Linux

Tripwire で Web公開用ディレクトリの変更をチェックする

Tripwireは、指定したファイルやディレクトリ等の変更を検知して、レポートに出力したり、管理者にメールで通知してくれるソフトウェアです。侵入者により、不正な改ざんが行われた事を検知することが Tripwire の目的であるため、ホスト型IDS(侵入検知システム)とも呼ばれています。そこで今回は、Tripwire を使って、Web公開用ディレクトリの変更をチェックしてみたいと思います。
2016.09.08
Linux

これだけはやっておこう Linuxサーバのセキュリティ対策5つ

ここ近年、WEBサービスへのサイバー攻撃による、個人情報などの情報漏洩事件が後を絶ちません。攻撃の多くは、アプリケーションやサーバの脆弱性を利用したものです。当然セキュリティ対策が必要になるのですが、対策方法は山のようにあり、どこから手をつけたらよいか迷ってしまいますね。そこで今回は、WEBサービスでよく使われている Linuxサーバのセキュリティ対策をまとめてみました。
2016.06.09
Linux

Apache を ATS(App Transport Security)に対応する方法

ATS(App Transport Security)は、iOS 9.0 や OS X 10.11以上で導入された、セキュリティ機能です。この機能により、アプリとWEBサービス間の接続のプライバシーと、データの整合性を向上させることができます。ATS が有効なアプリは HTTP を使った通信ができないため、WEBサーバには HTTPS が必須になります。加えて、TLSのバージョンや、暗号化スイート...
2016.03.26
Zabbix

Zabbix 3.0 通信の暗号化設定(RSA証明書ベースの暗号化)

Zabbix3.0 では、Zabbixモジュール間(Zabbixサーバー、Zabbixプロキシ、Zabbixエージェント)で行われる通信を暗号化できるようになりました。これまでは、インターネットを通じてサーバを監視する場合は、別途VPNやSSHトンネリングを使って、通信を暗号化する(又はあきらめる(^^;))必要がありましたが、Zabbix3.0には、証明書や事前共有鍵を使った、通信の暗号化機能が...
2016.02.28
クラウド

Gmail 非暗号化接続メールの警告表示をされないようにする方法

2016年2月9日、Google のメールサービス「Gmail」が、SSL/TLS暗号化に対応していないメールサーバと、メールを送受信した際に「開いた赤い錠」のアイコンを表示して、セキュリティ警告を表示するようなりました。自分が管理しているメールサーバで、この警告が表示されてしまうと、ちょっと困りますね。そこで今回は、Postfixで非暗号化接続メールの警告表示をされないようにする方法をまとめてみ...
2017.08.01
プログラム

入力チェックコードを PHP と JavaScript で共通化する方法

フォームに入力された値に行う、入力チェックは(バリデーションチェックとも言うらしいです)大きく分けて、JavaScript で行うクライアント側チェックと、PHP などで行うサーバ側チェックの2つがあります。当然両方で入力チェックを行うことが望ましいのですが、同じようなコードを、クライアント側とサーバ側で書かなければなりません。そこで今回は、入力チェックコードを PHP と JavaScript ...
2016.03.21
Linux

Git リポジトリサーバの構築と、セキュリティを考慮したアカウント管理方法

Git はファイルの変更履歴を管理するための、バージョン管理システムです。ソフトウェア開発チームなど、複数の人で Git を使ってソースコードを共有するには、Git リモートリポジトリサーバが必要になります。リポジトリサーバのアカウントの管理は、「git」というユーザを作成し、このユーザの鍵登録用ファイル(authorized_keys)に、各クライアントの SSH公開鍵を登録/破棄することで実現...
2016.02.11
タイトルとURLをコピーしました