質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

5044閲覧

firewalldのsource IPが機能しません

msss

総合スコア33

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/11/21 03:41

質問内容

Linuxのfirewalldを使用して以下の設定をしたいと考えています。

  • ssh(22ポート)接続を可能にしたい
  • 特定のIPからの接続に制限したい

しかし、以下の設定内容のように設定しましたが、特定のIP以外からもssh接続が出来てしまいます。
sourcesに設定するIPとはどのように機能するものなのでしょうか。

設定内容

# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: <IPアドレス> services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks

その他

hosts.allowを使ったり、
リッチルールを設定すれば制限できることは確認済みです。

# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="<IPアドレス>" service name="ssh" accept

類似の質問

解決していませんでした

https://www.unix.com/red-hat/274389-firewalld-source-ip-not-working.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Firewalldの実ルールはiptables -nvLで確認できます。
一応手がかりのようなものを。

output

1Chain INPUT (policy ACCEPT 0 packets, 0 bytes) 2 pkts bytes target prot opt in out source destination 3 563 41955 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 5 73 26569 INPUT_direct all -- * * 0.0.0.0/0 0.0.0.0/0 6 73 26569 INPUT_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0 7 73 26569 INPUT_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0 8 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 9 43 23762 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

sourceで指定したIPはINPUT_ZONE_SOURCEで評価され、ACCEPTされます。
serviceはINPUT_ZONES(を辿った先にあるIN_public_allowチェイン)でACCEPTされます。
どちらにもマッチしなければDROPです。見た感じ、or条件になっているようですね。
[sourcesに設定するIPとはどのように機能するものなのでしょうか]という質問の回答としては
[Firewalldで通信を許可するIPを設定する。その他の条件とorを取る]が回答です。(Forwardにも許可される部分が
目的の[sshを特定のIPからの接続に制限したい]については、Firewalldでやるのであればrich ruleを利用するしかない、が回答になると思います。
私もそこまで詳しいわけではありませんが、参考になりましたら幸いです。

投稿2018/11/21 09:07

mishura

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

msss

2018/11/21 10:22

iptables -nvLの内容をみて納得がいきました、とても分かりやすかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問