長く使い続けたいサーバーのOSには、5年間の長期サポート版である「Ubuntu Server 22.04 LTS」が向いている。これからサーバーを構築したい人や勉強したい人のために、OSのインストール方法や基本的なサーバー構築の方法などを紹介する。
Step2では、実際にサーバーを動かしてみましょう。まずはサーバーに必須のセキュリティー対策を紹介します。次に、サーバーの利便性を感じられるアプリとして、ファイル共有の「Samba」を紹介します。さらに、最近のサーバー構築のトレンドである仮想化技術「コンテナー」を紹介します。
ファイアウォール「UFW」
サーバーはセキュリティーが重要! ファイアウォールの設定は必須
サーバーとは、ネットワーク越しにサービスを提供するコンピュータです。つまりネットワークに接続し、外部からのアクセスを受け入れなくてはなりません。けれども、不特定多数にすべてのポートを開放するのは、セキュリティー的に好ましくありません。開放するポートや接続を許可する相手は、最小限に絞るのが鉄則です。
これを制御するのが「ファイアウォール」です。従来、Linuxのファイアウォールを設定するには高度なネットワークの知識が必要でした。けれども、Ubuntuでは「UFW」と呼ぶツールを用いることで、ファイアウォールをより簡単に設定できるようになっています。
UFWは「ufw」コマンドと、それに続くサブコマンドで操作します。まずは、「ufw status」コマンドで現在の状態を調べてみましょう(図1の手順1)。デフォルトでは「inactive(無効)」になっているので、「ufw enable」コマンドを実行してアクティブ化します(図1の手順2~3)。なお、ufwコマンドの実行には管理者権限に昇格するための「sudo」コマンドが必要です。
UFWを有効にしただけでは、外部から一切接続できません。そこで「ufw allow」コマンドを使い、接続を許可するルールを追加します。例えばWebサーバーの「HTTPでの接続」を許可するには、次のコマンドを実行します。
サーバーの操作には、リモートアクセスで使う「SSHでの接続」が必須なので、このルールも許可します。ただし、不特定多数にSSHでの接続を許可するのは好ましくありません。ここでは自宅内にあるサーバーを例に、接続元をローカルネットワーク(IPアドレス)に限定して、許可を与える例を紹介します。例えば自宅のネットワークのIPアドレスの範囲が「192.168.1.0/24」なら、次のように「22番ポート」への接続を許可します。
IPアドレスの範囲は、自分の環境に合わせて置き換えてください。設定後は現在の状態を表示して正しく設定できていることを確認しておきましょう(図2)。
なお、SSH越しにサーバーを操作している場合、UFWを有効化した後に、SSHでの接続を許可しない状態で現在のSSHセッションを切断してしまうと、以後SSHでログインできなくなってしまうので注意してください。UFWには、ほかにも多くの機能やコマンドがあるため、詳しくはマニュアルを参照してください。