全国50万人くらいのレンサバ難民の皆様、こんにちは。
先回はタイムゾーンを日本に設定しました。今回は、iptablesをインストールしてファイアウォールを立てます。
インターネット上で24時間稼働し続けるサーバは、やはり24時間、クラッキングの脅威にさらされているとも言えます。ここではiptablesでファイアウォールを立てることでより安全なサーバ運用を目指します。
作業はrootに化けてから行います。
ここではssh、http、httpsのためにポートを開きます。
まず最初にyumを使ってiptablesをインストールします。
# yum install iptables
べろべろ〜となんか文字列が出てきて、「インストールしますか?」というような英語の文句が出てくるので「y」を入力してエンター。インストールが始まります。「compleate!」と出ればインストール完了です。
試しにiptablesの設定を確認します。
# iptables -L
すると、以下のような表示が出ます。まだ何も設定していないので、何にも設定はありません。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
というわけで、iptablesの設定をしていきます。以下のように入力していきます。
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -j ACCEPT
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# iptables -A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# iptables -A INPUT -j REJECT
# iptables -A FORWARD -j REJECT
ただし、「–dport 30000」の数字は、自分が設定したsshのポート番号を入力します。全部入力したら、再度設定を確認してみます。
# iptables -L
ちなみに、設定を間違えて最初から設定をやりなおしたい場合は、以下のように入力すると設定をリセットできます。
# iptables -F
設定を終わったら、iptablesの設定を保存します。
# service iptables save
以上でiptablesの設定が完了です。
設定の編集方法
ひとつずつ設定を入力していくのは好かん!という人は、iptablesの設定ファイルをviで直接編集してしまうという手もあります。
# vi /etc/sysconfig/iptables
編集して保存したら、iptablesを再起動します。
# service iptables restart
以上でiptablesの設定が完了です。
iptablesの自動起動
設定が完了したら、システムを再起動させたときも自動的にiptablesが立ち上がるように設定します。
# chkconfig iptables on
設定が有効になっているか確かめるには以下のコマンドを実行します。
# chkconfig --list iptables
以下のように表示されれば設定は有効になっています。
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
参考
標準テキスト CentOS 8 構築・運用・管理パーフェクトガイド [CentOS Stream対応]
- メーカー:SBクリエイティブ
- カテゴリ:Kindle版
- 発売日:2021/07/21