« 2014年6月 | トップページ | 2014年8月 »

2014年7月

2014年7月18日 (金)

IPアドレス

テキストファイルからIPアドレス(以下IPで省略)を取り出す。

\文字は除いて考えることにする。
また0から255の範囲は考慮していない。必要な場合は「IP 正規表現」で検索できる。
.
[0-9]             :[]の中は1文字で範囲は0から9の数字:
[0-9]{1,3}          :数字を1~3回繰り返す  :1~3桁の数字
[0-9]{1,3}.          :3桁の数字に.(ピリオド)を付加
([0-9]{1,3}.)         :数字とピリオドをまとめる
([0-9]{1,3}.){3}        :まとめてから3回繰り返す
(([0-9]{1,3}.){3}[0-9]{1,3}) :最後に3桁の数字を付けて、sedで使う場合はもう一回まとめる:grepの場合は""でまとめる

( ([0-9] {1,3 } . ) {3 }[0-9] {1,3 } ) : \が必要なところにスペースを入れてみた。
\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)  :まとめの()と繰り返しの{}とピリオドの前に\を付ける。

これでIPを検出。
sed -e "s/\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)/=\1=/g"  最後のまとめ() を \1 で参照できる
上記では、IPの両端に=が付く。

だたこれでIPのみを取り出すにはひと工夫が必要。
特に1行に複数のIPが入っている場合、改行を挿入するとIPを取り出しやすい。

「sed 改行」で検索。

「sedip」を見る

| | コメント (0) | トラックバック (0)

2014年7月17日 (木)

間違ったスクリプト

スクリプトとして間違っているのだけど、自分の意図するように動作することがある。

すでに紹介したスクリプトで
if [ -e $1 ] ; then
  echo hoge
else
  echo $1
fi

のスタイルで、引数の有無によって処理を変えようと意図したものだが、例えば引数$1がaなら
aと言うファイルの有無で動作していた。aと言うファイルは無いので意図した動作をおこなうが、スクリプトとしては間違っている。

if [ $1 == ] とするか if [ $1: == : ]  ( : は任意文字)とすると良いようだ。

| | コメント (0) | トラックバック (0)

2014年7月16日 (水)

メール対策

「ipdeny」を見る

「ipmail」を見るでipfw を設定して時間が経つと歯の抜けたクシの様にアクセスの無いIPアドレスがでてくる。
/var/log/security で多くカウントしても、メールとして到達しないアクセスもあるためだ。

そこで、「ipdel」を見るで不要IP(以下IPアドレスをIPと表記)を削除して、歯抜けになったフィルタを、「ipsort」を見るでソートし、

「ipsort2」を見るで再構成していたにだが、最近はメールが到着したらすぐに(5分以内)自動設定するようにした。

現在テスト中で、いずれ公開します。

迷惑メールが減ってきたのでデバッグに時間がかかるようになってきた。

また新しい事実が見えてきた。
メールを送り出している者は明らかに同一なのだが、ランダムにIPを変えてくる。
maildrop では簡単に落ちるが、ipfw では落とせない。 悪質である。


お断り:FreeBSDの9や10でテストして使っていますが、無保証です。

ipfw への操作は重大な障害を発生する可能性があります。
同様の操作をされる場合は、予備マシンでの十分なテストを推奨いたします。
文字列操作はOSバージョン等でずれが発生する可能性があります。


| | コメント (0) | トラックバック (0)

2014年7月 7日 (月)

迷惑メール対策 maildrop

sendmail が受け取った mail を /var/mail のユーザーに配送する途中で maildrop が受け取って振り分け作業を行う。

基本は
if(/条件/)
{
to "行き先"
}

if(/条件1/ && /条件2/) で条件の and もできる。

ifの行だけを集めたのがこれ 「filterif」を見る

最近は引っかからなくなった条件や、テストで強制的にspamにする条件も含んでいる。

ただ単にファイルの振り分けだけでなく、プログラム(スクリプト)の起動もできるので、メールからIPアドレスを抜き出し、「準リアルタイムでipfw に設定」 をテストしている。


| | コメント (0) | トラックバック (0)

2014年7月 4日 (金)

迷惑メール対策

ipfw を使用して時間がたつと /var/log/security に記録が残ってくるが、そのまま見ても解り難い。

そこで 「secu」を見る

使い方は secu 2225 の様に ipfw で設定したフィルタの番号を入れる。

更に aかs と追加すると表示が変わる。  secu 2225 s

アクセスの多い「IPアドレス」が分ったら

secu 103.xx. の様にアドレスの一部を入れると同一ネットワークからのアクセス状態を知ることが出来る。

whois で調べて C国からのアクセスは、ipfw に追加」して全部遮断する。

少し改造して、「secub」を見る とすると、過去のものも見ることができる。

迷惑の実態が見えてくる。

| | コメント (0) | トラックバック (0)

2014年7月 3日 (木)

アオサギかな

Cimg1888b


| | コメント (0) | トラックバック (0)

« 2014年6月 | トップページ | 2014年8月 »