|
|
|
|
アップグレードパッケージの自動検索 |
|
|
|
|
|
アップグレードパッケージを検索して、あればroot宛てにメールを送信ログ保存する。 |
|
|
● |
実行スクリプトを作成
|
|
|
|
# vi apt-up.sh
以下を入力
#!/bin/sh
apt-get update > /var/log/apt-up.log
apt-get -s upgrade >> /var/log/apt-up.log
grep "Inst" /var/log/apt-up.log
chmod 600 /var/log/apt-up.log
編集終了 保存
スクリプトに実行権を与える
# chmod 700 apt-up.sh
cronに登録
# crontab -e
00 04 * * * /root/apt-up.sh 毎日4時に実行
保存 終了
cronを再起動
# /etc/rc.d/init.d/crond restart
crondを停止中: [ OK ]
crondを起動中: [ OK ]
|
|
|
|
|
|
● |
パッケージのアップグレード |
|
|
|
apt-up.shからのメールを受けてパッケージのアップグレードをする。 |
|
|
最新のアップデート情報を取得する
# apt-get update
OSのアップグレードをする
# apt-get -y dist-upgrade
|
|
|
|
|
|
ファイアーウォールの設定 |
|
|
iptablesコマンドをシェルスクリプトを使って実行する。 |
|
|
● |
設定ファイルのダウンロードと編集 |
|
|
|
デフォルトの設定ファイルを削除
# rm -f /etc/ppp/firewall-masq
設定ファイルを【Vine Linuxで自宅サーバー】様よりダウンロードする
ディレクトリ移動
# cd /etc/ppp
ダウンロード
# wget http://vine.1-max.net/rpm/firewall-masq
設定ファイルの編集
# vi /etc/ppp/firewall-masq.1
以下を自分の環境に合わせて変更
LAN='192.168.0.0/24' # ローカル・ネットワーク・アドレス
編集終了 保存
設定の反映
# sh /etc/ppp/firewall-masq.1
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: ファイアウォールルールを適用中:
これでいいのでしょうか??
|
|
|
|
|
|
|
|
|
|
Swatchで不正アクセス遮断(Swatch+iptables) |
|
|
|
|
|
SWATCHで各システムのログファイルを監視し、特定のパターンにマッチした場合iptablesと連係しアクセスを遮断させる。 |
|
● |
cpanでモジュールをインストール |
|
|
|
# cpan
cpanからの確認は全てenterする
cpan[1]>exit 終了
SWATCHをダウンロードする
# wget http://downloads.sourceforge.net/swatch/swatch-3.2.3.tar.gz
展開
# tar fvxz swatch-3.2.3.tar.gz
展開されたディレクトリに移動
# cd swatch-3.2.3
|
|
|
|
|
|
● |
アクセス遮断スクリプトの作成 |
|
|
|
# vi /usr/bin/swatch.sh
以下を入力する
#!/bin/bash
PATH=/bin:/sbin:/usr/bin
LANG=C
# IPブロック時メール送信先(送信しない場合はコメントアウト)
mail=root
# 不正アクセスをブロックするまでの回数
max=3
# ログを標準入力から取得
read LOG
# ログからIPアドレスを抽出
IPADDR=`echo $LOG|cut -d " " -f $1`
echo "$IPADDR"|grep "^[0-9]*\." > /dev/null 2>&1
if [ $? -eq 0 ]; then
IPADDR=`echo "$IPADDR"|sed -e 's/\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
else
IPADDR=`echo "$IPADDR"|sed -e 's/.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
fi
# IPアドレス分割
addr1=`echo $IPADDR|cut -d . -f 1`
addr2=`echo $IPADDR|cut -d . -f 2`
addr3=`echo $IPADDR|cut -d . -f 3`
addr4=`echo $IPADDR|cut -d . -f 4`
# IPアドレスがプライベートIPアドレスの場合は動作させない
if [ "$IPADDR" = "127.0.0.1" ]; then
exit
elif [ $addr1 -eq 10 ]; then
exit
elif [ $addr1 -eq 172 ] && [ $addr2 -ge 16 ] && [ $addr2 -le 31 ]; then
exit
elif [ $addr1 -eq 192 ] && [ $addr2 -eq 168 ]; then
exit
fi
# 不正IPアドレス別にログファイル作成
echo $LOG >> /var/log/swatch/$IPADDR
# 不正IPアドレス別ログファイルから累積不正アクセス数取得
cnt=`cat /var/log/swatch/$IPADDR | wc -l`
# 該当IPアドレスが指定した累積不正アクセス数に達した時と
# 引数でBlockと指定された場合アクセス規制
if [ "$cnt" -ge "$max" ] || [ $# -eq 2 -a "$2" = "Block" ]; then
# 該当IPアドレスからのアクセスを拒否するルールを挿入
iptables -I INPUT -s $IPADDR -j DROP
# 上記ルールを24時間後に削除するスケジュールを登録
echo "iptables -D INPUT -s $IPADDR -j DROP > /dev/null 2>&1" | \
at now+24hour > /dev/null 2>&1
# アクセス規制IPアドレス情報をメール通知
[ "$mail" != "" ] && (cat /var/log/swatch/$IPADDR ; \
echo ; whois $IPADDR) | \
mail -s "IP Block!" $mail
# ブロック済不正IPアドレス別ログファイル削除
rm -f /var/log/swatch/$IPADDR
echo "`date` $IPADDR $cnt Block!"
else
echo "`date` $IPADDR $cnt"
fi
編集終了 保存
スクリプトに実行権限を与える
# chmod 700 /usr/bin/swatch.sh
設定ファイル用ディレクトリ作成
# mkdir /etc/swatch
|
|
|
|
|
|
● |
ログローテーション設定ファイル作成 |
|
|
|
# vi /etc/logrotate.d/swatch
以下を入力
/var/log/swatch/swatch.log {
missingok
notifempty
sharedscripts
postrotate
/etc/rc.d/init.d/swatch restart > /dev/null || true
endscript
}
編集終了 保存
|
|
|
|
|
|
● |
FTPサーバー(ProFTPd)の不正接続を監視する |
|
|
|
ProFTPd用の設定ファイルを作成
# vi /etc/swatch/proftpd-auth.conf
以下を入力
#監視ログの場所を指定
# logfile /var/log/proftpd/auth.log
#監視したい文字列を記載
watchfor /530$/
#ログのIPアドレスの場所を指定し、アクセス遮断スクリプトへ渡す
pipe "/usr/bin/swatch.sh 5"6
編集終了 保存
|
|
|
|
|
|
● |
Swatchの起動スクリプトDLと自動起動設定 |
|
|
|
起動スクリプトDL先へ移動
# cd /etc/rc.d/init.d/
【Vine Linuxで自宅サーバー】様から起動スクリプトDL
# wget http://vine.1-max.net/rpm/swatch
# cd rootに戻る
実行権を与える
# chmod +x /etc/rc.d/init.d/swatch
SWATCH起動
# /etc/rc.d/init.d/swatch start
Starting swatch
SWATCH起動スクリプトをcheconfigへ登録
# chkconfig --add swatch
SWATCH自動起動設定
# chkconfig swatch on
SWATCH自動起動設定確認
# chkconfig --list swatch
swatch 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ランレベル2〜5がonならOK
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|