著者はhttps://www.brightfunds.org/funds/tech-education[Tech Education Fund]を選択して、https://do.co/w4do-cta [Donationsの書き込み]プログラムの一環として100ドルの寄付を受け取りました.
前書き
Webminは、Linuxマシン用のWebベースのコントロールパネルで、最新のWebベースのインターフェイスを介してサーバーを管理できます。 Webminを使用すると、Webサーバーやデータベースなどの一般的なパッケージの設定をその場で変更したり、ユーザー、グループ、ソフトウェアパッケージを管理したりできます。
このチュートリアルでは、サーバーにWebminをインストールして構成し、https://letsencrypt.org/ [Let’s Encrypt]とApacheを使用して、有効な証明書を使用してインターフェイスへのアクセスを保護します。 次に、Webminを使用して新しいユーザーアカウントを追加し、ダッシュボードからサーバー上のすべてのパッケージを更新します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
-
Ubuntu 18.04初期サーバーセットアップガイドに従って、1つのUbuntu 18.04サーバーをセットアップし、sudo non- rootユーザーとファイアウォール。
-
Linux、Apache、MySQLのインストール方法に従ってインストールされたApache 、Ubuntu 18.04上のPHP(LAMP)スタック]。 Apacheを使用してLet’s Encryptのドメイン検証を実行し、Webminのプロキシとして機能します。 このチュートリアルに従う場合は、ファイアウォールを介したApacheへのアクセスを設定してください。
-
サーバーのIPアドレスを指すDNS * A *レコードを持つ完全修飾ドメイン名(FQDN)。 これを設定するには、チュートリアルhttps://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean[DigitalOceanでホスト名を設定する方法]に従ってください。
-
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04の手順1に従ってインストールされたCertbot Ubuntu 18.04で暗号化しましょう]。 Certbotを使用して、WebminのTLS / SSL証明書を生成します。
ステップ1-Webminのインストール
まず、パッケージマネージャーを使用してWebminを簡単にインストールおよび更新できるように、Webminリポジトリを追加する必要があります。 これを行うには、リポジトリを `+ / etc / apt / sources.list`ファイルに追加します。
エディターでファイルを開きます。
sudo nano /etc/apt/sources.list
次に、次の行をファイルの最後に追加して、新しいリポジトリを追加します。
/etc/apt/sources.list
. . .
ファイルを保存し、エディターを終了します。
次に、システムが新しいリポジトリを信頼するようにWebmin PGPキーを追加します。
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
次に、Webminリポジトリを含めるようにパッケージのリストを更新します。
sudo apt update
次に、Webminをインストールします。
sudo apt install webmin
インストールが完了すると、次の出力が表示されます。
OutputWebmin install complete. You can now login to
https://:10000 as root with your
root password, or as any user who can use `sudo`.
次に、WebminをApache Webサーバーの背後に配置し、有効なTLS / SSL証明書を追加して、Webminへのアクセスを保護しましょう。
ステップ2-ApacheとLet’s EncryptでWebminを保護する
Webminにアクセスするには、ポート「10000」を指定し、ファイアウォールでポートが開いていることを確認する必要があります。 これは、特に「+ webmin。」などのFQDNを使用してWebminにアクセスしている場合は不便です。ポート「+10000」で実行されているWebminのサーバーにリクエストをプロキシするためにApache仮想ホストを使用します。 次に、Let’s EncryptのTLS / SSL証明書を使用して仮想ホストを保護します。
まず、Apacheの構成ディレクトリに新しいApache仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/.conf
ファイルに次を追加し、メールアドレスとドメインを自分のものに置き換えます。
/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
ServerAdmin
ServerName
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
</VirtualHost>
この設定は、ApacheにWebminサーバーである `+ http:// localhost:10000 +`にリクエストを渡すように指示します。 また、Webminから生成された内部リンクもApacheを通過するようにします。
ファイルを保存し、エディターを終了します。
次に、WebminにTLS / SSLの使用を停止するように指示する必要があります。これは、Apacheが今後提供するものです。
エディターでファイル `+ / etc / webmin / miniserv.conf +`を開きます。
sudo nano /etc/webmin/miniserv.conf
次の行を見つけます。
/etc/webmin/miniserv.conf
...
ssl=1
...
`+ 1 `を ` 0 +`に変更します。これにより、WebminはSSLの使用を停止します。
次に、許可されたドメインのリストにドメインを追加し、Webminがドメインからパネルにアクセスしたときに、それがhttps://www.owasp.org/index.php/Crossのような悪意のあるものではないことを理解できるようにします-site_Scripting_(XSS)[クロスサイトスクリプティング(XSS)攻撃]。
エディターでファイル `+ / etc / webmin / config +`を開きます:
sudo nano /etc/webmin/config
ファイルの最後に次の行を追加し、「+ your_domain +」を完全修飾ドメイン名に置き換えます。
/ etc / webmin / config
. . .
referers=
ファイルを保存し、エディターを終了します。
次に、Webminを再起動して構成の変更を適用します。
sudo systemctl restart webmin
次に、Apacheの `+ proxy_http +`モジュールを有効にします。
sudo a2enmod proxy_http
次の出力が表示されます。
OutputConsidering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
systemctl restart apache2
出力は、Apacheを再起動することを示唆していますが、最初に、作成した新しいApache仮想ホストをアクティブ化します。
sudo a2ensite
サイトが有効になっていることを示す次の出力が表示されます。
OutputEnabling site .
To activate the new configuration, you need to run:
systemctl reload apache2
次に、Apacheを完全に再起動して、 `+ proxy_http +`モジュールと新しい仮想ホストをアクティブにします。
sudo systemctl restart apache2
ブラウザで「+ http:// +」に移動すると、Webminログインページが表示されます。
次に、Webminの使用中に接続が暗号化されるように証明書を構成します。 これを行うために、Let’s Encryptを使用します。
ドメインのTLS / SSL証明書を生成し、トラフィックを安全なサイトにリダイレクトするようにApacheを構成するようにCertbotに指示します。
sudo certbot --apache --email -d --agree-tos --redirect --noninteractive
次の出力が表示されます。
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/-le-ssl.conf
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/.conf to ssl vhost in /etc/apache2/sites-available/-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=
-------------------------------------------------------------------------------
出力は、証明書がインストールされ、Apacheがリクエストを `+ http:// `から ` https:// +`にリダイレクトするように設定されていることを示しています。
これで、Webminの安全で動作するインスタンスをセットアップしました。 使い方を見てみましょう。
ステップ3 – Webminの使用
Webminには、BIND DNSサーバーからユーザーをシステムに追加するだけの簡単なものまで、すべてを制御できるモジュールがあります。 新しいユーザーを作成する方法を見て、Webminを使用してソフトウェアパッケージを更新する方法を見てみましょう。
Webminにログインするには、「+ http:// +」に移動し、* root *ユーザーまたはsudo特権を持つユーザーのいずれかでサインインします。
ユーザーとグループの管理
サーバー上のユーザーとグループを管理しましょう。
まず、*システム*タブをクリックしてから、*ユーザーとグループ*ボタンをクリックします。 ここから、ユーザーを追加、ユーザーを管理、またはグループを追加または管理できます。
Webアプリケーションのホストに使用できる* deploy という新しいユーザーを作成しましょう。 ユーザーを追加するには、ユーザーテーブルの上部にある[*新しいユーザーを作成]をクリックします。 これにより、[ユーザーの作成]画面が表示され、ユーザー名、パスワード、グループ、その他のオプションを指定できます。 次の指示に従ってユーザーを作成します。
-
* Username *に `+ deploy +`を入力します。
-
*ユーザーID *に対して*自動*を選択します。
-
`+ Deployment user +`のような説明的な名前を*本名*に入力します。
-
[ホームディレクトリ]で[自動]を選択します。
-
* Shell の場合、ドロップダウンリストから / bin / bash *を選択します。
-
[パスワード]で[通常のパスワード]を選択し、選択したパスワードを入力します。
-
* Primary Group で、 userと同じ名前の* New groupを選択します。
-
* Secondary Group の場合、 All groups リストから sudo を選択し、→ ボタンを押して in groups *リストにグループを追加します。
-
* Create *を押して、この新しいユーザーを作成します。
ユーザーを作成するときに、パスワードの有効期限、ユーザーのシェル、またはホームディレクトリを許可するかどうかのオプションを設定できます。
次に、システムにアップデートをインストールする方法を見てみましょう。
パッケージの更新
Webminでは、ユーザーインターフェイスを使用してすべてのパッケージを更新できます。 すべてのパッケージを更新するには、[ダッシュボード]リンクをクリックして、[パッケージの更新]フィールドを見つけます。 利用可能なアップデートがある場合、次の図に示すように、利用可能なアップデートの数を示すリンクが表示されます。
image:https://assets.digitalocean.com/articles/webmin1804/RF2fRmB.png [Webminは利用可能なパッケージ更新の数を示します]
このリンクをクリックし、[選択したパッケージの更新]を押して更新を開始します。 サーバーを再起動するように求められる場合がありますが、Webminインターフェイスからも再起動できます。
結論
これで、Webminの安全で動作するインスタンスが作成され、インターフェイスを使用してユーザーを作成し、パッケージを更新しました。 Webminを使用すると、通常はコンソールからアクセスする必要のある多くの項目にアクセスでき、直感的な方法で整理できます。 たとえば、Apacheがインストールされている場合、* Servers、* Apache *の下に構成タブがあります。
インターフェイスをさらに探索するか、http://doxfer.webmin.com/Webmin/Main_Page [Official Webmin wiki]をチェックして、Webminでシステムを管理する方法の詳細をご覧ください。