このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/06/10(Thu) 19:14
名前: 松木
URL:
いつもお世話になっております。
今度は、swatch_action.shでIPアドレスを抽出できない場合がある事象を解決したいです。
当方、知識不足のため、grepと正規表現の組み合わせでは、解決できません。
ご教示ください。

発生する事象は、こちらのパターンです。
Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)

ホスト名にIPアドレスが逆順でついており、IPアドレスも表記されている場合です。

echo "$IPADDR"|grep "^[0-9]*\." > /dev/null 2>&1
の場合は、
24.126.241.35.bc.googlexxxx.com[35.241.126.24]:

24.126.241.35をブロックしてしまいます。

よろしくお願いいたします。
記事編集 編集
Re: swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/06/10(Thu) 21:19
名前: superweibu
URL:
うーん、
シェルの正規表現でどういう形にしたいのか?
見えませんでした。

仮に正規表現でうまくできたとしても
他はブロックできない問題がでませんでしょうか?

そこでゴールはSASLのログイン失敗を検知できてiptablesで遮断できればよいので
わざわざ「ログ監視ツール導入(SWATCH)」を使う必要はなくて、
もっと汎用性のあるfail2banを個人的にお勧めします。
こちらを試してみてください。

詳しくはネットでfail2ban saslとかしらべてみてください。
記事編集 編集
Re: swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/07/03(Sat) 08:10
名前: 松木
URL:
superweibu様

返信ありがとうございます。
ここでは、SASLのログを表記してしまいましたが、
不正なWebアクセスでも、メールシステムでも同じ問題が発生するので
SWATCHを使って実装したいのです。
正規表現の書き方だで解決できるのかも疑問ですが・・・



>うーん、
>シェルの正規表現でどういう形にしたいのか?
>見えませんでした。
>
>仮に正規表現でうまくできたとしても
>他はブロックできない問題がでませんでしょうか?
>
>そこでゴールはSASLのログイン失敗を検知できてiptablesで遮断できればよいので
>わざわざ「ログ監視ツール導入(SWATCH)」を使う必要はなくて、
>もっと汎用性のあるfail2banを個人的にお勧めします。
>こちらを試してみてください。
>
>詳しくはネットでfail2ban saslとかしらべてみてください。
記事編集 編集
Re: swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/07/03(Sat) 18:42
名前: superweibu
URL:

>Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)

35.241.126.24をぬきだすとしたら、
こんな感じでしょうか?

[redadmin@red-admin ~]$ cat test
Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)

[redadmin@red-admin ~]$ cat test | grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' | tail -1
35.241.126.24

後はうまく動作するか
スクリプトを改修してみてください。
記事編集 編集
Re: swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/07/06(Tue) 09:53
名前: 松木
URL:
superweibuさん

ありがとうございます。
なるほど、最後の1行を採用する。ですね。

試してみます。


>
>>Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)
>
>35.241.126.24をぬきだすとしたら、
>こんな感じでしょうか?
>
>[redadmin@red-admin ~]$ cat test
>Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)
>
>[redadmin@red-admin ~]$ cat test | grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' | tail -1
>35.241.126.24
>
>後はうまく動作するか
>スクリプトを改修してみてください。
記事編集 編集
Re: swatch_action.shのIPアドレス誤抽出を修正したいです このメッセージに返信する
日時: 2021/07/30(Fri) 08:24
名前: 松木
URL:
superweibuさん

おかげさまで、現状、誤検知もなく稼働しております。


以下、ソース変更部分です。
なお、オリジナルは、awkを使っていますが、cutにしています。

# ログからIPアドレスを抽出
IPADDR=`echo $LOG|cut -d "$1" -f "$2"`
echo "$IPADDR"|grep "^[0-9]*\." > /dev/null 2>&1
if [ $? -eq 0 ]; then
# IPアドレスから始まる場合
IPADDR=`echo "$IPADDR"|sed -e 's/\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
else
# IPアドレス以外から始まる場合
IPADDR=`echo "$IPADDR"|sed -e 's/.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
fi



# ログからIPアドレスを抽出
IPADDR=`echo $LOG|cut -d "$1" -f "$2"`
IPADDR=`echo "$IPADDR" | grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' | tail -1`




>superweibuさん
>
>ありがとうございます。
>なるほど、最後の1行を採用する。ですね。
>
>試してみます。
>
>
>>
>>>Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)
>>
>>35.241.126.24をぬきだすとしたら、
>>こんな感じでしょうか?
>>
>>[redadmin@red-admin ~]$ cat test
>>Jun 8 14:56:51 xxxxx postfix/smtpd[52133]: warning: 24.126.241.35.bc.googlexxxx.com[35.241.126.24]: SASL LOGIN authentication failed: xxxxxx(seen xx times)
>>
>>[redadmin@red-admin ~]$ cat test | grep -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' | tail -1
>>35.241.126.24
>>
>>後はうまく動作するか
>>スクリプトを改修してみてください。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -