•   Login
  •  
  •   Rss
  •   Rss2.0
  •   ATOM1.0
  •   Admin
  •   Top
  •   Home

レンタルサーバーのバックアップを取ることにしました

と言っても全部ではありませんが。。。


重要なファイルのみバックアップを取ることにしました。
特にブログの画像・・・
基本的に手許に残さない物が多いので、失うとおじゃんになるケースが多々あるんです。
ガーデニングの画像は、手許にもあるので問題ないのですが、ブログ画像は基本的にそのまんま東ですね。
なので、2018年~2022年の一部が失ってしまって回復する見込みゼロです。
気付いたらその都度探すのですが、画面キャプチャーなんかはほぼ再取得不可能なので、諦めるしか他にありません。


ブログ記事やコメント、トラックバックなんかはデータベースですが、気付いた時にまるっとそのまま取得してダウンロードして手許に保管しています。
これも、本当は毎日のようにバックアップすることが理想なのですが、バックアップ用にクラウドデータ契約するのもちょっとなぁ・・・と躊躇っています。
そりゃぁ、アフィリエイトで賄えるならそうしたいのですけどね。
毎月数百円の収入ではとても無理です(笑)



記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (20人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
しつこいSASLアタック・・・その4

もう9月に入ってしまいましたが、先月の夏休み開始当初、一通り、Fail2Banの設定は終えたものの、毎日届くSASLアタックに頭を悩ましていた。
SASL LOGIN authentication failed:
warning: hostname <ドメイン名> does not resolve to address <IPアドレス>: No address associated with hostname
デフォルトのフィルター設定ではダメなので、何とかしないとなぁ。と思って、「正規表現 ドメイン 抽出」でGoogle先生に聞いたらサクッと出た。
それまで、自分なりに正規表現を作っていたけれど、全くダメで夏休み最終日にカンニング感覚で検索した(笑)


フィルターディレクトリに以下を追加。
【postfix_sasl】
# Fail2Ban filter for postfix authentication failures
#

[INCLUDES]

before = common.conf

[Definition]

_daemon = postfix(-\w+)?/(?:submission/|smtps/)?smtp[ds]

failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(:[ A-Za-z0-9+/:]*={0,2})?\s*$
^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(:[ A-Za-z0-9+/:]*={0,2})$
^%(__prefix_line)swarning: hostname ([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,} does not resolve to address\s<HOST>:\s*$
^%(__prefix_line)swarning: hostname ([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,} does not resolve to address\s<HOST>$


ignoreregex = authentication failed: Connection lost to authentication server$


そして、下記に追加。
【jail.local】
[postfix-sasl]

#filter = postfix[mode=auth]
filter = postfix_sasl
port = smtp,465,submission,imap,imaps,pop3,pop3s
# You might consider monitoring /var/log/mail.warn instead if you are
# running postfix since it would provide the same log lines at the
# "warn" level but overall at the smaller filesize.
logpath = %(postfix_log)s
backend = %(postfix_backend)s

action = iptables-allports[name=postfix, port="pop3,pop3s,imap,imaps,submission,465"]
enabled = true
maxretry = 3
findtime = 2w
bantime = 2w

これでどうなるか。
8/17時点ではこんな感じだった。
--------
smtpd (total: 3355)
218 unknown[212.192.246.198]: SASL LOGIN authentication failed: UGF...
138 unknown[103.232.53.198]: SASL LOGIN authentication failed: UGFz...
118 unknown[103.151.125.9]: SASL LOGIN authentication failed: UGFzc...
113 unknown[103.114.104.92]: SASL LOGIN authentication failed: UGFz...
47 unknown[193.56.29.146]: SASL LOGIN authentication failed: UGFzc...
28 unknown[103.114.104.92]: SASL LOGIN authentication failed: Conn...
21 unknown[103.171.0.217]: SASL LOGIN authentication failed: UGFzc...
21 hostname tend.zvknice.com does not resolve to address 45.85.190.82
12 unknown[103.151.125.9]: SASL LOGIN authentication failed: Conne... (以下略)

8/19時点になるとこうなった。
--------
smtpd (total: 2127)
86 hostname tend.zvknice.com does not resolve to address 45.85.190.82
6 unknown[103.171.0.217]: SASL LOGIN authentication failed: UGFzc...
6 TLS library problem: error:1408F10B:SSL routines:ssl3_get_recor...
4 unknown[212.192.246.198]: SASL LOGIN authentication failed: UGF...
4 unknown[14.85.88.26]: SASL LOGIN authentication failed: UGFzc3d...
4 unknown[201.47.83.39]: SASL LOGIN authentication failed: UGFzc3...
4 hostname 201.47.83.39.static.host.gvt.net.br does not resolve t...
3 customer-200-236-45-12.luxfibra.net.br[45.236.200.12]: SASL LOG...
3 unknown[91.82.76.141]: SASL LOGIN authentication failed: UGFzc3...(以下略)

8/23時点になるとこうなった。
--------
smtpd (total: 17)
3 unknown[37.139.129.15]: SASL LOGIN authentication failed: UGFzc...
3 TLS library problem: error:1408F10B:SSL routines:ssl3_get_recor...
1 unknown[37.139.129.15]: SASL LOGIN authentication failed: Conne...
1 hostname 69-142-197-169.clients.gthost.com does not resolve to ...
1 hostname zg-0728b-111.stretchoid.com does not resolve to addres...
1 hostname robbin.788555.ztg does not resolve to address 134.122....
1 hostname zg-0728d-195.stretchoid.com does not resolve to addres...
1 hostname zg-0728h-106.stretchoid.com does not resolve to addres...
1 hostname zg-0728a-118.stretchoid.com does not resolve to addres...
1 non-SMTP command from prod-jerry-se-scanners-do-sfo2-11.do.bina...
1 TLS library problem: error:141CF06C:SSL routines:tls_parse_ctos...
1 TLS library problem: error:1420918C:SSL routines:tls_early_post...
1 TLS library problem: error:142090C1:SSL routines:tls_early_post...

8/30時点になると更に減少・・・
--------
smtpd (total: 11)
3 unknown[37.139.129.243]: SASL LOGIN authentication failed: UGFz...
2 TLS library problem: error:142090FC:SSL routines:tls_early_post...
2 TLS library problem: error:1420918C:SSL routines:tls_early_post...
1 hostname zg-0728e-65.stretchoid.com does not resolve to address...
1 hostname cowpox.788555.hhf does not resolve to address 134.209....
1 TLS library problem: error:142090C1:SSL routines:tls_early_post...
1 TLS library problem: error:141CF06C:SSL routines:tls_parse_ctos...


効果てきめんですなぁ。TLS library problem: errorは、当面様子見をしたいと思います。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (20人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
ブログのテンプレート弄りまくり

最近SNS系でお気付きだと思いますが、このブログを引用した際、イコやん画像からブログ記事とは関係無い写真や画像が出るようになっています。
実は、夏休みの終わり間際にちょこっと触ってから、本格的に何とかしたいと思ってアレコレ弄りまくって、昨日は1日テストしまくっておかしな事になって元に戻しました(笑)


取り上げた記事の画像をSNSで引用するためには、<meta>メタタグの中にimage項目がありまして、これをcontentに代入すればOKなんですよ。
ザックリ書くと、
(カッコは外しています。)
meta property="og:image" content="http://www.sir-2.net/....../xxxxxxx.jpg"
みたいなのに赤字部分が動的に入るようにしているのですが、これがなかなかうまくいかないのです。
もう既に閉鎖されているぶろぐんPlusのテンプレートの作り方も全然古いし、解説も今一つで当然ググってもダクっても出てきません。
動的に画像のURLを取得するogp_img_url.phpを発見して、試しにやってみたのですがそれが今の状況なんですね。


ぶろぐんPlusの設計書があれば解析して最適化するのになぁ。
なくなってはじめて気付く、サイトの有り難さを・・・


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (15人)
Posted by いぐぅ 18:00 | システム::linux | comments (0) | trackback (0)
メールサーバをリレー接続するスパムメールホスト対策と失敗と回復

先日、こう言う記事を書いた。
毎日Rejectするスパマーに本腰を入れてみる  -- 2022-08-11 Thursday

その後も落ち着いてはいるんだけど、私は重大な勘違いをしていた。
それは、このログ(の一部)だ。
Aug 3 02:35:10 sakura postfix/smtpd[2540104]: NOQUEUE: reject: RCPT from unknown[137.220.234.71]: 550 5.1.1 <zzz@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<amazon-notice@28963.cn> to=<zzz@sir-2.net> proto=ESMTP helo=<28963.cn>
Aug 3 11:52:18 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<file.office49@aol.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 11:52:18 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<ucheokwuluoka@yahoo.com> proto=ESMTP helo=<[81.161.229.22]>


「NOQUEUE: reject」とは、メールサーバをリレー接続するためらしい。
結局はRejectされているんだけれど、これをFail2BanでなんとかならんかGoogle先生に聞いてみたところ簡単に出た。

メールサーバをリレーしようと接続するホストの対策(fail2ban)


しかし、フィルターディレクトリのなかにある「postfix」に記載されていた。
【postfix】
# Fail2Ban filter for selected Postfix SMTP rejections
#
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

_daemon = postfix(-\w+)?/\w+(?:/smtp[ds])?
_port = (?::\d+)?

prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$

mdpr-normal = (?:NOQUEUE: reject:|improper command pipelining after \S+)
mdre-normal=^RCPT from [^[]*\[<HOST>\]%(_port)s: 55[04] 5\.7\.1\s
^RCPT from [^[]*\[<HOST>\]%(_port)s: 45[04] 4\.7\.1 (?:Service unavailable\b|Client host rejected: cannot find your (reverse )?hostname\b)
^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.7\.1 (<[^>]*>)?: Helo command rejected: Host not found\b
^EHLO from [^[]*\[<HOST>\]%(_port)s: 504 5\.5\.2 (<[^>]*>)?: Helo command rejected: need fully-qualified hostname\b
^VRFY from [^[]*\[<HOST>\]%(_port)s: 550 5\.1\.1\s
^VRFY from [^[]*\[<HOST>\]%(_port)s: 550 5\.7\.1\s
^RCPT from [^[]*\[<HOST>\]%(_port)s: 450 4\.1\.8 (<[^>]*>)?: Sender address rejected: Domain not found\b

^from [^[]*\[<HOST>\]%(_port)s:?

mdpr-auth = warning:
mdre-auth = ^[^[]*\[<HOST>\]%(_port)s: SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed:(?! Connection lost to authentication server| Invalid authentication mechanism)
mdre-auth2= ^[^[]*\[<HOST>\]%(_port)s: SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed:(?! Connection lost to authentication server)
# todo: check/remove "Invalid authentication mechanism" from ignore list, if gh-1243 will get finished (see gh-1297).

# Mode "rbl" currently included in mode "normal", but if needed for jail "postfix-rbl" only:
mdpr-rbl = %(mdpr-normal)s
mdre-rbl = ^RCPT from [^[]*\[<HOST>\]%(_port)s: [45]54 [45]\.7\.1 Service unavailable; Client host \[\S+\] blocked\b

# Mode "rbl" currently included in mode "normal" (within 1st rule)
mdpr-more = %(mdpr-normal)s
mdre-more = %(mdre-normal)s

mdpr-ddos = lost connection after(?! DATA) [A-Z]+
mdre-ddos = ^from [^[]*\[<HOST>\]%(_port)s:?

mdpr-extra = (?:%(mdpr-auth)s|%(mdpr-normal)s)
mdre-extra = %(mdre-auth)s
%(mdre-normal)s

mdpr-aggressive = (?:%(mdpr-auth)s|%(mdpr-normal)s|%(mdpr-ddos)s)
mdre-aggressive = %(mdre-auth2)s
%(mdre-normal)s



failregex = <mdre-<mode>>

# Author: Cyril Jaquier

# Author: Cyril Jaquier

# Parameter "mode": more (default combines normal and rbl), auth, normal, rbl, ddos, extra or aggressive (combines all)
# Usage example (for jail.local):
# [postfix]
# mode = aggressive
# # or another jail (rewrite filter parameters of jail):
# [postfix-rbl]
# filter = postfix[mode=rbl]
#
mode = more

ignoreregex =

[Init]

journalmatch = _SYSTEMD_UNIT=postfix.service

# Author: Cyril Jaquier

これを採用すれば完璧じゃん。と思っていた。

するとだ。
大量のエラーログが吐き出されてしまって、実家へ帰省中にログの容量オーバーが発生してしまった。
帰宅後、取りあえず元に戻すも大量のエラーログを吐き出されるのは変わらず・・・
2022-08-14 23:08:06,358 fail2ban.datedetector [193612]: #06-Lev. matched last time template #00
2022-08-14 23:08:06,358 fail2ban.datedetector [193612]: HEAVY try to match last anchored template #00 ...
2022-08-14 23:08:06,358 fail2ban.datedetector [193612]: HEAVY try to match time for line: 2022-08-14 22:48:21,192 fail2ban.datedetector [157089]: #06-Lev. matched last time template #00
2022-08-14 23:08:06,358 fail2ban.filter [193612]: TRACE Working on line '2022-08-14 22:48:21,192 fail2ban.datedetector [157089]: #06-Lev. matched last time template #00'
2022-08-14 23:08:06,357 fail2ban.filter [193612]: HEAVY Looking for failregex 0 - '^((?:\\[\\])?\\s*(?:<[^.]+\\.[^.]+>\\s+)?(?:\\S+\\s+)?(?:kernel: \\[ *\\d+\\.\\d+\\]\\s+)?(?:@vserver_\\S+\\s+)?(?:(?:(?:\\[\\d+\\])?:\\s+[\\[\\(]?fail2ban\\.actions\\s*(?:\\(\\S+\\))?[\\]\\)]?:?|[\\[\\(]?fail2ban\\.actions\\s*(?:\\(\\S+\\))?[\\]\\)]?:?(?:\\[\\d+\\])?:?)\\s+)?(?:\\[ID \\d+ \\S+\\]\\s+)?| fail2ban\\.actions\\s*(?:\\[\\d+\\])?:\\s+)NOTICE\\s+\\[(?!recidive\\])(?:.*)\\]\\s+Ban\\s+(?:\\[?(?:(?:::f{4,6}:)?(?P<ip4>(?:\\d{1,3}\\.){3}\\d{1,3})|(?P<ip6>(?:[0-9a-fA-F]{1,4}::?|::){1,7}(?:[0-9a-fA-F]{1,4}|(?<=:):)))\\]?|(?P<dns>[\\w\\-.^_]*\\w))\\s*$'
2022-08-14 23:08:06,357 fail2ban.filter [193612]: HEAVY Looking for match of [('', '2022-08-14 22:48:21,192', ' fail2ban.datedetector [157089]: HEAVY try to match last anchored template #00 ...')]
2022-08-14 23:08:06,357 fail2ban.datedetector [193612]: #06-Lev. got time 1660484901.000000 for '2022-08-14 22:48:21,192' using template {^LN-BEG}ExYear(?P<_sep>[-/.])Month(?P=_sep)Day(?:T| ?)24hour:Minute:Second(?:[.,]Microseconds)?(?:\s*Zone offset)?


一体何が原因か、およその見当が付いた。
ググったら自分のログに書いてあった(笑)
Debian 11 にアップグレードしてからの深刻な状態からの解決  -- 2022-01-15 Saturday
無限のログ出力・・・
それはこれだ!

【fail2ban.local】
[Definition]
loglevel = 2
logtarget = /var/log/fail2ban.log

何で数字になっちゃうんだよ・・・
と言う事で、次のように修正。
loglevel = INFO


めでたしめでたし・・・
やっぱりブログで残しておくことは有用ですな。。。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (16人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
毎日Rejectするスパマーに本腰を入れてみる

毎晩、システム専用メールにメールサーバーのレポートが届くようにしている。
それを毎朝通勤時にチェックをしている。
先月のことなんだけど、一時期これくらいRejectするメール数が飛んで来た。

【普段】
44 received
46 delivered
0 forwarded
0 deferred
0 bounced
1 rejected (2%)
0 reject warnings
0 held
0 discarded (0%)

【とある日】
10 received
12 delivered
0 forwarded
0 deferred
0 bounced
2830 rejected (99%)
0 reject warnings
0 held
0 discarded (0%)

12 received
12 delivered
0 forwarded
0 deferred
0 bounced
3084 rejected (99%)
0 reject warnings
0 held
0 discarded (0%)
など。

尋常じゃない数がRejectされているので、新たなスパマーがうちのメールサーバーを踏み台にして送りつけようとしていることが分かる。
Rejectされているメール内訳を見るとこんな感じ。

RCPT
Recipient address rejected: Access denied (total: 3079)
1553 test@icanchola.com.mx
1526 r9900u@gmail.com
Recipient address rejected: User unknown in local recipient table (total: 5)
2 bbb@sir-2.net
2 ccc@sir-2.net
1 zzz@sir-2.net

メール送信元はこんな感じ
smtpd (total: 3231)
1593 hostname dsl-189-145-156-204-dyn.prod-infinitum.com.mx does not...
7 hostname azteca-comunicaciones.com does not resolve to address ...
6 hostname dynamic-ip-adsl.viettel.vn does not resolve to address...
(以下略)

Rejectすると、メール不達の通知が発信元に返されるので、そのまんまドロップする方法に切り替えることにした。
やり方はそれ程難しくないので、覚えておいた方が良いかも。
しかし、うちのドメインでそんな単純なアカウントは作っていないぞ(怒)
この3種類(bbb/ccc/zzz)のメールは毎日にやってくる。


まず、Postfixのmail.cfの最終行に次を追加する。
# Reject宣言
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/reject_sender,
reject_unknown_sender_domain,
reject_non_fqdn_sender


続いて、hashで設定されている拒否するメールアドレスまたはドメインを作成する。
vj /etc/postfix/reject_sender

対象としているメールアドレスやドメインを次のようにした。
r9900u@gmail.com DISCARD
prod-infinitum.com.mx DISCARD
tiscali.it DISCARD
icanchola.com.mx DISCARD
bbb@sir-2.net DISCARD
ccc@sir-2.net DISCARD
zzz@sir-2.net DISCARD

Rejectにすると、相手に不達の通知が返されるので、そのままドロップすることに。
DISCARDを使うと良いです。

そのあと、postmapコマンドでデータベース化。
postmap /etc/postfix/reject_sender

次にpostfixサーバ再起動。
systemctl restart postfix


これで終わり。

結果はご覧の通り。
9 received
8 delivered
0 forwarded
0 deferred
0 bounced
13 rejected (59%)
0 reject warnings
0 held
1 discarded (4%)

message reject detail
---------------------
RCPT
Recipient address rejected: Access denied (total: 8)
2 549955918@qq.com
1 melozaba@getnada.com
1 bettykvetonoci36@gmail.com
1 deliverymanphillip@hotmail.com
1 languan@mail.com
1 colin.caddell@protonmail.com
1 colin.caddell@yandex.com
Recipient address rejected: User unknown in local recipient table (total: 4)
2 bbb@sir-2.net
1 ccc@sir-2.net
1 zzz@sir-2.net
Sender address rejected: Domain not found (total: 1)
1 pyfa@odlmotji.net


う~ん、bbb/ccc/zzzはダメだなぁ。と思って、ログを見てみると、こんな感じだった。
Jul 28 18:45:23 sakura postfix/smtpd[2463446]: NOQUEUE: reject: RCPT from unknown[106.12.181.128]: 550 5.1.1 <ccc@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<ejoxmxyi@mastercard.co.jp> to=<ccc@sir-2.net> proto=ESMTP helo=<mastercard.co.jp>
Jul 28 19:02:30 sakura postfix/smtpd[2463594]: NOQUEUE: reject: RCPT from unknown[120.48.133.144]: 550 5.1.1 <bbb@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<ex@visa.co.jp> to=<bbb@sir-2.net> proto=ESMTP helo=<visa.co.jp>
Jul 28 23:13:50 sakura postfix/smtpd[2465749]: NOQUEUE: reject: RCPT from unknown[175.175.217.90]: 550 5.1.1 <zzz@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<admin@jr-odekake.net> to=<zzz@sir-2.net> proto=ESMTP helo=<jr-odekake.net>
Jul 28 23:13:50 sakura postfix/smtpd[2465750]: NOQUEUE: reject: RCPT from unknown[175.175.217.90]: 550 5.1.1 <ccc@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<admin@jr-odekake.net> to=<ccc@sir-2.net> proto=ESMTP helo=<jr-odekake.net>
Jul 28 23:13:52 sakura postfix/smtpd[2465749]: NOQUEUE: reject: RCPT from unknown[175.175.217.90]: 550 5.1.1 <bbb@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<admin@jr-odekake.net> to=<bbb@sir-2.net> proto=ESMTP helo=<jr-odekake.net>
Jul 29 05:17:49 sakura postfix/smtpd[2468475]: NOQUEUE: reject: RCPT from unknown[106.12.73.246]: 550 5.1.1 <zzz@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<kkri@jcb.co.jp> to=<zzz@sir-2.net> proto=ESMTP helo=<jcb.co.jp>
Jul 29 06:37:40 sakura postfix/smtpd[2469042]: NOQUEUE: reject: RCPT from unknown[106.13.58.31]: 550 5.1.1 <bbb@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<nho@visa.co.jp> to=<bbb@sir-2.net> proto=ESMTP helo=<visa.co.jp>
Jul 29 08:37:13 sakura postfix/smtpd[2471020]: NOQUEUE: reject: RCPT from unknown[106.13.76.219]: 550 5.1.1 <ccc@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<uldfeldvhg@jcb.co.jp> to=<ccc@sir-2.net> proto=ESMTP helo=<jcb.co.jp>
Jul 29 11:22:40 sakura postfix/smtpd[2474102]: NOQUEUE: reject: RCPT from unknown[106.12.73.246]: 550 5.1.1 <zzz@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<dakjhghj@visa.co.jp> to=<zzz@sir-2.net> proto=ESMTP helo=<visa.co.jp>
Jul 29 16:35:47 sakura postfix/smtpd[2476728]: NOQUEUE: reject: RCPT from unknown[137.220.143.98]: 550 5.1.1 <bbb@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<aupay-info@33985.cn> to=<bbb@sir-2.net> proto=ESMTP helo=<33985.cn>

masterカードやVISAにJCBなどのクレジット(偽)会社から送られて来ているみたい。
発信元のIPアドレスを辿ってみると、殆ど中華人民共和国。
なので、まとめてブロックするため、次の行もmain,cfに追加した。

smtpd_client_restrictions = permit_mynetworks, check_client_access hash:/etc/postfix/client_access, permit

そして、下記のファイルを追加。
IPアドレスを一つずつ入れていくのが面倒くさいのでまとめてバッサリと拒否。

106.12.128.0/18 REJECT
120.48.0.0/18 REJECT
175.160.0.0/12 REJECT
137.220.128.0/17 REJECT


こちらも、postmapでデータベース化してPostfixサービス再起動。
そして、その翌日にはこんな感じになった。
11 received
8 delivered
0 forwarded
0 deferred
0 bounced
8 rejected (42%)
0 reject warnings
0 held
3 discarded (15%)


message reject detail
---------------------
RCPT
Sender address rejected: Domain not found (total: 6)
1 brirbesyu@badkak.net
1 zpap@ujkt.net
1 paowaa@clwnikvbu.org
1 rzqncgi@ebxr.org
1 cxv@rcgrpcdq.org
1 llruowbc@ztshgbpxf.org
Sender address rejected: need fully-qualified address (total: 2)
2 webmaster

message reject warning detail: none

message hold detail: none


すっかり消えた\(^◇^)/
と思って翌日見ると・・・

15 received
12 delivered
0 forwarded
0 deferred
0 bounced
36 rejected (70%)
0 reject warnings
0 held
3 discarded (5%)
message reject detail
---------------------
RCPT
Recipient address rejected: Access denied (total: 21)
5 test@gmail.com
1 info.bankofamericaoo1@aol.com
1 fdepartment9722@aol.com
1 a78441868@gmail.com
1 andrewrobert1856@gmail.com
1 bmp2060@gmail.com
1 imfdept19@gmail.com
1 akeredolu_san@hotmail.com
1 dr.geofferygreener1@hotmail.com
1 dr.geofferygreener@hotmail.com
1 evans_udeh@outlook.com
1 findepartment01@outlook.com
1 inlo.geoffreygreener010@outlook.com
1 JamesBaker20256@outlook.com
1 moneygram1184@yahoo.com.hk
1 anbrandn@daum.net
1 andrew_roberts@daum.net
Recipient address rejected: User unknown in local recipient table (total: 10)
4 bbb@sir-2.net
3 ccc@sir-2.net
3 zzz@sir-2.net
Sender address rejected: Domain not found (total: 5)
1 qwx@cbbwplbtf.com
1 tsjdgl@cbkxk.com
1 kveytoncw@vktusd.net
1 mzqam@wmvr.net
1 vbdihq@colhclq.org


相手も必死すぎてワロタ(笑)
こうなると、まとめて海外からのアクセスはBANした方がよさげな気がした。
取りあえず支那を8/2夜に一斉にBANしてみた。
8/4朝のメールを見てみた。

messages

41 received
36 delivered
0 forwarded
0 deferred
0 bounced
31 rejected (41%)
0 reject warnings
0 held
7 discarded (9%)

message reject detail
---------------------
RCPT
Recipient address rejected: Access denied (total: 16)
2 devonwilliam2@gmail.com
1 fdepartment9722@aol.com
1 officefilecustomer@aol.com
1 a78441868@gmail.com
1 andrewrobert1856@gmail.com
1 anosikeedy8893@gmail.com
1 bmp2060@gmail.com
1 debosky2006@gmail.com
1 westnnion005@hotmail.com
1 lin.chenhuang@outlook.com
1 findepartment01@outlook.com
1 anosikeedy8893@yahoo.com
1 citconnny@yahoo.com
1 anbrandn@daum.net
1 andrew_roberts@daum.net
Recipient address rejected: User unknown in local recipient table (total: 3)
1 bbb@sir-2.net
1 ccc@sir-2.net
1 zzz@sir-2.net
Sender address rejected: Domain not found (total: 12)
12 davidmalpass@davidmalpass.net


更に攻撃が増えてきた。相変わらず、bbb/ccc/zzzはやってくるな~。
ログを見るとこんな感じ。
Aug 3 02:35:10 sakura postfix/smtpd[2540104]: NOQUEUE: reject: RCPT from unknown[137.220.234.71]: 550 5.1.1 <zzz@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<amazon-notice@28963.cn> to=<zzz@sir-2.net> proto=ESMTP helo=<28963.cn>
Aug 3 11:52:18 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<file.office49@aol.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 11:52:18 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<ucheokwuluoka@yahoo.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 11:52:18 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<moneygram_o@hotmail.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 11:52:19 sakura postfix/smtpd[2545072]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<uchennaiwunor1@gmail.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 14:16:41 sakura postfix/smtps/smtpd[2546298]: NOQUEUE: reject: RCPT from unknown[185.225.73.177]: 554 5.7.1 <devonwilliam2@gmail.com>: Recipient address rejected: Access denied; from=<test@test.com> to=<devonwilliam2@gmail.com> proto=SMTP helo=<win-clj1b0gq6jp.domain>
Aug 3 14:29:09 sakura postfix/submission/smtpd[2546382]: NOQUEUE: reject: RCPT from unknown[185.225.73.177]: 554 5.7.1 <devonwilliam2@gmail.com>: Recipient address rejected: Access denied; from=<test@test.com> to=<devonwilliam2@gmail.com> proto=ESMTP helo=<win-clj1b0gq6jp.domain>
Aug 3 15:51:05 sakura postfix/smtpd[2546900]: NOQUEUE: reject: RCPT from unknown[137.220.234.69]: 550 5.1.1 <bbb@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<amazon-account@27197.cn> to=<bbb@sir-2.net> proto=ESMTP helo=<27197.cn>
Aug 3 16:05:06 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <a78441868@gmail.com>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<a78441868@gmail.com> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:07 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <anbrandn@daum.net>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<anbrandn@daum.net> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:07 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <andrew_roberts@daum.net>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<andrew_roberts@daum.net> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:07 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <andrewrobert1856@gmail.com>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<andrewrobert1856@gmail.com> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:08 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <bmp2060@gmail.com>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<bmp2060@gmail.com> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:08 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <fdepartment9722@aol.com>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<fdepartment9722@aol.com> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:05:08 sakura postfix/smtpd[2547139]: NOQUEUE: reject: RCPT from bitenuance.co[85.202.168.53]: 554 5.7.1 <findepartment01@outlook.com>: Recipient address rejected: Access denied; from=<tanya1@bytecity.ru> to=<findepartment01@outlook.com> proto=ESMTP helo=<[85.202.168.53]>
Aug 3 16:46:14 sakura postfix/smtpd[2547444]: NOQUEUE: reject: RCPT from unknown[137.220.234.69]: 550 5.1.1 <ccc@sir-2.net>: Recipient address rejected: User unknown in local recipient table; from=<amazon-service@27197.cn> to=<ccc@sir-2.net> proto=ESMTP helo=<27197.cn>
Aug 3 17:25:08 sakura postfix/smtpd[2547707]: NOQUEUE: reject: RCPT from unknown[80.76.51.36]: 554 5.7.1 <officefilecustomer@aol.com>: Recipient address rejected: Access denied; from=<info@usa.org> to=<officefilecustomer@aol.com> proto=ESMTP helo=<[80.76.51.36]>
Aug 3 17:25:08 sakura postfix/smtpd[2547707]: NOQUEUE: reject: RCPT from unknown[80.76.51.36]: 554 5.7.1 <westnnion005@hotmail.com>: Recipient address rejected: Access denied; from=<info@usa.org> to=<westnnion005@hotmail.com> proto=ESMTP helo=<[80.76.51.36]>
Aug 3 17:25:09 sakura postfix/smtpd[2547707]: NOQUEUE: reject: RCPT from unknown[80.76.51.36]: 554 5.7.1 <anosikeedy8893@gmail.com>: Recipient address rejected: Access denied; from=<info@usa.org> to=<anosikeedy8893@gmail.com> proto=ESMTP helo=<[80.76.51.36]>
Aug 3 17:25:09 sakura postfix/smtpd[2547707]: NOQUEUE: reject: RCPT from unknown[80.76.51.36]: 554 5.7.1 <anosikeedy8893@yahoo.com>: Recipient address rejected: Access denied; from=<info@usa.org> to=<anosikeedy8893@yahoo.com> proto=ESMTP helo=<[80.76.51.36]>
Aug 3 21:17:48 sakura postfix/smtpd[2550031]: NOQUEUE: reject: RCPT from unknown[103.138.109.165]: 554 5.7.1 <citconnny@yahoo.com>: Recipient address rejected: Access denied; from=<unccch22@gmail.com> to=<citconnny@yahoo.com> proto=SMTP helo=<User>
Aug 3 21:17:48 sakura postfix/smtpd[2550031]: NOQUEUE: reject: RCPT from unknown[103.138.109.165]: 554 5.7.1 <debosky2006@gmail.com>: Recipient address rejected: Access denied; from=<unccch22@gmail.com> to=<debosky2006@gmail.com> proto=SMTP helo=<User>
Aug 3 21:17:48 sakura postfix/smtpd[2550031]: NOQUEUE: reject: RCPT from unknown[103.138.109.165]: 554 5.7.1 <lin.chenhuang@outlook.com>: Recipient address rejected: Access denied; from=<unccch22@gmail.com> to=<lin.chenhuang@outlook.com> proto=SMTP helo=<User>
Aug 3 21:31:44 sakura postfix/smtpd[2550112]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<file.office49@aol.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:31:44 sakura postfix/smtpd[2550112]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<ucheokwuluoka@yahoo.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:31:44 sakura postfix/smtpd[2550112]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<moneygram_o@hotmail.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:31:45 sakura postfix/smtpd[2550112]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<uchennaiwunor1@gmail.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:35:46 sakura postfix/smtpd[2550122]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<file.office49@aol.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:35:46 sakura postfix/smtpd[2550122]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<ucheokwuluoka@yahoo.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:35:47 sakura postfix/smtpd[2550122]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<moneygram_o@hotmail.com> proto=ESMTP helo=<[81.161.229.22]>
Aug 3 21:35:47 sakura postfix/smtpd[2550122]: NOQUEUE: reject: RCPT from unknown[81.161.229.22]: 450 4.1.8 <davidmalpass@davidmalpass.net>: Sender address rejected: Domain not found; from=<davidmalpass@davidmalpass.net> to=<uchennaiwunor1@gmail.com> proto=ESMTP helo=<[81.161.229.22]>

取りあえず支那からの攻撃は防いでいるみたい。
こう言うのもBANすることが出来たらなぁ。
てか、fail2banで出来そうな気がするな。
また、いずれ機会があればやっておこうかしらん?

まぁ、完全にゼロにするわけには出来ないから、あとやれるとしたらsmtpサーバ名をコソッと変更することくらいか。
それでも、バレるのはいずれ時間の問題だから意味ないしなぁ。
やれることは、少しずつやっておくか。
今後も。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (10人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
個人が趣味でLinuxを始めるときどれを選べば良いか

私がLinuxと言うかUNIXに触れたのは、入社して2年目くらいのとき。
何のOSかは忘れましたが、とても高精細なGUIでサクサク動いていた印象があります。
もともと、LinuxはUNIXの親戚兄弟みたいなもので、Linuxには代表なOSとしてUbuntuやRed Hat Linuxなどがあります。
Linuxには派生したOSがたくさんありまして、その他にも私が使っているDebian GNU/LinuxやFedora Core、Mint、BSD系として、FreeBSDなんかが有名です。


それでは、Linuxを始めるときにどれから手を付けて良いのか分からない場合があります。
私が初心者にお奨めする前に、これが必須です。

・自己解決出来る能力があること
・翻訳(サイト利用可)と日本語読解能力
・Characterユーザーインターフェースに馴染む努力

他人に聞くしかない能力がないなら、手を付けるべきではありません。
また、検索サイトで調べても日本語読解能力がないと、何をかいているのかサッパリわからず、事の本質が分からないままにコピペして失敗する。
と言う未来が見えるからです。
失敗を繰り返して覚えていくのも、全然ありですけどね(^^)


あと、私はエラーやトラブル解決するために、Googleなどの検索サイトを活用します。
そこで稀に英語サイトのQAが上位結果に出てきます。
その時、英文の翻訳と日本語能力が必要になります。
英文の翻訳は、翻訳サイトで日本語変換しても良いのですが、時々「?」な翻訳(ネットスラング)があるので、その文面の前後から解析する必要が有ります。
これは私の2022年4月時点での経験則ですが、英文サイトの方が問題解決記事が多い気がします。
日本語サイトも多いのですが、どれも似たような感じで「どっかのサイトからコピペしたのかな?」」と思うのもあります。


そして、Characterユーザーインターフェース(CUI)を嗜むことが出来る事。
LinuxもだいたいGraphicalユーザーインターフェース(GUI)で解決することが多いのですが、どうしても細かいところはTelnetやSSHでアクセスしてコマンド実行しなければなりません。
と言うか、そっちの方が圧倒的に解決出来る幅が広がるんですよ。
Graphicalユーザーインターフェースでも7割くらいは解決出来ますが、残り3割が根本の問題解決への近道となっています。
LAMP構築をする人が一番手っ取り早く手懐けるのは、Webmin+CUIですかね。
Windowsでも、コマンドプロンプトやPowerShellを使うと出来る事が多いです。


と、前置きがかなり長くなりましたが、どのOSを始めたら良いのか悩むと思います。
手厚いサポートを望むのならお金を払ってでも、Red Hat Linuxを選ぶと良いでしょう。
そして、より多くの解決方法が日本語ページもあります。
日本語ページが多数あったけれどもサポートが終了してしまったCentOSの後継であるORACLE Linuxも良いかもしれません。

Red Hat LinuxにしてもORACLE Linuxにしても有料サポートサービスが充実しているかどうかは、私自身使ったことがないので未知数です。


では、コストゼロで始めるLinuxOSは何が良いのかと聞かれると、Windows 10やWindows 11を使っているなら、WindowsOS上で動かすことが出来るUbuntuでしょう。
間違いなくイチオシです。
CentOSに次ぐ情報量ですから操作やトラブルがあっても、たいていのことは解決出来ます。
私も触りだけやりましたが、「あ、これならWindowsユーザーでも馴染めそうだな。」と思います。


古いパソコン(Pentium4でRAMが2GB上限)のようなもので始めるなら、Linux Mintが良いかもしれません。
それ程高い要求スペックではないからです。
しかし、スペックがそれ程高くない分、やれることもかなり限られます。
これは仕方のないことですが、それでも最低限の動画編集とかも出来るアプリが存在していますし、ボチボチ程度に動きます。


まぁ、こんなところでしょうか。
過去の産物である、necのPC-98x1シリーズをLinuxで動かすためには、net BSD位しか存在していない。
物好きな人がいればチャレンジしてみると良いかな。


と言う事で、最初の条件に満たす事が出来る人なら
・Ubuntu
・ORACLE Linux
・Red Hat Linux
を選ぶと良いでしょう。


ただし、WindowsやMAC OSのように一度インストールしたら終わりではなく、常に脆弱性パッチがリリースされていますので、定期的にアップデートを忘れないようにしましょう。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (5人)
Posted by いぐぅ 18:00 | システム::linux | comments (0) | trackback (0)
Fail2Banでhttpコード403をブロックする

先月末、こう言う記事を書いた。
おイタをするクローラーには退場してもらった  -- 2022-03-30 Wednesday

Webalizerで確認すると、4月に入っても相変わらず403エラーが爆増しているので、もうIPアドレスをBAN(ブロック)することにしてもらった。
参考になったサイトはこちら。
Apache向けfail2banの簡易構築手順


記事は古いけれど、今でも充分に通用することを確認。
まずは適用する前の状態をキャプチャーしておこう。

2022年4月4日22時時点

これは、先週4月4日の22時時点のものである。
たった4日で112868回も飛ばされている。
ハッキリ言って異常である。
で、ブロックを開始した22時から翌日4月5日22時時点はこちら。

2022年4月5日22時時点

1日で821増にまで低減した。
それでも、まだ多い気がするけれど、Fail2Banのログを見るとドンドンBanBanしまくっている(笑)
お陰で、WebalizerのHit数とFile数が激減している。
ただし、訪問者は変わっていない事から、本来あるべき姿に戻ったと言うべきだろうか。
カウンター数も少しずつ上向いている感じなので、実態に即していて嬉しいなぁ。と思います。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (6人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
おイタをするクローラーには退場してもらった

お気付きであろうか。
スマホやタブレットでこのブログを読むと気付きませんが、PCだと「おや?」と気付くはずです。


そう、カウンター数が桁違いに減ったことを・・・


この通り。

カウンター数


前日が規制する前、当日が規制後です。
どうです!この減りザマ!


なんかね、おかしいと思ったんですよ。
1日万単位でカウンターが廻っている割に、アフィリエイトでは収益伸びないですし、Web解析ではbotばかりのログ。
絶対にこれはおかしいなぁ。と思って先々週の連休中に解析したんですよ。
そしたらですね、このザマですよ。


ログ一覧


これは、規制後のログ一覧ですが、変なボットやクローラーがPHPの脆弱性を突いたさぐり方をしているんですよ。
マイクロソフトのbingbotですら怪しいURLを投げて解析する始末。


そこで、てっとりばやく.htaccessによるブロックを行いました。
ブロックを行う前の解析は、ご覧の通り。
規制前


httpコード403の数は一桁でした。
それが翌日には・・・
規制後


5桁に爆増!
効果は絶大ですなぁ。
これまで、クローラーが1日のカウンター数の95%を稼いでいたわけですね。
どおりでおかしいと思いました。
これで、やっとまともなカウンターが機能しました。
もともと、このカウンターは「同じIPアドレスで訪れた場合カウントしない。」に設定されているのです。
だから、万単位で来るのは、このブログにはそんなに需要があるのか?と不思議に思っていたんですよ。
いや、人気のあるブログなら10万100万と稼いでいると思いますが、このブログは私の生きている証しをただただ書いているだけ。
技術的なところやレビューを時々書いている程度です。
だから、「なんでもや」なんです。


さて、こう言うおイタをするクローラーを締め出すのは簡単です。
.htaccessに下記のように記述すれば収集されなくなります。

RewriteEngine on
SetEnvIfNoCase User-Agent "bot名" ua=on

#SetEnvIf User-Agent "
Options +Includes -Indexes

RewriteCond %{ENV:ua} on
RewriteRule ^(.*)$ - [F,L]


bot名の所にbingbot なんかを入れると弾いてくれます。
お困りの方は是非ともお試し下さいませ。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (10人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
2/3夜より、SSL接続サービスを強化しました
昨年末のやられたことを教訓に、当サイトのSSL接続は、TLSv1.2以降じゃないと接続出来ないようにしています。
SSL証明書は入れていましたが、SSLのバージョンに関しては気にしていませんでした。
が。
昨年末のやられたことを教訓に、当サイトのSSL接続は、TLSv1.2以降じゃないと接続出来ないようにしています。
まぁ、ブログはSSL接続じゃないので見られますけどね。


ブログもSSL化をしたいのですが、どうしてもテンプレートが崩れてしまうので、何から手を付けていいのか分からないんですよ。
開発元は、完全にサイトも閉じてしまいましたしね。
どうすることも出来ません。
ググっても、ダクっても見つけられません。


直感的にphpとMySQL間でSSL接続が出来れば解決出来そうな気がするんですけどね。
このあたりが参考になりそうですね。

SSL/TLSを使用してMySQLサーバへ暗号化接続する方法を検証してみた


開発環境を構築してからやらないことには、これまで通り行き当たりばったりなやり方では致命傷になりそうです。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (11人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)
Debian 11 にアップグレードしてからの深刻な状態からの解決
%(mta)s-whois[name=%(__name__)s, sender=%(sender)s, dest=%(destemail)s, protocol=%(protocol)s, chain=%(chain)s]。
年末にマルウェア感染をしてから、この3連休を使って回復を行った。
PHP7.4になってから、年末に最低限のエラーは潰したものの、本格的な対処は3連休中にあらかた潰しておいた。
でも、完全ではないのだが許容範囲として放置することにした。
(これについては、昨日書いたとおり。)


さて、Debian 11 にアップグレードして深刻な事態が一つ起きた。
それは、FTPサーバーをこれまで、proftpdを使っていたのだが何度やっても途中でエラーになって失敗に終わる。
処理中にエラーが発生しました:
proftpd-core

E: Sub-process /usr/bin/dpkg returned an error code (1)

このメッセージが出てしまう。どうすることも出来ないし、いつも参考にしているサイトを見ると、そこもproftpdでのインストールはハズレてしまっていた。
FTPサーバーが動かないと、ホームページの更新が出来なくなってしまうので、仕方なく代替のミドルウェアをインストールする事にした。
それが、vsfptd。
設定があまりにもシンプルすぎて不安があったが、何とかSSL対応で構築することが出来た。
調子に乗って、ユーザ管理をMySQLでやろうとしたところで、ドツボにハマった。
データベースやテーブル作成、アカウントのインサートはすんなりと行ったのだが、認証がテンでダメなのだ。
何をやっても失敗に終わる。
SSLを外した状態でも失敗に終わるので、諦めてphpmyadminからデータベースの削除を試みようとしたら、なんとphpmyadminが開かなくなっていた!

「マジで!?」
と一瞬焦ったが、もしかしてバージョンアップしたときにphpmyadminの設定がハズレてしまったのでは?
と思って案の定、ファイルが消えていたので許可設定を終えてサクッと削除を行った。


そして、vsfptd.confの設定を元に戻したがそれでも繋がらない。
どうして!?
と思ったら、/etc/pam.d にあるvsftpdの設定をMySQLで見に行くようにしていたからだ。
コメントアウトしていたファイルをもとに戻して、追加した行を削除することで事なきを得た。


DNSサーバーは、全然ダメでした。
やっぱり、私には鬼門過ぎる。
でも、DNSサーバーは構築しておくと何かと便利なんですよね。
いっぺん、真っ新な状態で作り直したいけど、もう面倒くさいしなぁ。
DNSサーバーを構築する研修を受けたい気分になった(笑)


次に手を焼いたのが、Fail2Ban。
これは、何度も不正アタックするとアカウントをBAN(拒否)するミドルウェア。
systemctl status fail2ban と入力すると一見ちゃんと動いているように見えるのだが、実は全く機能していない。
何故なら、起動するとちゃんと「起動しましたよ~」とメールが飛んでくるような仕組みにしているからである。
何が原因なのだろうか。
とログを見ようにも、ログも記録されていない。
どうやら、何か問題がある事が分かる。
ググっても出てこないので、自力で調べてみることにした。
まずは、fail2ban-clientを起動すると、phthonが入っていない。と出てくる。
それで、インストールを行う。
これでまずは、一段落。。。とはいかない。

続いて、fail2ban-serverと入力すると、こんなメッセージが出た。
hoge@hage:~# fail2ban-server
Failed during configuration: Bad value substitution:
section: [sshd]
option : action
key : protocol
rawval : ", chain="%(chain)s"]
%(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]

Async configuration of server failed

sshdのルールがおかしいぞ。と。
そんなはずはないんだが・・・と思いつつ、それを削除してみたところ、何とか無事に起動することが出来た。
無事に起動しても、sshdを何度も不正アタックされると困るので、取りあえず、アップグレード時に用意されていたパッケージと既存を置き換えることにした。
これで、あとは、ログの保存先とかルールの設定を行って完了。
ちゃんと機能するようになった。

だが!
Fail2Banのログがこれまで標準出力だったのに、デバッグモードで出力されて一時間でギガファイルを食らうことに。
ちゃんと、「loglevel = NOTICE」にしているのに、完全にDEBUGモードで大量出力。
お陰で、翌日ディスク容量いっぱいでエラー多発。
2022-01-10 18:15:41,864 fail2ban.filter [44158]: HEAVY Looking for match of [('', '2022-01-10 18:14:24,636', ' fail2ban.datedetector [44158]: HEAVY try to match last anchored template #00 ...')]
2022-01-10 18:15:41,864 fail2ban.filter [44158]: HEAVY Looking for failregex 0 - '^((?:\\[\\])?\\s*(?:<[^.]+\\.[^.]+>\\s+)?(?:\\S+\\s+)?(?:kernel: \\[ *\\d+\\.\\d+\\]\\s+)?(?:@vserver_\\S+\\s+)?(?:(?:(?:\\[\\d+\\])?:\\s+[\\[\\(]?fail2ban\\.actions\\s*(?:\\(\\S+\\))?[\\]\\)]?:?|[\\[\\(]?fail2ban\\.actions\\s*(?:\\(\\S+\\))?[\\]\\)]?:?(?:\\[\\d+\\])?:?)\\s+)?(?:\\[ID \\d+ \\S+\\]\\s+)?| fail2ban\\.actions\\s*(?:\\[\\d+\\])?:\\s+)NOTICE\\s+\\[(?!recidive\\])(?:.*)\\]\\s+Ban\\s+(?:\\[?(?:(?:::f{4,6}:)?(?P<ip4>(?:\\d{1,3}\\.){3}\\d{1,3})|(?P<ip6>(?:[0-9a-fA-F]{1,4}::?|::){1,7}(?:[0-9a-fA-F]{1,4}|(?<=:):)))\\]?|(?P<dns>[\\w\\-.^_]*\\w))\\s*$'
2022-01-10 18:15:41,864 fail2ban.filter [44158]: TRACE Working on line '2022-01-10 18:14:24,636 fail2ban.datedetector [44158]: #06-Lev. matched last time template #00'
もしかして、テンプレートを前のバージョンから引き継いだのがあかんかったのかなぁ・・・
と言っても、今更遅いんだが。
そこで、ふと、「fail2ban.local」というファイルに気付いた。
何だろう?と思って開いてみると・・・
[Definition]
loglevel = 2
logtarget = /var/log/fail2ban.log



これかー!


犯人はお前だったのか!と速攻で、loglevel = INFO に変更して再起動。
無事、ログ出力は通常に戻ったヽ(´ー`)ノバンザーイ
何のための、fail2ban.confなんだよ!って突っ込み入れたわ!


これで、殆どの問題点は解決した感じ。
あとは、ブログのモジュール関係かな。
一部、ちょっとおかしな事になっているので、折を見て少しずつ治していきます。


記事を評価してください(★1つ=悪い、★5つ=良い)
この記事の平均評価: (9人)
Posted by いぐぅ 06:00 | システム::linux | comments (0) | trackback (0)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31