LinuxのIPTablesでIPアドレスをブロックする方法
Linuxサーバーを運用している方にとって、セキュリティ対策は避けて通れない課題です。DDoS攻撃や自動化されたボットによる不正アクセスの試みなど、サーバーへの脅威は後を絶ちません。不審なアクセス元のIPアドレスを特定できたら、次に行うべきはそのIPアドレスのブロックです。この記事では、多くのLinuxディストリビューションに標準搭載されているファイアウォール「IPTables」を使って、特定のIPアドレスからのアクセスを遮断する方法を解説します。
単一のIPアドレスをブロックする方法
ブロックしたいIPアドレスが1つだけの場合は、以下のコマンドを使用します。
# iptables -I INPUT -s 122.174.12.228 -j DROP
このコマンドを実行すると、iptablesの設定に新しいエントリが追加され、指定したIPアドレスから送信されるすべてのパケットが破棄されるようになります。「-s」の後に続く部分を、実際にブロックしたいIPアドレスに置き換えて使用してください。
複数のIPアドレスを一括でブロックするスクリプト
攻撃が頻発している場合は、ブロック対象のIPアドレスを1件ずつ手作業で登録するのは非効率です。そこで、拒否リストに記載されたIPアドレスをまとめて登録できるスクリプトを作成しておくと便利です。まず、以下の内容でシェルスクリプトを作成します。
#!/bin/sh
for i in $(< banned_IPs.cfg) ; do
iptables -I INPUT -i eth1 -s "$i" -j DROP
done
このスクリプトを「banned_IPs.sh」というファイル名で保存し、実行権限を付与します。
# chmod +x banned_IPs.sh
次に、「banned_IPs.cfg」というファイルを作成し、ブロックしたいIPアドレスを1行に1つずつ入力していきます。
122.174.12.228
129.122.10.23
111.154.84.130
最後に、以下のコマンドでスクリプトを実行すれば、cfgファイルに記載されたすべてのIPアドレスがiptablesのブロックリストへ一括登録されます。
# ./banned_IPs.sh
注意点:設定の永続化について
iptablesで追加したルールは、そのままではサーバーの再起動時に失われてしまいます。設定を恒久的に有効化したい場合は、お使いのディストリビューションに応じて「iptables-save」コマンドでルールを保存したり、「iptables-persistent」パッケージを利用したりして、ルールを永続化してください。また、ネットワークインターフェース名(上記スクリプトではeth1)は環境によって異なるため、自分のサーバー構成に合わせて適宜修正することも忘れないようにしましょう。
-
ChromebookでLinuxアプリを使う方法|初期設定からアプリ導入まで完全解説
この記事では、ChromebookにLinux環境をセットアップする手順を、初心者にもわかりやすくステップごとに解説します。さらに、「コマンドライン」と「GNOME Software Center(いわゆるLinux版のApp Store)」という2つの方法を使って、Linuxアプリやゲームをインストールする方法も紹介します。このガイドは大きく2つのパートに分かれています。まずはChromebookへのLinuxのセットアップ方法、次にGNOME Software Center(Linux向けのアプリストアのようなもの)のインストール方法です。それでは早速始めましょう!ChromebookにL
-
Windows・Mac・iOS・Android・LinuxでMACアドレスを確認する方法【完全ガイド】
スマートフォンやパソコンに搭載されているすべてのネットワークアダプターには、固有の物理アドレスである「MACアドレス」が割り当てられています。MACアドレスは48ビットの値で構成され、12桁の英数字(16進数)で表現されます。ネットワーク上でデバイスを一意に識別するために使われる重要な情報です。この記事では、各OS・デバイスでMACアドレスを簡単に確認する方法を解説します。なお、スマートフォンやパソコンは複数のネットワークアダプター(Wi-Fi、Bluetooth、イーサネットなど)を持つ場合があり、その場合は複数のMACアドレスが存在することに注意してください。iOSデバイス(iPhone・