web-dev-qa-db-ja.com

アクティブ/受信キューでスタックしたメールを削除する方法-Postfix

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コマンドを実行しても、何も削除されず、出力も表示されません。

これらのボックスを空にする他の方法はありますか?

4
user1398498

ls -laは2つの「ファイル」のみを表示します.および..それからis空です。

次に、「なぜ.空のときはとても大きい」?それから答えは:ext3またはext4ファイルシステムでは通常です。それらは、ディレクトリに存在するiノード用にスペースを予約します。 iノードを管理するための予約済みスペースはまだ存在しているので、何も心配する必要はありません(さらに、1メガバイトの「大きい」だけでも)。

1
mailq

その攻撃の後、あなたのpostfixは一貫性を失ったと確信しています。キューは実際にはメモリデータ構造にあるため、メッセージはディスク上にあるかもしれませんが、postfixはそれらを認識していない可能性があります。 postfixサービスを停止し、postsuper -s(ファイル構造を修復およびチェックします)を実行して、再起動することをお勧めします。

3
Mauricio López

/ var/spool/postfix/deferをチェックして据え置き-postfixを(再)開始する前に、それらが空であることを確認してください。

1
Hank42

ディレクトリファイルは、その下にあるファイルやディレクトリが次第に増えていくため、拡張のみが行われ、収縮することのない特別なファイルです。特に/tmp内のファイルで、何千もの中間ファイルを作成する暴走スクリプトを持つプロセスでこの問題を経験しました。

ディレクトリファイルのサイズを小さくする場合、基本的な手順は次のとおりです。

  1. bigdirを使用してプロセスを終了します

  2. mv bigdir bigdir.x

  3. mkdir bigdir

  4. mv bigdir.x/* bigdir ;;既存のファイルを新しい小さなディレクトリに移動します

  5. mv bigdir.x/.[a-zA-Z0-9]* bigdir ;;隠しファイルをコピーしますが、コピーはしません。と。

  6. biddir.xに一致するように権限、ACL、SELラベルを変更

  7. rmdir bigdir.x ;; bigdir.xは空でなければなりません

  8. bigdirを使用して、任意のプロセスを自由に(再)開始できます。

結果のディレクトリは、元のディレクトリよりもはるかに小さくなります。

1
mdpc

同じ問題。

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

enter image description here

壁に当たった瞬間まで見ることができます。残念ながら、私は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 /ウイルスの大洪水の際にメールが食べられなかったことに夢中になると思います...

1
Stuart Smith