FreeBSD 11.1にBlacklistdをインストールする方法
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
2018年3月、Let's Encryptにワイルドカード証明書のサポートが追加されました。ワイルドカード証明書を使用すると、ドメインのすべての第1レベルのサブドメインを単一の証明書で保護できます。ワイルドカード証明書は、ACMEプロトコルの更新バージョンであるACMEv2を介してのみ取得できます。ワイルドカード証明書または非ワイルドカード証明書にACMEv2を利用するには、ACMEv2をサポートするように更新されたクライアントが必要です。そのようなクライアントの1つはacme.shです。これは、依存関係のない純粋にシェル(Unixシェル)言語で記述されたACME / ACMEv2プロトコルクライアントです。さらに、ワイルドカードドメインはDNS-01チャレンジタイプを使用して検証する必要があります。つまり、ドメインの制御を証明してワイルドカード証明書を取得するには、DNS TXTレコードを変更する必要があります。
このガイドでは、Vultr APIを使用してDNSレコードを自動操作するためのLexiconツールであるacme.sh
クライアントを使用して、Ubuntu 19.04のLet's Encryptから無料のワイルドカード証明書を取得してデプロイし、証明書をNginx Webサーバーにデプロイする方法について説明します。
example.com
、例としてドメインを使用します。Ubuntuのバージョンを確認してください。
lsb_release -ds
# Ubuntu 19.04
sudo
アクセス権と希望するユーザー名で新しいユーザーアカウントを作成し、それに切り替えます。使用していますjohndoe
。
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
注:をユーザー名に置き換えjohndoe
ます。
タイムゾーンを設定します。
sudo dpkg-reconfigure tzdata
Ubuntuシステムが最新であることを確認します。
sudo apt update && sudo apt upgrade -y
必要なパッケージをインストールします。
sudo apt install -y git wget curl socat
Nginx Webサーバーをインストールします。
sudo apt install -y nginx
バージョンを確認してください。
sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)
acme.shとVultr APIを使用してLet's Encryptからワイルドカード証明書を取得するプロセスの最初のステップとして、PythonとLexiconをインストールする必要があります。Lexiconは、複数のDNSプロバイダーのDNSレコードを標準化された方法で操作する方法を提供するPythonパッケージです。
システムにまだインストールされていない場合は、Pythonをインストールします。
sudo apt install -y python3
バージョンを確認して、インストールを確認します。
python3 --version
# Python 3.7.3
辞書ツールをインストールします。辞書とは、さまざまなDNSプロバイダーのDNSレコードを標準化された方法で操作できるPythonツールです。
sudo apt install -y lexicon
辞書のバージョンを確認してください。
lexicon --version
# lexicon 3.0.8
acme.sh
クライアントをインストールAcme.sh
Let's Encryptを介して署名付き証明書を取得するプロセスを自動化する、純粋にシェル(Unixシェル)言語で記述されたACMEプロトコルクライアントです。ACME v1とACME v2をサポートしています。最も重要なのは、ACME v2ワイルドカード証明書をサポートしています。このセクションでは、Acme.shスクリプトをインストールします。
注: / アクセスは必要ありませんが、user を使用root
してインストールすることをお勧めします。acme.sh
root
sudo
root
作成している場合は、通常のユーザーからユーザーに切り替えます。
sudo su - root
をダウンロードしてインストールしacme.sh
ます。
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd
バージョンを確認してください。
acme.sh --version
# v2.8.2
ワイルドカード証明書を取得するには、DNS検証方法のみを使用できます。レキシコンとVultr DNS APIを使用して、TXT DNSレコードを操作します。
ドメインのRSAおよびECCワイルドカード証明書を取得します。
# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"
# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256
注:ドメイン名に置き換えることexample.com
を忘れずに、Vultr APIプレースホルダー値を独自のものに置き換えてください。
上記のコマンドを実行すると、証明書とキーは次の場所にあります。
~/.acme.sh/example.com
ディレクトリ。~/.acme.sh/example.com_ecc
ディレクトリ。注:フォルダー内の証明書ファイルは使用しないで~/.acme.sh/
ください。これらは内部でのみ使用され、ディレクトリ構造は将来変更される可能性があります。
証明書を一覧表示するには、次を実行します。
acme.sh --list
本番環境で証明書を保存するためのフォルダーを作成します。/etc/letsencrypt
ディレクトリを使用しています。
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
サーバーに本番用の証明書をインストール/コピーします。
# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
Let's Encryptからワイルドカード証明書を取得できたので、Nginx Webサーバーを構成する必要があります。すべての証明書は60日ごとに自動的に更新されます。
希望する場所に証明書を取得してインストールしたら、root
ユーザーから通常のsudo
ユーザーにログアウトしてsudo
、必要に応じてサーバーを引き続き管理できます。
exit
実行sudo vim /etc/nginx/sites-available/example.com.conf
して、ファイルに次の内容を入力します。出現箇所をすべてexample.com
独自のドメイン名に置き換えます。
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com *.example.com;
root /var/www/example.com;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
}
example.com.conf
ファイルをsites-enabled
ディレクトリにリンクして、新しい構成をアクティブにします。
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Nginx構成をテストします。
sudo nginx -t
Nginxをリロードします。
sudo systemctl reload nginx.service
それでおしまい。acme.sh、Lexicon、Vultr APIを使用して、ワイルドカード証明書をNginxにデプロイしました。ワイルドカード証明書は、動的に生成される複数の第1レベルのサブドメインを保護する場合に役立ちます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。