DoS postfix攻撃の後、メールでいっぱいの受信キューとアクティブキューがあります。
drwx------. 2 postfix root 1007616 nov 5 17:01 active
drwx------. 2 postfix root 4096 nov 5 11:31 bounce
drwx------. 2 postfix root 4096 feb 20 2014 corrupt
drwx------. 18 postfix root 4096 jun 30 2014 defer
drwx------. 18 postfix root 4096 jun 30 2014 deferred
drwx------. 2 postfix root 4096 sep 8 10:41 flush
drwx------. 2 postfix root 4096 feb 20 2014 hold
drwx------. 2 postfix root 1093632 nov 5 17:01 incoming
drwx-wx---. 2 postfix postdrop 4096 nov 5 17:01 maildrop
drwxr-xr-x. 2 root root 4096 nov 5 16:49 pid
drwx------. 2 postfix root 4096 nov 5 16:49 private
drwx--x---. 2 postfix postdrop 4096 nov 5 16:49 public
drwx------. 2 postfix root 4096 feb 20 2014 saved
drwx------. 2 postfix root 4096 feb 20 2014 trace
アクティブなキュー:
[root@revres]# ls -la /var/spool/postfix/active/
total 992
drwx------. 2 postfix root 1007616 nov 5 17:01 .
drwxr-xr-x. 16 root root 4096 nov 5 09:06 ..
着信キュー:
[root@revres]# ls -la /var/spool/postfix/incoming/
total 1076
drwx------. 2 postfix root 1093632 nov 5 17:01 .
drwxr-xr-x. 16 root root 4096 nov 5 09:06 ..
postsuper -d ALL
コマンドを実行しても、何も削除されず、出力も表示されません。
これらのボックスを空にする他の方法はありますか?
ls -la
は2つの「ファイル」のみを表示します.
および..
それからis空です。
次に、「なぜ.
空のときはとても大きい」?それから答えは:ext3またはext4ファイルシステムでは通常です。それらは、ディレクトリに存在するiノード用にスペースを予約します。 iノードを管理するための予約済みスペースはまだ存在しているので、何も心配する必要はありません(さらに、1メガバイトの「大きい」だけでも)。
その攻撃の後、あなたのpostfixは一貫性を失ったと確信しています。キューは実際にはメモリデータ構造にあるため、メッセージはディスク上にあるかもしれませんが、postfixはそれらを認識していない可能性があります。 postfixサービスを停止し、postsuper -s
(ファイル構造を修復およびチェックします)を実行して、再起動することをお勧めします。
/ var/spool/postfix/deferをチェックして据え置き-postfixを(再)開始する前に、それらが空であることを確認してください。
ディレクトリファイルは、その下にあるファイルやディレクトリが次第に増えていくため、拡張のみが行われ、収縮することのない特別なファイルです。特に/tmp
内のファイルで、何千もの中間ファイルを作成する暴走スクリプトを持つプロセスでこの問題を経験しました。
ディレクトリファイルのサイズを小さくする場合、基本的な手順は次のとおりです。
bigdir
を使用してプロセスを終了します
mv bigdir bigdir.x
mkdir bigdir
mv bigdir.x/* bigdir
;;既存のファイルを新しい小さなディレクトリに移動します
mv bigdir.x/.[a-zA-Z0-9]* bigdir
;;隠しファイルをコピーしますが、コピーはしません。と。
biddir.x
に一致するように権限、ACL、SELラベルを変更
rmdir bigdir.x
;; bigdir.xは空でなければなりません
bigdir
を使用して、任意のプロセスを自由に(再)開始できます。
結果のディレクトリは、元のディレクトリよりもはるかに小さくなります。
同じ問題。
Sudols -ln/var/spool/postfix/incomingは1472ファイルを示します。
#Sudo ls /var/spool/postfix/incoming/ -ln
total 1472
-rw------- 1 89 89 8192 Feb 14 15:38 0007B120A83
-rw------- 1 89 89 0 Feb 14 16:38 0030E120A9B
-rw------- 1 89 89 4096 Feb 14 18:04 04548120AE7
-rw------- 1 89 89 102400 Feb 14 16:34 069CA120A94
-rw------- 1 89 89 0 Feb 14 17:56 06E53120ADF
-rw------- 1 89 89 0 Feb 14 17:10 08ADF120AB6
-rw------- 1 89 89 0 Feb 14 18:36 09A56120B24
-rw------- 1 89 89 0 Feb 14 18:32 0B0D0120B11
-rw------- 1 89 89 36864 Feb 14 16:43 0BC4D120A9A
-rw------- 1 89 89 0 Feb 14 19:01 0C150120B3E
-rw------- 1 89 89 0 Feb 14 18:30 0CED5120B16
MailScannerおよびpostfixサービスを再起動しました。また、フィルタリングしてゲートウェイとして機能しているExchange 2010サーバーから大量のエラーを受け取っていました。
Out: 250 2.1.5 Ok
In: DATA
Out: 354 End data with <CR><LF>.<CR><LF>
Out: 451 4.3.0 Error: queue file write error
In: RSET
Out: 421 4.3.0 Mail system error
mailqまたはpostqueue- pは空のキューを示します...
#mailq
Mail queue is empty
壁に当たった瞬間まで見ることができます。残念ながら、私はCentos 6.8で EFA Project を実行しています。
#yum info postfix
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* EFA: dl4.efa-project.org
* base: mirror.fusioncloud.co
* epel: archive.linux.duke.edu
* extras: mirrors.lga7.us.Voxel.net
* updates: mirrors.evowise.com
Installed Packages
Name : postfix
Arch : x86_64
Epoch : 2
Version : 3.1.3
Release : 1.efa.el6
Size : 14 M
Repo : installed
From repo : EFA
Summary : Postfix Mail Transport Agent
URL : http://www.postfix.org
License : IBM
Description : Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
: TLS built for Email Filter Appliance (EFA)
このOS用にパッケージ化されたpostfix-Perlスクリプトが見つかりません。 Fedoraパッケージを試してみましたが、rpm-fooは非常に弱いです。
...編集済み...
ファイル名からIDを取得し、postcatを使用して表示しようとすると、.
#postcat -vq 0007B120A83
postcat: name_mask: ipv4
postcat: inet_addr_local: configured 2 IPv4 addresses
postcat: fatal: open queue file 0007B120A83: Permission denied
[ssmith@foster-spam ~]$ Sudo postcat -vq 0007B120A83
postcat: name_mask: ipv4
postcat: inet_addr_local: configured 2 IPv4 addresses
*** ENVELOPE RECORDS incoming/0007B120A83 ***
message_size: 0 0 0 0 0 0
postcat: fatal: invalid size record: 0 0 0 0 0 0
メールログの検索:
#Sudo grep -i '0007B120A83' /var/log/maillog
Feb 14 15:36:36 foster-spam postfix/smtpd[16368]: 0007B120A83: client=foster-mail.foster2007.local[10.0.2.28]:63650
Feb 14 15:36:36 foster-spam postfix/cleanup[16371]: 0007B120A83: hold: header Received: from mail.fosterfuels.com (foster-mail.foster2007.local [10.0.2.28])??(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))??(No client certificate requested)??by mx.fosterfuels.com from foster-mail.foster2007.local[10.0.2.28]:63650; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail.fosterfuels.com>
Feb 14 15:36:36 foster-spam postfix/cleanup[16371]: 0007B120A83: message-id=<6B24BD0263D83043837040657FCAC53414F05903@foster-mail.FOSTER2007.local>
Feb 14 19:41:51 foster-spam postfix/postsuper[20067]: queue: 0007B120A83
Feb 14 19:41:51 foster-spam postfix/postsuper[20067]: fatal: invalid directory name: 0007B120A83
この時点では、これらのファイルはすべてゴミ箱であると想定し、DOS /ウイルスの大洪水の際にメールが食べられなかったことに夢中になると思います...