ファイアーウォールを設定 / Rocky Linux9.4 on さくらのVPS
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
さくらのVPSにRocky Linux9.4をインストールした覚書です。
今回はファイアーウォールの設定を行っていきたいと思います。
※さくらのVPSではコントロールパネルに「パケットフィルタ―設定」があるのでファイアーウォール不要説がありますが、公式のマニュアルにあるとおり完璧なものではないので、パケットフィルターとOSのファイアーウォールの併用がオススメです。
なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。
環境
実施日 | 2024-05-13 |
サーバ | さくらのVPS 2G |
OS | Rocky Linux9.4 |
cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
よく使うコマンド
まずはお約束の systemctl です。
起動状態を確認する
systemctl status firewalld
起動する
SSHのポート変更を行っている場合は設定が完了していることを確認してください
systemctl start firewalld
停止する
systemctl stop firewalld
自動起動を有効にする
systemctl enable firewalld
自動起動の状態を確認する
systemctl is-enabled firewalld
設定の再読込み
firewall-cmd --reload
現在のゾーンを確認する
firewall-cmd --get-active-zones
デフォルトゾーンを確認する
firewall-cmd --get-default-zone
ゾーンのルールを確認する
firewall-cmd --list-all
許可しているサービスを確認する
firewall-cmd --list-services
サービスを追加する
サービスとして追加した場合は、そのサービスのデフォルトのポートが開くことになります。
httpなら80、httpsなら443、sshなら22
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp
firewall-cmd --permanent --add-service=smtps
firewall-cmd --permanent --add-service=smtp-submission
firewall-cmd --permanent --add-service=pop3
firewall-cmd --permanent --add-service=pop3s
firewall-cmd --permanent --add-service=imap
firewall-cmd --permanent --add-service=imaps
不要になったものを外す場合
firewall-cmd --permanent --remove-service=〇〇
解放しているポートを確認する
firewall-cmd --list-ports
接続元のIPアドレスを許可する
firewall-cmd --add-source=192.168.11.5 --zone=public --permanent
ポートを開ける
firewall-cmd --permanent --zone=public --add-port=22/tcp
設定ファイルを直接編集する
vi /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="cockpit"/>
<service name="http"/>
<service name="https"/>
<service name="ssh"/>
<rule family="ipv4">
<source address="123.123.123.123"/>
<port port="22000" protocol="tcp"/>
<accept/>
</rule>
<rule family="ipv4">
<source address="124.124.124.124"/>
<port port="22000" protocol="tcp"/>
<accept/>
</rule>
</zone>
IPアドレス 123.123.123.123 と 124.124.124.124 のポート 22000 を許可する設定例です。
自分の環境が固定IPでないので、プロバイダのホスト名で設定したかったのですが、やり方が分からなかったので、今のところはとりあえずIPアドレス指定にしました。
まだやってないですがプロバイダのIPアドレス範囲で設定する方法もあります。
ついでに http https も加えておきます。
SSHを細かく設定する
独自のSSHの設定ファイルを作成します。
# ファイルを新しく作成
vi /etc/firewalld/services/ssh-alt.xml
▼ ★の数字を変更します。
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22★"/>
</service>
ssh を ssh-alt に書き換え
vi /etc/firewalld/zones/public.xml
こちらは削除
<service name="ssh"/>
こちらを書き加える
<service name="ssh-alt"/>
設定を再読み込みして確認します。
設定を再読み込み
firewall-cmd --reload
設定の確認
firewall-cmd --list-all