Firewalldの設定についてサポートをいただければ幸いです。これが背景です。私がやりたいのは、httpsで実行されているWebアプリケーションへのホワイトリストに登録されたIPアドレスを除くすべてのアクセスを防止することです。
私はググリングをたくさんしました。多くのことを学びましたが、まだうまくいきませんでした。これが私がしたことです:
Firewalldが実行されていることがわかります
# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded
(/usr/lib/systemd/system/firewalld.service; enabled) Active: active
(running)
またと
# firewall-cmd –state
running
デフォルトのゾーンがあります
# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
私のアクティブゾーンは次のとおりです。
# firewall-cmd --get-active-zones
public
sources: 192.72.0.193 192.72.0.0/22 94.27.256.190
私のデフォルトゾーンはパブリックです:
# firewall-cmd --get-default-zone
public
パブリックの詳細は次のとおりです。
public (default)
interfaces:
sources: 192.72.0.193 192.72.0.0/22 94.27.256.190
services: http https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
私の理解では、上記のパブリックゾーンの構成では、指定されたIPアドレスのいずれかからの要求にのみ許可が制限されます。しかし、リストされていないIPから https://www.example.com にアクセスしようとすると、許可されます。
1つのオプションは、サービスを削除することです:ゾーンからhttps
firewall-cmd --zone=public --remove-service=https
次に、いわゆるルールを使用して、どのソース[IPアドレス]がどのサービス[httpやhttpsなど]にアクセスできるかを指定します。
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.0/24" service name="https" log prefix="https" level="info" accept'
ただし、リロードする必要があるかもしれません