当サイトでは上の2つのサーバ構築を「原則、コピー&貼り付け」だけで完了を目指しています。
今回から、Raspberry Pi 4(ラズパイ)サーバ構築最初のステップがスタートします。
他のステップは文末をご覧ください。
前提
- 参考資料: DigitalOcean チュートリアル
(とても丁寧な解説で、参考にさせて頂いているサイトです) - ラズパイ環境: Raspberry Pi 4 4GBRAM bullseye, PC環境はこちら
上記DigitalOceanの2記事でufwコマンドの説明は十分だと思います。
ラズパイはOSセットアップ時にsudo権限を有する一般ユーザーを作成しているため、root化せずに一般ユーザーのままufw設定を行っても大丈夫だと思います。
rootで最後まで設定を進めていくと、rootしか変更できない事態に陥る危険性があります[1]出典:GNU/Linux チュートリアル 注記。そうなると、実務的な利便性が低下するため、rootでの作業は最低限に留めます。
但し、念の為、本記事では「エッセンシャルなセットアップであるufwの有効化まで」rootアカウントユーザーで行う例を示しています[2]sudo 権限を有する非rootユーザーでもufwコマンドを実行できますが、DigitalOceanやDebian … Continue reading。
ufw (ファイアウォール)とは?
- Debian 公式マニュアル:書式やOPTIONSはこちら
- Debian Wiki:ufwコマンドの具体的な記述例はこちら
ufw とは、Uncomplicated Firewall(複雑でないファイアウォール)の略です。ファイアウォールを設定するコマンド及びプログラムです。
ラズパイをサーバとして使う場合、開放するポートを管理するセキュリティとして機能します。
例えば、ラズパイサーバへのアクセスを家庭内デバイスだけに制限できたり、
特定の接続(SSHなど)だけを許可したりできます。
ufwを設定していないとWWWからラズパイが見えて外部侵入・攻撃されるリスクが高まるので、
必ずインストール・設定してください。
サーバ構築の最初のステップとなります。
家庭内の範囲だけで使うなら、IPv6のポートを開かないほうが、
セキュリティは高まると思います。(IPv6をufw不許可にする方法はこちら)
当サイトで許可するufwは、以下の3つのIPv4(家庭内LAN)からのアクセスだけです。
ufwのインストール・有効化・状態確認・許可
ufwをインストール
ufw をインストールします。初回インストールはrootで行ってください。
(rootによるコマンド操作では、行頭にsudoを付けません。)
# root化する
sudo su
# ufw をインストール
apt-get install ufw
ufwでSSH を許可する
一番最初に、SSHを許可します。
※ufwを有効化する前にSSHを許可しないと、システムからロックアウトされる可能性があります[3]出典:Debian Wiki。
※SSHを使用していなければ、このステップはスキップしてください。
# SSH接続を許可
ufw allow OpenSSH
SSHの有効化との違い
SSHの有効化は、ラズパイにSSH機能の拡張を付加することを指します。
一方、ufwでのSSH許可は、サーバ・クライアントPC間のSSH接続によるデータやり取りを、ufw機能が許可することを指します。
そのため、SSH有効化設定を行ってもufwで許可していなければ、サーバに接続できない状況になります。
(SSHだけに限らず、他のサービスにおいても同様です。)
ufw の有効化
ufw を有効化します。このコマンドでラズパイ起動の都度、ufwが稼働します。
# ufw を有効化
ufw enable
ufw の状態確認
- この段落以降、rootからログオフして一般ユーザーとして入力していきます。
ufw の状態を確認します。「active」ならOKです。
# rootからログオフ
exit
# ufw の状態を確認
sudo ufw status
IPv6からのアクセスを不許可にする
IPv6からのWWW(家庭内LANの外側)アクセスを一律に不許可にします。
/etc/default/ufwファイルをnanoで編集します。
# IPv6 からのWWWアクセスを不許可
sudo nano /etc/default/ufw
下画像赤枠部分を「no」に編集する。
IPV6=no
nano編集を保存します。
この設定で、IPv6用のポートを開かなくなります。
ufw 設定可能サービスを一覧表示する
以下のコマンドで、現在設定可能なプログラムが一覧されます。
# 許可可能なサービスを一覧化
sudo ufw app list
ufwでSSL(HTTPS)を許可する
WordPressのWebサーバ構築のとき、自己署名SSLで接続するので、SSL用のポート開放を許可します。
※今設定しなくても、サーバ構築時に行えばOKです。
※ラズパイやDebianではサービス名が”Apache Secure”ではなく、”WWW Secure”になっています。
# SSL接続だけを許可
sudo ufw allow "WWW Secure"
ufwでSambaを許可する
Sambaサーバ構築のときに、以下の設定が必要となります。
※Sambaをインストールしてからでないと、ufw設定はできません。
# Sambaインストール後に行ってください
sudo ufw allow samba
ufwルールの削除
# 許可しているルールに番号を付けます
sudo ufw status numbered
# Firewall許可済のサービスを削除して不許可にする(画像4番Sambaの場合)
sudo ufw delete 4
YesのYキーを叩く。
Rule deleted で削除される。
# 削除の確認
sudo ufw status # 一覧に無ければ削除されています。Samba(v6)はFirewall不許可になりました。
ufw の GUI アプリのインストール
以下のコマンドでGUIのufwアプリをインストールできます[4]出典:Debian Wiki。
容量約3.5MB。
sudo apt install gufw
Ubuntu 標準のファイアウォールがインストール出来て、少し嬉しい気持ちになります。
メニュー>設定>ファイアウォール設定ツール
今回はサーバ構築で必須となる設定、ufw(ファイアウォール)設定をご紹介しました。
当記事がお役に立てれば、嬉しく思います。
以下の記事も一緒にどうぞ。
- ラズパイOS (bullsey) のインストール・セットアップ
- LXTerminal のコマンド一覧(最低限)
- nano の操作方法(保存)
- ラズパイOSセットアップ直後の設定
- ラズパイIPアドレスの固定など
- ufw(ファイアウォール)設定
- SSH接続でラズパイをリモート操作
- Sambaサーバを作ってiCloudを解除
- ローカルWordPress専用Webサーバ構築(SSL対応)
- Raspberry Pi OS Liteのインストール
- Raspberry Pi OS LiteでSambaを設定
- ラズパイサーバのWordPressを自動でバックアップ
- ラズパイSSDブート&起動しないときの対処方法
- MyDNSでドメインを無料取得する
- NGINXサーバでWordPressサイト(SSL化済)をWWWへ公開
脚注
↵1 | 出典:GNU/Linux チュートリアル 注記 |
---|---|
↵2 | sudo 権限を有する非rootユーザーでもufwコマンドを実行できますが、DigitalOceanやDebian Wikiでは初期セットアップはrootで行われているため、本記事も則しています。 |
↵3 | 出典:Debian Wiki |
↵4 | 出典:Debian Wiki |
コメント