CentOS 7でFirewalldの設定

タックス

CentOS 7から採用されたFirewalldにそろそろ慣れておかなきゃと思っていろいろ調べたんですが、なかなか自分にマッチするような情報が一か所に書かれていなかったので、自分が使いそうなものをまとめてみました。
良かったら参考にしてください。

  • Firewalldの自動起動設定

  • # systemctl enable firewalld

  • Firewalldの起動

  • # systemctl start firewalld

  • Firewalldの再起動

  • # systemctl restart firewalld

  • Firewalldの稼働状況確認

  • # firewall-cmd --state

  • 存在するゾーンの確認

  • # firewall-cmd --get-zones
    work drop internal external trusted home dmz public block

    work
    デフォルトで「dhcpv6-client」、「ipp-client」、「ssh」が許可されています。
    職場などの業務エリアで使用するために定義されたゾーン

    drop(変更不可)
    全てのパケットを破棄します。現実的に使用されることはありません。
    内部からの通信は送信できるが、外部からの戻りの通信は遮断されるため、結果的にすべての通信が出来ない。

    internal
    デフォルトで「dhcpv6-client」、「ipp-client」、「mdns」、「samba-client」、「ssh」が許可されています。
    内部ネットワークで使用するために定義されたゾーン。

    external
    デフォルトで「ssh」のみ許可されています。
    IPマスカレード有効でルータなど外部ネットワークとの接続で使用するために定義されたゾーン。

    trusted(変更不可)
    全てのパケットが許可されます。

    home
    デフォルトで「dhcpv6-client」、「ipp-client」、「mdns」、「samba-client」、「ssh」が許可されています。
    自宅などで使用するために定義されたゾーン。

    dmz
    デフォルトで「ssh」のみ許可されています。
    dmz用に定義されたゾーン。

    public
    デフォルトゾーン。デフォルトで「ssh」と「dhcpv6-client」のみ許可されています。
    公共の場所で使用するために定義されたゾーン。

    block(変更不可)
    遮断時は「ICMP Pohibited」を返し、内部からの通信時は戻りの通信も許可される。

  • 標準のサービス

  • # firewall-cmd --get-services

  • publicゾーンにhttpを許可(永続的に)

  • # firewall-cmd --permanent --zone=public --add-service=http

  • 標準のポート以外のIPアドレス制限の設定

  • # firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="10022" accept'
    # firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="40000-40020" accept'
    ※複数のIPアドレスやポートを許可したい場合は、許可する分コマンドを実行して登録。

  • ログ出力設定(/var/log/messages)

  • # firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" log prefix="fwlog " level="info" accept'
    ※ level=emerg、alert、crit、error、warning、notice、info、debug

  • 標準のポート以外のIPアドレス制限の削除

  • # firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="10022" accept'

  • リッチルールの確認

  • # firewall-cmd --list-rich-rules

  • 無駄な標準ポートの削除

  • # firewall-cmd --permanent --remove-service=ssh
    # firewall-cmd --permanent --remove-service=dhcpv6-client

  • firewalldの再起動

  • # firewall-cmd --reload

  • アクティブなゾーンの一覧確認

  • # firewall-cmd --list-all

  • ゾーンの一覧確認

  • # firewall-cmd --list-all-zones

  • その他

  • デフォルトゾーンの確認
    # firewall-cmd --get-default-zone

    デフォルトゾーンの変更
    # firewall-cmd --set-default-zone=ゾーン名

    ゾーンのインターフェイスを付け替える
    # firewall-cmd --zone=ゾーン名 --change-interface=xxx

    新しいサービスを追加する場合
    # vi /etc/firewalld/services/minecraft.xml
    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>Minecraft</short>
    <description>Minecraft Multi Server</description>
    <port protocol="tcp" port="25565"/>
    </service>

    # firewall-cmd --reload

    新しいサービスをゾーンへ追加する場合
    # firewall-cmd --permanent --zone=public --add-service=minecraft
    # firewall-cmd --reload


    なかなか飲み込むことが難しかったですが、分かってしまうと大したことはありませんでした。
    是非参考にしてみてください。

    以下、参考リンクです。

    Wikipedia(Linux)
    Wikipedia(CentOS)


関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

WING☆

Author:WING☆


カレンダー
04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる