8.インターネットに接続する前に |
iptablesによるポートのフィルタ設定
(ここでは設定内容のみ示します。 詳細を知りたい方は「オンラインマニュアル」または各種Webページをご覧ください)
次に、ブート時に設定させるコンフィグを作成します
/etc/sysconfig/iptables
ファイルの内容 説明 *filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp !
--tcp-flags SYN,RST,ACK SYN -j DROP
-A INPUT -j RH-Firewall-1-INPUT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -j LOG
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
COMMITfilterテーブル
ここ↓で指定しない入力パケットは全て廃棄する
Fedoraのインストール時に設定したファイアウォール
loopbackでの使用は制限なし
宅内ネットワークからは制限なし
TCPの割り込みパケットは廃棄
(←この行は実際には上の行の続きです)
Fedoraの既定チェーンに飛ぶ
WWW(80)は許可
SMTP(Email:25)は許可
廃棄されるパケットを記録する
このサーバを通過するパケットもFedora既定チェーンへ
ACK付のTCPパケットは許可(Established)
icmpパケットはすべて許可
???(Fedoraの既定設定)
???(Fedoraの既定設定)
xinetdでのアクセス制限
xinetdでは標準でアクセス制限の設定が可能です
以前多くのUNIX系サーバで使用されていたinetdではTCPwrapperを使用して同様の機能を確保していました
ここでは、コンフィグの例を示します( /etc/xinetd.d/telnet )
# default: on
# description: The telnet server serves telnet
# sessions; it uses unencrypted
# username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
only_from = 192.168.1.0/24 127.0.0.1
}
サービス名 telnetの設定開始(/etc/services参照)
TCP上のサービスです
接続要求時にはin.telnetdをバックグラウンドで起動
サーバプロセス起動時のユーザ名
サーバプログラム名
接続失敗時には使用されたユーザIDを記録します
このサービスは有効です
192.168.1.0/24とloopback(127.0.0.1)からの
接続要求のみ受け付けます
tripwireによるファイルの改竄(かいざん)検出
RedHat9用rpmパッケージをインストールするとtripwireの設定ファイルは/etc/tripwireに置かれます
この中で、重要なファイルはtwpol.txtとtecfg.txtです。
これらのファイルは、
1.関連ファイルのパス
2.どのファイルをチェックするか?
3.ファイルのどの属性をチェックするか?(タイムスタンプ、サイズ、所有者、ハッシュ値等)
を指定します。
tripwireの初期設定は /etc/tripwire/twinstall.shを使用します
この中では、site passphrase、local passphraseの設定、tw.cfg, tw.polの設定を実行します
tw.cfgはtwcfg.txtを暗号化したもの、同様にtw.polはtwpol.txtを暗号化したものです
RedHat Linuxに入れられているtwpol.txtはRedHat Linuxに特化しているとはいえ、実際にインストールされているパッケージによっては「存在しないファイル」をチェックするように設定されてしまいますのでtwpol.txtと実際のファイルの有無を付き合わせながら設定する必要があります
(私の自宅サーバ中の設定はこちら→ twcfg.txt twpol.txt)
当然ながら、パッケージのアップデート等を実施した場合にはtripwireのデータも更新する必要があります。
# tripwire -m u -r /var/lib/tripwire/report/(レポートファイル名)
または(「データのアップデートよりも作成し直したほうが楽かも?」という事で)
# tripwire -m i