Project DARTS

フリーフォント(日本語・英字)や、フリーソフトを配布中!無料で利用できます。

セキュリティの始まりはiptables!

| 0件のコメント

iptablesとは、Linuxのファイヤーウォールです。サーバとして使われているLinuxでは、日夜いろんなところからアタックを受けることが常です。

自宅サーバや、専用サーバーや、VPSなど管理者(root)権限のあるサーバを使う場合は、iptablesは最低限のマナーとして必ず設定しておきましょう。 ここでは、iptablesの設定をシェルスクリプトにして実行してみます。

以下のiptablesの設定は、必要最低限かなーっと思う設定になっています。もっと色んな設定が出来ますので、ご自身で調べてみて下さい。(コピーして使う場合は、自己責任でお願いします。)

#!/bin/bash

IPTABLES=/sbin/iptables

# 設定の初期化
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

# 基本設定
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

# サーバ内・ローカル内の通信を全て許可
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 192.168.0.0/16 -j ACCEPT
$IPTABLES -A INPUT -p udp -s 192.168.0.0/16 -j ACCEPT

# 接続済みの通信は許可
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# PINGに応答させる
$IPTABLES -A INPUT -p icmp -j ACCEPT

# WEBサーバー(http,https)の通信を許可
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT

# SSHサーバーの通信を許可
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT

# MAILサーバーの通信設定(smtp,submission,pop,imap)
$IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 587 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 143 -j ACCEPT

# DNSサーバの通信を許可
$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT

# MySQLの外部通信を許可
#$IPTABLES -A INPUT -p tcp --dport 3306 -j ACCEPT

# PostgreSQLの外部通信を許可
#$IPTABLES -A INPUT -p tcp --dport 5432 -j ACCEPT

# Webminを許可する
#$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT

# FTPを許可(PASVモード対応)
#$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 4000:4029 -j ACCEPT

間違っている箇所、質問などあれば、コメントで!(^^;

2012/10/19 修正 パスの指定でスペース入れてしまっていたので修正。

コメントを残す

必須欄は * がついています