*******************************************************************
iptablesでアクセスをブロック(遮断)する基本設定は、特定のIPアドレスやポートに対する通信をDROPまたはREJECTターゲットで制限します。代表的なコマンドはiptables -A INPUT -s [IPアドレス] -j DROP(特定のIPからの通信を破棄)です。設定は一時的なため、永続化にはservice iptables saveを使用します
1. 特定のIPアドレスからのアクセスをブロックする
特定のIPアドレス(例: 192.168.1.100)からの全通信を破棄(DROP)します。
bash
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
2. 特定のポート(サービス)へのアクセスをブロックする
特定のIPからの特定のポート(例: 22番:SSH)へのアクセスを制限します。
bash
sudo iptables -A INPUT -s 192.168.1.100 -p tcp –dport 22 -j DROP
3. IPアドレスの範囲(ネットワーク)をブロックする
CIDR表記(例: 192.168.1.0/24)を使用して、IP範囲全体をブロックします。
bash
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
4. 設定の確認と保存
ルール確認: sudo iptables -L -n –line-numbers
設定保存 (永続化):
sudo service iptables save (または iptables-save)
5. ブロックの解除
追加したルールと同じコマンドの -A(追加)を -D(削除)に置き換えて実行します。
bash
sudo iptables -D INPUT -s 192.168.1.100 -j DROP
※注意点
自身が使用しているSSH接続元のIPをブロックしないよう、十分に注意してください。
DROPは通信を無視し、REJECTは拒否を通知します。通常はセキュリティ上DROPが推奨されます。
iptablesの設定はサーバー再起動で消えるため、必ず保存が必要です
*******************************************************************
1. 特定のIPアドレスからのアクセスをブロックする
特定のIPアドレス(例: 192.168.1.100)からのすべての通信を拒否するには、以下のコマンドを使用します。
bash
# 特定のIPアドレスをブロック
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
-A INPUT: 入力パケットの末尾にルールを追加します 0.4.17。
-s: 送信元IPアドレスを指定します。
-j DROP: パケットを破棄(ブロック)します
2. 特定のポートへのアクセスをブロックする
特定のサービス(例: SSHの22番ポート)へのアクセスを特定のIPからのみ拒否、あるいは全体に適用する場合の設定です
bash
# 特定のIPからの特定ポート(22番)へのアクセスをブロック
sudo iptables -A INPUT -p tcp -s 192.168.1.100 –dport 22 -j DROP
-p tcp: プロトコル(TCP)を指定します。
–dport: 宛先ポート番号を指定します 0.4.28。
3. 設定内容の確認と削除
現在のルールを確認したり、間違えた設定を消去する方法です
ルールの確認:
bash
sudo iptables -L -n -v
-n: IPやポートを名前解決せずに数字で表示し、高速化します
ルールの削除:
追加したルールの -A を -D に変えることで削除できます。
bash
sudo iptables -D INPUT -s 192.168.1.100 -j DROP
4. 設定の保存(重要)
iptablesコマンドで設定したルールは、サーバーを再起動すると消えてしまいます。永続化するためには保存が必要です。
bash
sudo service iptables save
注意点
自分自身を締め出さないように注意: SSH接続中にSSHポートをブロックする設定を適用すると、サーバーの操作ができなくなります。
ルールの順序: iptablesは上から順番にルールを評価します。すべての通信を拒否する設定の「上」に、許可する設定を書くのが基本です