iptables
iptables関係のパッケージを探す
# apt-cache search iptables
たくさんのパッケージがずらずらと出てくる。無難にiptableを入れる
iptablesはインストールされたが、どうやらコマンドのみで、起動スクリプトなどはインストールされないらしい。そこでiptablesをコマンドから実行することにする。あちこち調べるとどうやら/etc/network/if-pre-up.d以下のディレクトリにあるシェルスクリプトを自動的に実行するらしい。
# vi /etc/network/if-pre-up.d/iptables.sh
以下のような内容とする。
#!/bin/sh
# Remove All Rule
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT# Drop All
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP# Accept Loopback
/sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
/sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT# Write Accept Port
/sbin/iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --destination-port 123 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 123 -j ACCEPT# Write Log
/sbin/iptables -A INPUT -j LOG --log-prefix "IN-Deny! "
/sbin/iptables -A INPUT -j DROP
/sbin/iptables -A OUTPUT -j LOG --log-prefix "OUT-Deny! "
/sbin/iptables -A OUTPUT -j DROP
実行許可を与え、実行してみる
ところが以下のようなエラー
iptables v1.3.6: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
いろいろ調べてみるとip_tables.oのモジュールが必要らしい。めんどくさいからカーネルからコンパイルすることにする。
続きは明日
時刻合わせ
先日インストールしたDebianをいじってみる。たまたま日付があっていないことに気づく。
以下のURLでプロパイダのNTPサーバを見つける
見つけたのちntpdateで時刻同期
ところがエラー。どうやらntpdateがないもよう。ntpdateをインストールする。
# aptitude install ntpdate
これでとりあえずntpdateで時刻を修正できるようになった。ntpをインストールして同期をとるか迷ったが、そこまでする必要はないだろうということでcronでntpdateを定時起動するだけにする。
# crontab -e
ところがここでGNU nanoというエディタが開く。わからないエディタは怖いので、エディタを終了。EDITOR環境変数を設定してviを起動するように設定する。
# EDITOR=vi; export EDITOR
crontabに値を設定して保存。viを使うように.bashrcに設定する。
# vi .bashrc
ここで、大事なことに気づく、rm、cp、mvのaliasがコメントアウトされている。どうやら、aliasを使いたければ自分でコメントを取れということらしい。なるほど……、OS側で余計なことはしないということか……。とりあえずコメントを外し、EDITOR環境変数を設定する。そして再びログイン。
# crontab -e
以下の行を追加