暇だったので、ちょっとMITM対策が出来るとか何とか書いてある

 

ARP Monitor ARP Defender

を Windows10 に入れて遊んでみた。ARP Monitor はインストーラ付きなので一発インストールだが、ARP Defender は Windows 用 Python からインストールしておかねばならない。元々、入れていたが3.9にバージョンアップした。
 
で、

 


に書いてある通りに進めたが、ひと手間かかったのでメモ。

barpdef.pyw

36行目

res = subprocess.check_output('arp -a', shell=True).decode("utf-8")

res = subprocess.check_output('arp -a', shell=True).decode("sjis")

にしておかないとビルドそのものが失敗する。ビルドが成功すれば、デスクトップにアイコンが出来る。メインウィンドウを出して、パソコン起動時に起動するように setting は全てチェックしておく。準備が出来たら再起動。

 

一応、自PCのARP テーブルを確認出来るとかいう程度のもの。autoprotect もチェックを入れているが… 動作しているかは判らない。まあ、一応使ってみて役に立たなければ削除すれば良いか。

 

 
 

Postfix の送信エラーログを1件ずつ抽出して1ファイルに収めて、そこから対象メールアドレスを抽出し、それをキーにして顧客 csv ファイルを1行抽出するという面倒くさい作業がある。だもので、ファイルに収められた情報と csv ファイルの情報を突合して1行抜き出すことにした。環境は、Windows10 の Ubuntu 18 で行った。

 

まず、特定のディレクトリにログファイルを全て納めてスタート。のっけからロケールが ja_JP.UTF-8 では無かったので設定。続いて、ファイルからメールアドレスを抽出。こんな感じ。シェルは bash を使用。nkf は仕方なくインストールした。iconv では正常動作しないため。

 

LANG=ja_JP.UTF-8
filenum=$(ls -p -U1 /mnt/c/workspace/Mail_1 | grep -v ./);
filename=()
filename+=($filenum)

for filename in "${filename[@]}"
do
    cat /mnt/c/workspace/Mail_1/$filename | awk '/The mail system/,/Content/' > TEMP2.txt
        grep -o "[-_a-zA-Z0-9\.]*@[-a-zA-Z0-9\.]*" TEMP2.txt | uniq | awk '{print  >> "TEMP4.txt"}'
    if grep -o "RCPT" TEMP2.txt > /dev/null
        then
            awk 'BEGIN {print "in reply to RCPT TO command"",""メールアドレスが存在しません" >> "error_no.txt"}'
    elif grep -o "DATA" TEMP2.txt > /dev/null
        then
            awk 'BEGIN {print "in reply to end of DATA command"",""メールを受信できない状態です" >> "error_no.txt"}'
    else
            awk 'BEGIN {print "不明"",""メールが届きませんでした" >> "error_no.txt"}'
    fi
done

 

これで、とりあえず全てのファイルからメールアドレスを抜き出した。sort | uniq をかけなかったのは抽出順を変えないため。当然、離れた場所に重複があればそのまま。これは仕様。隣接する重複だけを除去している。つまり、エラーログファイルにいくつも同じメールアドレスがあるので、それだけを対象にしている。

 

で、メールアドレスを格納した TEMP4.txt とエラー理由を収めた csv ファイル error_no.txt が出来上がり。エラー理由は、

1.メールアドレスが存在しない。

2.受信側でメールを受信できない状態。

3.その他の理由は全て不明に。

と大雑把に分けている。

 

ここからが問題で、 TEMP4.txt に収めたメールアドレスをキーに、顧客データの csv ファイルを1行抜き出す。本当は、同一メールアドレスで複数の顧客(チェーン店などは同じメールアドレスで複数店舗存在するから)がヒットするが、それは別処理(Excel + VBA)としてとりあえず1行抜き出す。

 

こんな感じ。

 

while read LINE
do
    if    OUTPUT=`echo $LINE | xargs -I{} grep -w -m1 {} address_utf8.csv`
        then
        awk -v "sh=$OUTPUT" 'BEGIN {print sh >> "TEMP5.txt"}'
    else
        echo $LINE
    fi
    unset OUTPUT
    unset LINE
done < ./TEMP4.txt

Windows の Excel で読めるように

 

nkf -s error_no.txt > error_no.csv
nkf -s TEMP5.txt > output.csv

 

として作表用の原版を作成。重複行は

 

sort TEMP5.txt | uniq -d > TEMP6.txt
nkf -s TEMP6.txt > 重複行.txt

 

としてある。ここから先は、Excel + VBA のお仕事。とりあえずのテストだが何とか目的は果たせた。

 

悩んだのは、

 

    if    OUTPUT=`echo $LINE | xargs -I{} grep -w -m1 {} address_utf8.csv`

 

