はじめに
ファイアウォールの設定は、最新のオペレーティングシステムのほとんどを保護する上で重要な段階です。ほとんどのLinuxディストリビューションには、ファイアウォールの構成に使用できるさまざまなファイアウォールツールが装備されており、iptablesもその1つです。ほとんどの記事では、iptablesを使用してファイアウォールルールを設定する方法を説明していますが、この記事では、それらを削除またはフラッシュする方法に焦点を当てています。
注: このチュートリアルでは、IPv4セキュリティについて説明します。 Linuxでは、IPv6のセキュリティはIPv4とは別に維持されます。たとえば、「iptables」はIPv4アドレスのファイアウォールルールのみを維持しますが、「ip6tables」と呼ばれるIPv6の対応物があり、IPv6ネットワークアドレスのファイアウォールルールを維持するために使用できます。
前提条件
このガイドに従う前に、サーバーにsudo権限が設定された、root以外のスーパーユーザーアカウントにアクセスできる必要があります。サーバーをセットアップする必要がある場合は、適切なガイドがあります
- Ubuntu14.04を使用したサーバーの初期設定
iptablesルールの一覧表示
iptablesルールをフラッシュする前に、ファイアウォールに適用されている現在のルールを確認する必要があります。以下のコマンドを使用してこれを行うことができます
#sudo iptables -L
Chain INPUT(policy ACCEPT)target prot opt source destination Chain FORWARD(policy ACCEPT)target prot opt source prot opt source cept destination source ac hain OUTPUT現在のルールは、-Lフラグの代わりに-Sフラグを使用して、より単純な形式で表示することもできます:
#sudo iptables -S-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT両方の結果で、3つのチェーンがINPUT、FORWARD、およびOUTPUTとして表示されていることがわかります。また、各チェーンのデフォルトポリシーがACCEPTとして設定されていることもわかりますが、上記の結果には実際のルールは設定されていません。これは、Ubuntu/CentOSにデフォルトのルールが設定されていないためです。
Iptablesルールのフラッシュ
サーバー上のすべてのiptablesルールをフラッシュする前に、すべてのデフォルトポリシー(INPUT、FORWARD、OUTPUT)をACCEPTに設定していることを確認してください。これを行う主な理由は、SSH経由でサーバーからブロックされないようにするためです。
#sudo iptables -P INPUT ACCEPT#sudo iptables -P FORWARD ACCEPT#sudo iptables -P OUTPUT ACCEPT次に、NATテーブルとマングルテーブルをフラッシュし、すべてのチェーンをフラッシュし(-F)、すべてのデフォルトチェーンを削除します(-X)。これを行うには、次のコマンドを続けて実行します。
#sudo iptables -t mangle -X#sudo iptables -t mangle -F#sudo iptables -t nat -X#sudo iptables -t nat -F#sudo iptables -X#sudo iptables -Fすべてのルールをフラッシュしたので、iptables -Sコマンドを使用して現在のルールをチェックし、以下に説明するようにデフォルトのチェーンのみが表示されていることを確認します。
#sudo iptables -S-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPTiptablesルールを保存
デフォルトでは、iptablesルールへの変更は、保存されていない限り、次回のサーバーの再起動時に消去されます。 iptablesルールを保存するには、以下の手順に従ってください。
Ubuntu:
Iptabelsルールを永続的に保存するには、いくつかの異なる方法で設定を保存できますが、最も簡単な方法は「iptables-persistent」パッケージを使用することです。これは、Ubuntuのデフォルトのリポジトリからダウンロードできます:
#sudo apt-get update#sudo apt-get install iptables-persistent次のコマンドでファイアウォールルールを保存します:
#sudo invoke-rc.d iptables-persistent saveCentOS(6歳以上):
次のコマンドを実行するだけで、CentOS6以前のiptablesルールを保存できます。
#sudo service iptables save
Ubuntu