スポンサードリンク
スポンサードリンク
キーワードに合ったホームページを自動的に作っちゃおうツール
キーワードに合ったホームページを自動的に作っちゃおうツール
最新版のダウンロードはこちら↓
EXCEL版
BlogHPEditTool.exe
※実行ファイル版を作成中の為、
今後、修正やバージョンアップはありません。m(__)m
キーワードに合ったホームページを自動的に作っちゃおうツール
Vine Linux 4.2 iptablesでファイアーウォール
さて前回は、ntpで時間を合わせました
今回はiptablesでファイアーウォールを設定します
前回「Vine Linux 4.2 インストール後の設定(ntpで時間を合わせる)」
今回はインストールするパッケージはありません
とりあえず、コマンドなどの紹介
で、どうするかと言うと
# iptables -P INPUT DROP # 受信は全て破棄
# iptables -P OUTPUT ACCEPT # 送信はすべて許可
# iptables -P FORWARD DROP # 通過はすべて破棄
とか、
するわけです
感の良い人はわかったかな?
そう!
全てのルールに対してコマンドを打ち続けなくてはなりません
しかも!
PCが再起動するとルールが消えるらしい。。。
で、
iptables ではコマンド入力で設定するより
シェルスクリプトで行う方が一般的なので
スクリプトを作成します。
シェルスクリプト?
えーと
一連のコマンドなどを組み合わせて作ったプログラム
で、いいのかな?
とりあえず作ります
# vi /root/iptables.sh
これで新しいファイルを作ります
※公開サービスの所は自分の環境に合わせてください
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iptables.sh
# wget https://afexcel.up.seesaa.net/rpm/iptables.sh
とすれば、取得できます
ダウンロードされる場所は
現在のディレクトリです
現在のディレクトリがわからない人は
ダウンロードして欲しいディレクトリに移動して
ダウンロードしてください
このファイルは root 権限で実行され
独自に作ったファイルなので
一般的には /root に置く。。。のかな?
これで /root にファイルが保存されました
現在のディレクトリ内のファイルやフォルダを表示
# ls
ダウンロードしたファイルはありましたか?
ファイアウォール設定スクリプトへ実行権限付加
# chmod 700 iptables.sh
これをしないとこのスクリプトを実行できません
このシェルスクリプトは http://nami.jp/ipv4bycc/ から、
「世界の国別 IPv4 アドレス割り当てリスト」をダウンロードして
その中の「中国[CN]・韓国[KR]・台湾[TW]」に該当するIPアドレスからの接続を拒否するように設定されます
(北朝鮮[KP]も含めた方が良いのかな?)
今ダウンロードしたファイルでは
リストのダウンロードはしません
ですのでダウンロードする為のファイルを作ります
# vi /root/iptables_functions
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iptables_functions
このIPアドレスリストは1日1回程度で更新されているようなので
更新があればファイアウォール設定を更新するスクリプトを作成します
# vi /etc/cron.daily/iplist_check.sh
作成するファイルのディレクトリが今までと違います
/etc/cron.daily ディレクトリは
cron デーモンが毎日実行するスクリプトが入っています
つまり、ここにスクリプトを作成し置いておけば
毎日実行されるわけです
ファイルの中身
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iplist_check.sh
で、実行するってことは実行権限をつけなくちゃ
# chmod +x /etc/cron.daily/iplist_check.sh
実際に実行
# /root/iptables.sh
エラー出ませんでした?
正常に終了したなら
こんな感じに表示されると思います
それともこんな感じ?
サーバPC起動時に起動するように。。。と
# chkconfig iptables on
設定を確認
ランレベル 2,3,4,5 が on になってるので OK
まぁこんなところで
iptables でのファイアウォールは終了ですなぁ
参考: ファイアウォール構築(iptables) - CentOSで自宅サーバー構築
参考: 「iptables」によるパケットフィルタリング
参考: 世界の国別 IPv4 アドレス割り当てリスト
参考: 警察庁セキュリティポータルサイト@police−インターネット定点観測
丸写しじゃねえか!って突っ込みは。。。
今回はiptablesでファイアーウォールを設定します
前回「Vine Linux 4.2 インストール後の設定(ntpで時間を合わせる)」
今回はインストールするパッケージはありません
とりあえず、コマンドなどの紹介
■テーブル
テーブル 説明
filter: -t オプションが指定されない場合のデフォルトのテーブル
nat: 新しい接続を開くようなパケットに対して参照される
Linuxをルータとして利用する場合には重要
mangle: 特別なパケット変換に使われる
■チェイン
チェイン 説明
INPUT 入力されるパケット
OUTPUT 出力されるパケット
FORWARD 転送するパケット
■ルール時に使用する主なパラメータ
ターゲット 説明
ACCEPT 許可
DROP 廃棄
REJECT 拒否(接続元に通知)
■オプション
コマンド 説明
-A チェインの最後にルールを追加する
-D チェインのルールを削除する
-I ルール番号を指定してチェインにルールを挿入する
ルール番号が省略された場合、先頭に挿入する
-R チェインのルールを置換する
-L チェインのルールを表示する
-F チェインのルールを全て削除する
-Z すべてのチェインのパケットカウンタとバイトカウンタをゼロにする
-N ユーザ定義チェインを作成する
-X ユーザ定義チェインを削除する
-P チェインのポリシーを設定する
-E ユーザ定義チェインの名前を変更する
■パケットマッチングモジュール
パラメータ 説明
--limit 単位時間あたりの平均マッチ回数の最大値
/second、/minute、/hour、/day が利用出来る
デフォルトは 3/hour
--limit-burst パケットがマッチする回数の最大初期値
デフォルトは5
で、どうするかと言うと
# iptables -P INPUT DROP # 受信は全て破棄
# iptables -P OUTPUT ACCEPT # 送信はすべて許可
# iptables -P FORWARD DROP # 通過はすべて破棄
とか、
するわけです
感の良い人はわかったかな?
そう!
全てのルールに対してコマンドを打ち続けなくてはなりません
しかも!
PCが再起動するとルールが消えるらしい。。。
で、
iptables ではコマンド入力で設定するより
シェルスクリプトで行う方が一般的なので
スクリプトを作成します。
シェルスクリプト?
えーと
一連のコマンドなどを組み合わせて作ったプログラム
で、いいのかな?
とりあえず作ります
# vi /root/iptables.sh
これで新しいファイルを作ります
#!/bin/bash
#---------------------------------------#
# 設定開始 #
#---------------------------------------#
# インタフェース名定義
LAN=eth0
#---------------------------------------#
# 設定終了 #
#---------------------------------------#
# 内部ネットワークのネットマスク取得
# VineLinux のように日本語表記の場合「マスク」
# それ以外の場合「Mask」となる(環境に合わせる)
LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*マスク:\([^ ]*\)$/\1/p' -e d`
# 内部ネットワークアドレス取得
LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '`
LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
# ファイアウォール停止(すべてのルールをクリア)
/etc/rc.d/init.d/iptables stop
# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
iptables -P INPUT DROP # 受信はすべて破棄
iptables -P OUTPUT ACCEPT # 送信はすべて許可
iptables -P FORWARD DROP # 通過はすべて破棄
# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT
# 内部からのアクセスをすべて許可
iptables -A INPUT -s $LOCALNET -j ACCEPT
# 内部から行ったアクセスに対する外部からの返答アクセスを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SYN Cookiesを有効にする
# ※TCP SYN Flood攻撃対策
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf
# ブロードキャストアドレス宛pingには応答しない
# ※Smurf攻撃対策
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf
# ICMP Redirectパケットは拒否
sed -i '/net.ipv4.conf.*.accept_redirects/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_redirects=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_redirects=0" >> /etc/sysctl.conf
done
# Source Routedパケットは拒否
sed -i '/net.ipv4.conf.*.accept_source_route/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_source_route=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_source_route=0" >> /etc/sysctl.conf
done
# フラグメント化されたパケットはログを記録して破棄
iptables -A INPUT -f -j LOG --log-prefix '[IPTABLES FRAGMENT] : '
iptables -A INPUT -f -j DROP
# 外部とのNetBIOS関連のアクセスはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT -s ! $LOCALNET -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A INPUT -s ! $LOCALNET -p udp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -d ! $LOCALNET -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -d ! $LOCALNET -p udp -m multiport --sports 135,137,138,139,445 -j DROP
# 1秒間に4回を超えるpingはログを記録して破棄
# ※Ping of Death攻撃対策
iptables -N LOG_PINGDEATH
iptables -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
iptables -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : '
iptables -A LOG_PINGDEATH -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH
# 全ホスト(ブロードキャストアドレス、マルチキャストアドレス)宛パケットはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT -d 255.255.255.255 -j DROP
iptables -A INPUT -d 224.0.0.1 -j DROP
# 113番ポート(IDENT)へのアクセスには拒否応答
# ※メールサーバ等のレスポンス低下防止
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset
# ACCEPT_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
ACCEPT_COUNTRY_MAKE(){
for addr in `cat cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
done
}
# DROP_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを破棄するユーザ定義チェイン作成
DROP_COUNTRY_MAKE(){
for addr in `cat cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A DROP_COUNTRY -s $addr -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '
iptables -A DROP_COUNTRY -s $addr -j DROP
done
}
# iptables設定スクリプト外部関数取り込み
. /root/iptables_functions
# IPアドレスリスト取得
IPLISTGET
# 日本からのアクセスを許可するユーザ定義チェインACCEPT_COUNTRY作成
iptables -N ACCEPT_COUNTRY
ACCEPT_COUNTRY_MAKE JP
# 以降,日本からのみアクセスを許可したい場合はACCEPTのかわりにACCEPT_COUNTRYを指定する
# 中国・韓国・台湾からのアクセスを破棄するユーザ定義チェインDROP_COUNTRY作成
iptables -N DROP_COUNTRY
DROP_COUNTRY_MAKE CN
DROP_COUNTRY_MAKE KR
DROP_COUNTRY_MAKE TW
# 以降,中国・韓国・台湾からのアクセスを破棄したい場合はDROPのかわりにDROP_COUNTRYを指定する
# IPアドレスリスト削除
rm -f cidr.txt
# 中国・韓国・台湾※からのアクセスをログを記録して破棄
# ※全国警察施設への攻撃元上位3カ国(日本・アメリカを除く)
# http://www.cyberpolice.go.jp/detect/observation.htmlより
iptables -A INPUT -j DROP_COUNTRY
#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#
# 外部からのTCP22番ポート(SSH)へのアクセスを日本からのみ許可
# ※SSHサーバーを公開する場合のみ
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY
# LAN内からのみSSH(22番ポート)に接続を許可
iptables -A INPUT -s $LOCALNET -p tcp --dport 22 -j ACCEPT
# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
# ※外部向けDNSサーバーを運用する場合のみ
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
# 外部からのTCP80番ポート(HTTP)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 外部からのTCP443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 外部からのTCP21番ポート(FTP)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 21 -j ACCEPT_COUNTRY
# 外部からのPASV用ポート(FTP-DATA)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
# ※PASV用ポート60000:60030は当サイトの設定例
iptables -A INPUT -p tcp --dport 60000:60030 -j ACCEPT_COUNTRY
# ※PASV設定を使わない場合
#iptables -A INPUT -p tcp --dport 20 -j ACCEPT_COUNTRY
# 外部からのTCP25番ポート(SMTP)へのアクセスを許可
# ※SMTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
# 外部からのTCP465番ポート(SMTPS)へのアクセスを日本からのみ許可
# ※SMTPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 465 -j ACCEPT_COUNTRY
# 外部からのTCP110番ポート(POP3)へのアクセスを日本からのみ許可
# ※POP3サーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 110 -j ACCEPT_COUNTRY
# 外部からのTCP995番ポート(POP3S)へのアクセスを日本からのみ許可
# ※POP3Sサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 995 -j ACCEPT_COUNTRY
# 外部からのTCP143番ポート(IMAP)へのアクセスを日本からのみ許可
# ※IMAPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 143 -j ACCEPT_COUNTRY
# 外部からのTCP993番ポート(IMAPS)へのアクセスを日本からのみ許可
# ※IMAPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 993 -j ACCEPT_COUNTRY
# 外部からのUDP1194番ポート(OpenVPN)へのアクセスを日本からのみ許可
# ※OpenVPNサーバーを公開する場合のみ
iptables -A INPUT -p udp --dport 1194 -j ACCEPT_COUNTRY
# VPNインタフェース用ファイアウォール設定
# ※OpenVPNサーバーを公開する場合のみ
[ -f /etc/openvpn/openvpn-startup ] && /etc/openvpn/openvpn-startup
# LAN内からのみwebmin(デフォルト10000番ポート)に接続を許可
iptables -A INPUT -s $LOCALNET -p tcp --dport 10000 -j ACCEPT
# LAN内からのみVMware server(デフォルト902番ポート)に接続を許可
iptables -A INPUT -s $LOCALNET -p tcp --dport 902 -j ACCEPT
#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#
# 拒否IPアドレスからのアクセスはログを記録せずに破棄
# ※拒否IPアドレスは/root/deny_ipに1行ごとに記述しておくこと
# (/root/deny_ipがなければなにもしない)
if [ -s /root/deny_ip ]; then
iptables -N DENY_HOST
for ip in `cat /root/deny_ip`
do
iptables -A DENY_HOST -s $ip -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_HOST] : '
iptables -A DENY_HOST -s $ip -j DROP
iptables -I INPUT -j DENY_HOST
done
fi
# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -j DROP
iptables -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : '
iptables -A FORWARD -j DROP
# サーバー再起動時にも上記設定が有効となるようにルールを保存
/etc/rc.d/init.d/iptables save
# ファイアウォール再起動
/etc/rc.d/init.d/iptables restart
※公開サービスの所は自分の環境に合わせてください
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iptables.sh
# wget https://afexcel.up.seesaa.net/rpm/iptables.sh
とすれば、取得できます
ダウンロードされる場所は
現在のディレクトリです
現在のディレクトリがわからない人は
ダウンロードして欲しいディレクトリに移動して
ダウンロードしてください
このファイルは root 権限で実行され
独自に作ったファイルなので
一般的には /root に置く。。。のかな?
# cd /root
# wget https://afexcel.up.seesaa.net/rpm/iptables.sh
--18:00:15-- https://afexcel.up.seesaa.net/rpm/iptables.sh
=> `iptables.sh'
afexcel.up.seesaa.net をDNSに問い合わせています... 59.106.28.138, 59.106.28.143, 59.106.28.132. ...
afexcel.up.seesaa.net|59.106.28.138|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 8,294 (8.1K) [application/x-sh]
100%[========================================================>] 8,294 --.--K/s
18:00:17 (297.76 KB/s) - `iptables.sh' を保存しました [8294/8294]
これで /root にファイルが保存されました
現在のディレクトリ内のファイルやフォルダを表示
# ls
ダウンロードしたファイルはありましたか?
ファイアウォール設定スクリプトへ実行権限付加
# chmod 700 iptables.sh
これをしないとこのスクリプトを実行できません
このシェルスクリプトは http://nami.jp/ipv4bycc/ から、
「世界の国別 IPv4 アドレス割り当てリスト」をダウンロードして
その中の「中国[CN]・韓国[KR]・台湾[TW]」に該当するIPアドレスからの接続を拒否するように設定されます
(北朝鮮[KP]も含めた方が良いのかな?)
今ダウンロードしたファイルでは
リストのダウンロードはしません
ですのでダウンロードする為のファイルを作ります
# vi /root/iptables_functions
# IPアドレスリスト取得関数定義
IPLISTGET(){
# http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
wget -q http://nami.jp/ipv4bycc/cidr.txt
# 最新版IPアドレスリストが取得できなかった場合
if [ ! -f cidr.txt ]; then
if [ -f /tmp/cidr.txt ]; then
# バックアップがある場合はバックアップを読み込み、root宛にメール通知して処理を継続する
cp /tmp/cidr.txt cidr.txt
echo cidr.txt was read from the backup! | mail -s $0 root
else
# バックアップがない場合は、root宛にメール通知して処理を打ち切る
echo cidr.txt not found!|mail -s $0 root
exit 1
fi
fi
# 最新版IPアドレスリストを /tmpへバックアップする
/bin/cp cidr.txt /tmp/cidr.txt
}
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iptables_functions
このIPアドレスリストは1日1回程度で更新されているようなので
更新があればファイアウォール設定を更新するスクリプトを作成します
# vi /etc/cron.daily/iplist_check.sh
作成するファイルのディレクトリが今までと違います
/etc/cron.daily ディレクトリは
cron デーモンが毎日実行するスクリプトが入っています
つまり、ここにスクリプトを作成し置いておけば
毎日実行されるわけです
ファイルの中身
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# チェック国コード
COUNTRY_CODE='JP CN KR TW'
# iptables設定スクリプトパス
IPTABLES=/root/iptables.sh
# iptables設定スクリプト外部関数取り込み
. /root/iptables_functions
# IPアドレスリスト最新化
rm -f IPLIST.new
IPLISTGET
for country in $COUNTRY_CODE
do
if [ -f cidr.txt ]; then
grep ^$country cidr.txt >> IPLIST.new
else
grep ^$country /tmp/IPLIST >> IPLIST.new
fi
done
rm -f cidr.txt
# IPアドレスリスト更新チェック
diff -q /tmp/IPLIST IPLIST.new > /dev/null 2>&1
if [ $? -ne 0 ]; then
/bin/mv IPLIST.new /tmp/IPLIST
$IPTABLES > /dev/null
else
rm -f IPLIST.new
fi
ダウンロードURL
https://afexcel.up.seesaa.net/rpm/iplist_check.sh
で、実行するってことは実行権限をつけなくちゃ
# chmod +x /etc/cron.daily/iplist_check.sh
実際に実行
# /root/iptables.sh
エラー出ませんでした?
正常に終了したなら
# /root/iptables.sh
Resetting built-in chains to the default ACCEPT policy:ip_tables: (C) 2000-2006 Netfilter Core Team
Netfilter messages via NETLINK v0.30.
ip_conntrack version 2.4 (4096 buckets, 32768 max) - 232 bytes per conntrack
[ OK ]
Saving current rules to /etc/sysconfig/iptables: [ OK ]
Flushing all current rules and user defined chains: [ OK ]
Clearing all current rules and user defined chains: [ OK ]
Applying iptables firewall rules: [ OK ]
[ OK ]
こんな感じに表示されると思います
# /root/iptables.sh
Resetting built-in chains to the default ACCEPT policy: [ OK ]
Saving current rules to /etc/sysconfig/iptables: [ OK ]
Flushing all current rules and user defined chains: [ OK ]
Clearing all current rules and user defined chains: [ OK ]
Applying iptables firewall rules: [ OK ]
[ OK ]
それともこんな感じ?
サーバPC起動時に起動するように。。。と
# chkconfig iptables on
設定を確認
# chkconfig --list iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ランレベル 2,3,4,5 が on になってるので OK
まぁこんなところで
iptables でのファイアウォールは終了ですなぁ
参考: ファイアウォール構築(iptables) - CentOSで自宅サーバー構築
参考: 「iptables」によるパケットフィルタリング
参考: 世界の国別 IPv4 アドレス割り当てリスト
参考: 警察庁セキュリティポータルサイト@police−インターネット定点観測
丸写しじゃねえか!って突っ込みは。。。
この記事へのトラックバック
キーワードに合ったホームページを自動的に作っちゃおうツール
キーワードに合ったホームページを自動的に作っちゃおうツール
最新版のダウンロードはこちら↓
EXCEL版
BlogHPEditTool.exe
※実行ファイル版を作成中の為、
今後、修正やバージョンアップはありません。m(__)m
キーワードに合ったホームページを自動的に作っちゃおうツール
こちらのサイトのファンになり勉強させていただいてます。
質問があるのですが上記の設定をして
# /root/iptables.shとすると
/root/iptables.sh: line 112: iptables: command not found
/root/iptables.sh: line 113: iptables: command not found
/root/iptables.sh: line 142: iptables: command not found
/root/iptables.sh: line 153: iptables: command not found
/root/iptables.sh: line 157: iptables: command not found
/root/iptables.sh: line 158: iptables: command not found
/root/iptables.sh: line 162: iptables: command not found
/root/iptables.sh: line 166: iptables: command not found
/root/iptables.sh: line 182: iptables: command not found
/root/iptables.sh: line 190: iptables: command not found
/root/iptables.sh: line 198: iptables: command not found
/root/iptables.sh: line 237: iptables: command not found
/root/iptables.sh: line 238: iptables: command not found
/root/iptables.sh: line 239: iptables: command not found
/root/iptables.sh: line 240: iptables: command not found
と出てしまいました。
どうか解決方法を教えてください。
よろしくお願いいたします。
国コードを付け足したのですがiplist_check.shに
付け足してませんでした。
追加するとokがでました。
ありがとうございました。引き続き勉強させていただきます。
コメントアリガトですm(__)m
え〜。。。
自己解決したようですね(^^;
とりあえず。。。
/root/iptables.sh: line 240: iptables: command not found
/root/iptables.sh: line 240:
/root/iptables.sh 内の 240 行目
iptables: command not found
iptables のコマンドが無い?
ようするに
コマンドがおかしいですよ
って言われていますね(^^;
管理人もそんなに詳しくはないのですが
出来るだけ質問には答えます
間違えてるかもしれませんが。。。(^^;
現在、VINE4.2をカスタムインストールし、iptablesの書き方で迷っていたところ貴サイトを見つけました。不躾で申し訳ありませんが、Linux初心者故のiptables設定に関して2つの質問をさせていただくことをお許し下さい。
1つ目。VsftpdでFTPサーバ、OpensshでSSHサーバを構築し、LAN内のクライアントPC(WindowsXPPro)と市外のPC(Windows2KPro)からサーバPCのユーザー名ディレクトリ内に置いた動画やPDFファイルをPortForwarderとFFFTPを使ってアップロード・ダウンロードするには、他サイトで推奨している「/etc/sysconfig/iptables-config」に「IPTABLES_MODULES=”ip_conntrack_ftp”」を追記する必要があるのでしょうか。
尚且つ、ある場合でも追記の仕方が違う場合はどのようにすればよろしいのでしょうか。
2つ目。貴サイトのiptablesを私のサーバ構築に合わせて(PASVモードのポート番号やコメントアウト部分)変更するとして、それ以外に「SWATCH」の導入は必要でしょうか。
以上、初心者特有の雑学は増えても本質を理解していないためのトンチンカンな質問で大変恐縮しますが以上のことを教えていただければ大変助かります。
コメントアリガトですm(__)m
え〜、一つ目の質問ですが
単純に FTPサーバと SSHサーバを構築し
外部PCから接続する場合でも
「/etc/sysconfig/iptables-config」
への追記は必要ありません。
仮に「/etc/sysconfig/iptables-config」への
追記が存在する場合、
。。。。
すいません
iptables のモジュール関連は
全く分からないのです
基本的には
このページでのスクリプトを変更して実行すると
FTP SSH に必要な接続のポートを開放し通信することが出来るので
よほど特殊な場合?や設定が分かる場合を除いて
変更はしない方が良いように思います。
管理人は
「/etc/sysconfig/iptables-config」
への追記は全くしていません。
ノータッチです(^^;
答えになってないですね。。。
すいませんm(__)m
二つ目の質問ですが
「swatch」はログの監視プログラムだったと思います
余談ですが、
管理人の現在のサーバが CentOS で稼働していまして
CentOS では、初期設定で導入されていたと思います。
1日に1回 root 宛てにさまざまなログを出力してくれるので
かなり便利に使っています。
VineLinux の場合は全てインストールした場合でも
swatch はインストールされていなかったように思います。
セキュリティの面から、導入した方が良いと思いますが。。。
VineLinux でサーバ構築をしている方でも
導入していない方もいるみたいなので
個人の裁量って事で。。。(汗
こちらも答えになってない。。。
ホントすいませんm(__)m
swatch に関連する記事
@IT:サーバのログ監視ツールを使いこなそう(2/3)
http://www.atmarkit.co.jp/flinux/rensai/root04/root04b.html
設定方法は
Google検索「Linux swatch」
http://www.google.co.jp/search?hl=ja&hs=3Jv&q=Linux+swatch&lr=lang_ja
などで調べてください。
iptables、SWATCH、ともども参考になりました。