ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

サーバー技術

CentOSセキュリティ対応(Iiptables)を設定

更新日:

CentOSセキュリティ対応の為、iptablesの設定をします。
iptablesはパケットフィルタリングとNATの管理ツールとなっています。

設定はルータのアクセスリストを設定する感覚に近いです。
使い方によってはすごく便利なツールです。


TVでも話題になった自宅で無料でオンラインブートキャンプが体験できるようになりました!
プログラミングのオンラインスクールCodeCamp

※資料ダウンロード(無料)はこちらから!
【CodeCamp(コードキャンプ)】公式案内

スポンサーリンク


iptablesの使い方

iptablesの初期設定でtcpパケットはsource、destinationはすべて宛先ポート22を指定しておけばパケットを許可する設定となっています。

# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
10618 1370K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  292 10536 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    3   156 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
19917 2581K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 4934 packets, 567K bytes)
 pkts bytes target     prot opt in     out     source               destination

上記のように、宛先ポート22番に対するtcpパケットはiptable上で全て許可となっています。

ちなみに、”iptables -nvL”コマンドの意味は
-nが「アドレスとポートの数値出力」
-vが「詳細出力。今回で言えばバケット数とバイト数を表示」
-Lが「iptablesに書かれている全てのリストを出力」
となっています。

各コマンドとオプション説明

iptablesのコマンドは以下で確認できます。

# iptables --h

コマンド

  • -A, --append //指定したチェインの語尾に追加設定
  • -D, --delete //マッチしたルールを指定したチェインの削除
  • -D, --delete //チェインの中の番号 (最初のルールを 1 とする) を指定してチェインを削除
  • -I, --insert //チェインの中の番号を指定してルールを挿入する。デフォルトはルール1となる
  • -R, --replace //選択されたチェインを置き換える。デフォルトはルール1となる
  • -L, --list //選択されたチェインのルールをすべて表示する
  • -S, --list-rules //選択されたチェインのルールをすべて表示する”iptablesファイル内の設定”
  • -F, --flush //選択されたチェインの内容を全削除する
  • -Z, --zero //全てのパケットカウンタの値を0にする
  • -N, --new //新規にチェインを作成する
  • -X, --delete-chain //選択されたチェインを削除する
  • -P, --policy //選択されたチェインのポリシーを指定したターゲットに設定する
  • -E, --rename-chain //ユーザ定義のチェインを指定した名前に変更する

オプション

  • -p, --proto
    設定例:-p proto //プロトコルを定義
  • -s, --source
    設定例:-s address[/mask][...] //送信元アドレス指定
  • -d, --destination
    設定例:-d address[/mask][...] //宛先アドレス指定
  • -i, --in-interface
    設定例:-i input name[+] //IN側インターフェースを指定(eth0など)
  • j, --jump
    設定例:-j target //特定のパケットが一致した場合に指定されたターゲットにジャンプする
  • -o, --out-interface
    設定例:-o output name[+] //OUT側インターフェースを指定(eth0など)
  • -t, --table
    設定例:-t table //操作するテーブルを指定(デフォルトfilter)
  • -v, --verbose //詳細に出力する
  • --line-numbers //ルール番号で一覧表示する
  • -x, --exact //正確な数値を表示する
  • -f, --fragment //2つ目のフラグメント移行をマッチさせる
  • -V, --version //iptablesのパッケージバージョン確認

ターゲット

  • ACCEPT //パケットを許可
  • DROP //パケットを破棄
  • SNAT //送信元のアドレスを変換
  • DNAT //送信先のアドレスを変換
  • LOG //ログを採取
  • REJECT //パケットを拒否し、ICMPメッセージを返信
  • REDIRECT //特定ポートにリダイレクト

設定コマンド例

指定した送信元IPアドレスのセグメントからくるTCPパケットを許可する設定をします。

# iptables -A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
12534 1627K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  325 11724 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    3   156 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
22186 2889K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
    0     0 ACCEPT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0           state NEW tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 28 packets, 6062 bytes)
 pkts bytes target     prot opt in     out     source               destination

iptablesコマンドで作成したテーブルは、メモリに格納されますが、システムを再起動するとメモリに格納されたiptableコマンドは全て削除されます。
この設定がシステム再起動後も記事され続けるようにするには、以下コマンドで設定します。

# service iptables save
○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書
⇒サーバーエンジニアへの構築手順書

Linuxアカデミーの資料が無料請求できます!
リナックスアカデミー【公式サイト】


スポンサーリンク

この記事が気に入ったら
いいね!しよう

Twitter で



-サーバー技術
-

Copyright© GOISBLOG , 2017 All Rights Reserved.