アクセス制限用.htaccessの書き方

*******************************************************************

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は上から順番にルールを評価します。すべての通信を拒否する設定の「上」に、許可する設定を書くのが基本です