セキュリティ

プログラム

VSCode + SFTP の安全な使い方

VSCode(Visual Studio Code)の SFTP 機能拡張をインストールすると、その名の通り SSH File Transfer Protocol で、ローカルにあるファイルやディレクトリをサーバーにアップロードすることができます。便利な機能拡張なのですが、認証情報をプロジェクトフォルダ配下に保存するため、意図せず認証情報がサーバーにアップロードされ、場合によっては公開されてしまう...
Linux

プライベート認証局:設定の意味を理解して構築する手順

プライベート認証局(「プライベートCA」や「オレオレ認証局」とも呼ばれます)は、会社など限られた組織内でのみ運用する認証局です。認証局の構築用スクリプトでプライベート認証局を構築運用していたのですが、トラブルが発生した時に手も足も出ず苦労したことがありました。そこで今回はOpenSSLを使って設定の意味を理解しながらプライベート認証局を構築する手順をまとめてみました。 OpenSSLのバージョン ...
Linux

OpenSSLの設定ファイル(openssl.cnf)の使い方メモ

つい先日 OpenSSL の設定ファイル(openssl.cnf)を作成する機会があったのですが、設定ファイルの書き方やオプションの指定方法などがさっぱり分からず苦労しました、、、秘密鍵の作成などツールとして OpenSSL を使っている方は多いかと思いますが、OpenSSL の設定ファイルの使い方についてはあまり知られていないのではないでしょうか? そこで今回は、OpenSSL の設定ファイルに...
Linux

Apache httpd の SAML 認証設定メモ(mod_auth_mellon + Azure AD)

mod_auth_mellon は、Apache httpd の SAML(サムル)認証モジュールです。mod_auth_mellon を使えば、Apache httpd で提供している Webサービスなどを、SAML 2.0 に対応している IdP(*1) と簡単に連携することができますので、強固な認証システムを手軽に実装できるのが魅力です。そこで今回は、Apache httpd の mod_a...
ブロックチェーン

MetaMask(メタマスク)の安全な使い方

MetaMask(メタマスク)は、イーサリアム系のブロックチェーンに対応したソフトウェアウォレットです。MetaMask は、イーサリアムなどの暗号資産の購入や送受信などの管理ができることはもちろんですが、ブロックチェーンを活用したweb3系のサービスを利用するための定番ツールにもなっています。しかし、MetaMask には暗号資産の所有を証明するための秘密鍵が保存されているため、セキュリティに注...
クラウド

Dropbox の導入時にするべきたった1つのこと

Dropbox(ドロップボックス)など、オンラインストレージの不適切なアクセス権限の設定による、個人情報などの情報漏洩事故が後を絶ちません。しかし、会社のような組織で Dropbox を導入する時に、たった1つの設定をしておけば、不適切なアクセス権限の設定による情報漏洩を未然に防ぐことができます。そこで今回は、Dropbox の不適切なアクセス権限の設定を防止するための設定方法をまとめてみました。
クラウド

Box の導入時にするべきたった1つのこと

Box(ボックス)など、オンラインストレージの不適切なアクセス権限の設定による、個人情報などの情報漏洩事故が後を絶ちません。しかし、会社のような組織で Box を導入する時に、たった1つの設定をしておけば、不適切なアクセス権限の設定による情報漏洩を未然に防ぐことができます。そこで今回は、Box の不適切なアクセス権限の設定を防止するための設定方法をまとめてみました。
クラウド

Microsoft 365 の導入時にするべきたった1つのこと

OneDrive(ワンドライブ)など、オンラインストレージの不適切なアクセス権限の設定による、個人情報などの情報漏洩事故が後を絶ちません。しかし、会社のような組織で Microsoft 365(この中にOneDriveも含まれています)を導入する時に、たった1つの設定をしておけば、不適切なアクセス権限の設定による情報漏洩を未然に防ぐことができます。そこで今回は、Microsoft 365 の不適切...
クラウド

Google Workspace の導入時にするべきたった1つのこと

Googleドライブなど、オンラインストレージの不適切なアクセス権限の設定による、個人情報などの情報漏洩事故が後を絶ちません。しかし、会社のような組織で Google Workspace(この中にGoogleドライブも含まれています)を導入する時に、たった1つの設定をしておけば、不適切なアクセス権限の設定による情報漏洩を未然に防ぐことができます。そこで今回は、Google Workspace の不...
クラウド