そもそも、メールアドレスはメタキャラクタ `@' が必須。シェル変数展開時、grep に対してエスケープしても、次は bash で引っかかる。そこで1回 echo で出力してから引数として新たに与えた。これで無事動作。unset はおまじない。

 

上記、たかが1行のスクリプトだが、悩んだ。xargs が無ければどうなったことやら… シェル作成の達者なら何でもないことでも滅多にしない私は散々だった。

 

 

Wireguard VPN が無料で使えるようになった。DNS 1.1.1.1 で有名な Cloudflare 社の提供する Warp だ。DLしてインストールするだけ。

 


IPv6 対応。NordVPN なんか何年も対応しますと言ってやるやる詐欺しているけど、こちらは最初からOK。肝心の速度は 11 年落ちの DELL Presiton T-7400 と Windows10 Pro 20H2 、ルーターが YAMAHA RTX-1200(IPv6対応済み)で下図の通り。


 

但し、商用VPNのように新しくグローバルアドレスを貰うわけではないから、元々のアドレスはそのまま。匿名にはならない。悪用しようなんて人はいないと思うけど。

 

 

 

 

 

VDSL 100M にしてはマシな方か。いずれにしても太っ腹な提供だ。

openindiana のデスクトップ構築も大体すみましたので、今回は FireWall ipfilter のセットアップをしておきます。

 

さて、基本的な ipfilter の設定内容を考えてください。そして、具体的な記述方法は、

 

http://hiromasaya.web.fc2.com/Solaris10/ipfilter.html

 


を参照してください。ちなみに、私のものをサンプルとして張ります。

 

pass out quick on lo0
pass in quick on lo0
# 出パケット許可
pass out quick on e1000g0 proto tcp from any to any port = 1992 keep state
pass out quick on e1000g0 proto tcp from any port > 1023 to any port = 21 flags S keep state
pass out quick on e1000g0 proto udp from any to any port = 53 keep state
pass out quick on e1000g0 proto udp from any to any port = 68 keep state
pass out quick on e1000g0 proto tcp from any to any port = 80 keep state
pass out quick on e1000g0 proto tcp from any to any port = 443 keep state
pass out quick on e1000g0 proto tcp from any to any port = 465 keep state
pass out quick on e1000g0 proto tcp from any to any port = 993 keep state
pass out quick on e1000g0 proto icmp from any to e1000g0 keep state
pass out quick on e1000g0 proto tcp from any to 192.168.1.6 keep state

block out log quick on e1000g0 proto tcp/udp all
# block out log quick on e1000g0 proto icmp all
# 入パケット許可
pass in quick on e1000g0 proto tcp from any to 192.168.1.1/24 port = 1992 keep state
pass in quick on e1000g0 proto tcp from any port = 20 to any port > 1023 flags S keep state
pass in quick on e1000g0 proto icmp from any to any keep state
pass in quick on e1000g0 proto tcp from 192.168.1.6 to any
pass in quick on e1000g0 proto udp from any to any port = 68 keep state

block in log quick on e1000g0 from 127.0.0.0/24 to any
block in log quick on e1000g0 from 10.0.0.0/8 to any
block in log quick on e1000g0 from 172.16.0.0/12 to any
block in log quick on e1000g0 from 192.168.0.0/16 to any
block in log quick on e1000g0 all with opt lsrr
block in log quick on e1000g0 all with opt ssrr
block in log quick from any to any with ipopts
block in log quick on e1000g0 proto tcp all with short
block out log quick on e1000g0 proto tcp/udp all
block out log quick on e1000g0 proto icmp all
 

ごくシンプルなものです。

 

さて、ipfilter のサービスの起動と設定の反映は

 

https://docs.huihoo.com/solaris/11.1/japanese/html/E36646/ipfad-10.html

 

https://www.linuxquestions.org/questions/solaris-opensolaris-20/how-to-enable-firewall-on-boot-reboot-with-openindiana-4175607255/

 

 

を参考に起動とリフレッシュをしてください。openindiana は自前で起動スクリプトを設置する必要があります。

 

以上で簡便に FireWall 設定が出来上がりです。参考3サイトを良く見て、ご自身の用途を考えて設定ファイルを練り安全を確保してください。

 

今や生活必需品になったかのようなWeb検索。しかし、ある意味一部の人間が恣意的に検索順位や時として検索対象を操作することがまかり通っている。

 

以前、このブログにも書いたが Google で「LPS75PSROM」というキーワードでクラックされたWebサイトの残骸がわさわさ出てくる状況は変わりなく続いている。検索結果の検証などされていない証拠だろう。

 

また、実験的に当ブログを対象に Google 検索結果の変遷を追ってみた。ごく簡単なことで、まず自ブログが Google でどのようにインデックスされているかを確認し、実際の結果と比較してみた。注目したのは、9/22 のブログ。

 

https://ameblo.jp/debianan/entry-12626738593.html

 

 

この記事に対して Google は、普通にインデックスを作成していた。site:https://ameblo.jp/debianan で検索すればインデックスされている内容を確認できる。しかし、上記の記事は Google 検索で一時的に抹殺されていた。「openindiana lyx」でヒットしていたものが検索結果から煙のように消え、また現れるという滅茶苦茶な変遷を繰り返した。

 

「ネット削除」で検索すると、業者やら弁護士事務所やら色々出てくるし、「SEO対策」で検索すれば反対の業者がずらずらと出てくる。

 

上記の自ブログ検索における結果の消長は明らかに意図的なものだった。日頃、ストーカー顔負けのつきまといをしている屑共の情けないSEO操作が原因。

 

インデックスを中心に後追いを繰り返すと消えたはずの検索結果が元に戻るというヤラセを演出し、持ち切れず結局元に戻った。

 

ことほど左様に、Google といえども「作られた」検索結果しか得られないということを知るべきだろう。結局、ネットであろうがリアルであろうが同じこと。程度問題だが、安易に得られる情報を鵜呑みにせず複数のソースを自分で調べ判断するしかない。

 

極論すれば、裁判で確定した事実関係しかにわかには信じられないということだ。ペテン師が幅を利かせるのが、この情報化社会。いかに自己をしっかりと確立するか。とても難しい問題だと実感する。

 

https://webtan.impress.co.jp/e/2016/07/08/23299

 

 

ここも一見の価値はある。