署名付きURLや非公開URLで情報を守ることは出来ない話

非公開URL(「署名付きURL」とも呼ばれます)は、オンラインストレージなどで他の人とファイルを共有するために便利な仕組みです。しかし、非公開URLでは共有されたファイルの情報漏洩を防ぐことはできません。しかも、共有する相手ではない第三者が非公開URLにアクセスしたとしても、不正アクセス行為には該当しないという法律の専門家の方の見解も示されています。そこで今回は、なぜ非公開URLで情報を守ることが...
Linux

クライアント証明書認証の設定メモ(Apache2.4 + CentOS)

クライアント証明書認証とは、サービスを利用するユーザーに証明書を発行し(これを「クライアント証明書」と呼びます)その証明書によってユーザーを認証する仕組みのことです。一般的なユーザーIDとパスワードの認証に加えて、このクライアント証明書認証を導入することによって、ログイン時のセキュリティを強化することができます。そこで今回は、プライベート認証局の構築とクライアント証明書認証の発行、Apache h...
WordPress

WordPress 必須のセキュリティ対策5つ【2020年版】

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

5分でできる!WordPress への2段階認証の導入方法

WordPress のセキュリティ対策として、特に重要なのは管理画面の防御です。攻撃者は、パスワードの総当たりや、他のWebサービスなどから漏洩したパスワードリストを使って、あの手この手で不正に WordPress 管理画面へログインを試みます。このような攻撃への対策には、2段階認証がとても有効です。そこで今回は、WordPress への2段階認証の導入方法をまとめてみました。
プログラム

PHP U2Fセキュリティキーを使った2段階認証の実装方法メモ

U2F(Universal 2nd Factor)は、認証技術 FIDO(ファイド)の認証方式の1つです。ユーザーIDとパスワードで認証した後に、U2F に対応したセキュリティキーなどで2段階認証を行う仕様になっています。電子的認証のガイドライン NIST SP800-63B ではこの U2Fセキュリティキーを使った2段階認証を AAL3(認証者保証レベル3)という最も強度が高い認証方式として位置...
PHP

phpMyAdmin のインストールとセキュリティ設定メモ

phpMyAdmin は、Webブラウザから MySQL や MariaDB を管理するためのフリーソフトウェアツールです。SQL文を書かずに、データベースやテーブル、ユーザーの作成などができるとても便利なツールなのですが、公開サーバーに phpMyAdmin をインストールする場合は、セキュリティへの配慮も必要です。そこで今回は、phpMyAdmin のインストールと初期設定、安全に使うためのセ...
その他

3分でわかる!Windows7 のサポート期限を延長する方法

2020年1月14日、いよいよ Windows7 のサポートが終了します。セキュリティ更新プログラムを受け取ることができなくなるため、Windows10 へ移行することが必要になりますが、ソフトの対応が間に合わないなど、色々な事情により Windows10 に移行できない場合もあります。そういった場合の最終手段としてマイクロソフトは拡張セキュリティ更新(ESU)プログラムを用意しています。そこで今...
プログラム

2段階認証を実装するための記事まとめ(PHP+認証アプリ)

Google Authenticator などの認証アプリを使った2段階認証を、ご自分や自社の WEBサービスに導入するのは少しハードルが高いと思ってはいませんか? 実は、認証アプリを使った2段階認証は、RFC6238 Time-Based One-Time Password Algorithm というとてもシンプルな技術仕様で実装できるため、スマートフォンが普及した現在では、比較的簡単に導入する...
プログラム

PHP で otpauth URI(TOTP)を作成する方法

2段階認証でよく使われる TOTP(時間ベースのワンタイムパスワード)は、利用をはじめる時に Google Authenticator などの認証アプリに、サーバーで生成した秘密鍵を登録します。この登録する秘密鍵はQRコードで表示することが多いのですが、その際に秘密鍵などを otpauth URI という形式にしてQRコードに埋め込む必要があります。そこで今回は、PHP で otpauth URI...
プログラム

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段階認証の...
Linux

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

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

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

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

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

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

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

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

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 サーバーで TLS...
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 ユーザーにパスワードを設定する方法をメモしておきました。
クラウド

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

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

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

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