Re: [Sagator-users] Sagator on OpenBSD 5.0
Brought to you by:
ondrejj
From: Comète <co...@da...> - 2012-01-30 14:00:21
|
i've just installed postfix-2.8.4 to test and same error at the end of each connection. Looking at the Postfix logs but nothing strange, no error and the mails are well delivered. Le 30/01/2012 13:16, "Ján ONDREJ (SAL)" a écrit : > Postfix-2.9 is an release candidate for stable, not stable yet. > May be it's a problem of postfix. Try to look at your postfix logs. > > You can try to fix this by changing end of file srv/smtpd.py in sagator from: > > conn.shutdown(socket.SHUT_RDWR) > conn.close() > > to: > > try: > conn.shutdown(socket.SHUT_RDWR) > conn.close() > except socket.error: > pass > > Just I am not sure, if this is a good solution. > > SAL > > On Mon, Jan 30, 2012 at 12:35:37PM +0100, Comète wrote: >> I use postfix-2.9.20110706 which is running on the same server and >> yes it happens for each connection. >> >> my master.cf looks like this: >> >> smtp inet n - - - - smtpd >> #628 inet n - - - - qmqpd >> pickup fifo n - - 60 1 pickup >> cleanup unix n - - - 0 cleanup >> qmgr fifo n - - 300 1 qmgr >> #qmgr fifo n - - 300 1 oqmgr >> tlsmgr unix - - - 1000? 1 tlsmgr >> rewrite unix - - - - - trivial-rewrite >> bounce unix - - - - 0 bounce >> defer unix - - - - 0 bounce >> trace unix - - - - 0 bounce >> verify unix - - - - 1 verify >> flush unix n - - 1000? 0 flush >> proxymap unix - - n - - proxymap >> proxywrite unix - - n - 1 proxymap >> smtp unix - - - - - smtp >> # When relaying mail as backup MX, disable fallback_relay to avoid MX loops >> relay unix - - - - - smtp >> -o smtp_fallback_relay= >> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 >> showq unix n - - - - showq >> error unix - - - - - error >> retry unix - - - - - error >> discard unix - - - - - discard >> local unix - n n - - local >> virtual unix - n n - - virtual >> lmtp unix - - - - - lmtp >> anvil unix - - - - 1 anvil >> scache unix - - - - 1 scache >> >> 127.0.0.1:10026 inet n - n - 30 smtpd >> -o content_filter= >> -o myhostname=sagator.dmz.local >> -o local_recipient_maps= -o relay_recipient_maps= >> -o mynetworks=127.0.0.0/8 -o mynetworks_style=host >> -o smtpd_restriction_classes= -o smtpd_client_restrictions= >> -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= >> -o smtpd_recipient_restrictions=permit_mynetworks,reject >> -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks >> -o smtpd_use_tls=no >> >> >> >> Le 30/01/2012 12:11, "Ján ONDREJ (SAL)" a écrit : >>> Curious. Looks like your SMTP server closed connection unexpectedly. >>> Which SMTP server are you using? With postfix I never had similar problems. >>> >>> I can catch this error in sagator, but need to know, if it's an problem of >>> SMTP server or configuration. >>> >>> Does this happen always or only sometimes, for example when you restart your >>> SMTP server? >>> >>> SAL >>> >>> On Mon, Jan 30, 2012 at 11:00:50AM +0100, Comète wrote: >>>> Ok thanks for the advice, it seems to work when calling parsemail >>>> first and then libclamav(). >>>> >>>> But, i have one last non-blocking error at the end of each connection: >>>> >>>> 11714: b2f(): destroy():/tmp/b2f-ffF0bQNVyj.mbd >>>> 11714: STATS: 1.16177392006 seconds, 504903 bytes, status: CLEAN >>>> 11714: SMTPS: Sending data >>>> 11714: SMTPS: OK: 250 Ok >>>> 11714: SMTPS: QUIT >>>> 11714: smtpd(): Closing connection. >>>> 11714: smtpd(): ERROR: SocketError: Connection reset by peer >>>> 11714: smtpd(): Traceback (most recent call last): >>>> File "/usr/local/share/sagator/aglib.py", line 141, in fork >>>> self.accept() >>>> File "/usr/local/share/sagator/srv/smtpd.py", line 232, in accept >>>> conn.shutdown(socket.SHUT_RDWR) >>>> File "/usr/local/lib/python2.7/socket.py", line 224, in meth >>>> return getattr(self._sock,name)(*args) >>>> error: [Errno 54] Connection reset by peer >>>> 27566: collector(): Saving stats ... >>>> >>>> Any idea ? >>>> >>>> Le 30/01/2012 10:36, "Ján ONDREJ (SAL)" a écrit : >>>>> Looks like you are calling an bufferscanner from filescanner or vice versa. >>>>> But your configuration looks to be OK, I tested in my testing environment. >>>>> May be problem is in rest of configuration. >>>>> >>>>> Btw, do not use libclam() from parsemail. This way you will disable clamav's >>>>> internal email parser, which is very good. >>>>> >>>>> SAL >>>>> >>>>> On Mon, Jan 30, 2012 at 10:15:30AM +0100, Comète wrote: >>>>>> ok this is the error message woth debug level 5: >>>>>> >>>>>> >>>>>> 11239: libclam(): Loaded virpatterns: 2325837 >>>>>> 5813: Testing >>>>>> log(status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))), >>>>>> status(drop(quarantine(SpamAssassinD()))))... >>>>>> 5813: Running: >>>>>> log(status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))), >>>>>> status(drop(quarantine(SpamAssassinD())))) >>>>>> 5813: Running: >>>>>> status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))) >>>>>> 5813: Running: >>>>>> report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam()))))) >>>>>> 5813: Running: drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))) >>>>>> 5813: Running: quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam()))) >>>>>> 5813: Running: alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam())) >>>>>> 5813: Running: ParseMail(file_type(), attach_name(), libclam()) >>>>>> 5813: parsemail(): buffer len=11, filename=unknown.bin >>>>>> 5813: Running: file_type() >>>>>> 5813: Values: 0.000000, '', [] >>>>>> 5813: Running: attach_name() >>>>>> 5813: Values: 0.000000, '', [] >>>>>> 5813: Running: libclam() >>>>>> 5813: alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam())): scanner ParseMail(file_type(), attach_name(), >>>>>> libclam()) failed: ScannerError: Not implemented >>>>>> 5813: alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam()))Traceback (most recent call last): >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 120, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/parsemail.py", line 412, >>>>>> in scanbuffer >>>>>> return decode_email(buffer,self.scanners,args).scan() >>>>>> File "/usr/local/share/sagator/interscan/parsemail.py", line 384, >>>>>> in __init__ >>>>>> self.scan_part(file_name) >>>>>> File "/usr/local/share/sagator/interscan/parsemail.py", line 200, >>>>>> in scan_part >>>>>> l,v,r=scanner.scanbuffer(buffer,self.args) >>>>>> File "/usr/local/share/sagator/avlib.py", line 1036, in scanbuffer >>>>>> raise ScannerError, 'Not implemented' >>>>>> ScannerError: Not implemented >>>>>> 5813: alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam())): All scanners failed! >>>>>> 5813: quarantine(alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam()))): scanner alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())) failed: ScannerError: All alternatives >>>>>> failed! >>>>>> 5813: drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))): scanner >>>>>> quarantine(alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam()))) failed: ScannerError: All alternatives failed! >>>>>> 5813: report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam()))))): scanner >>>>>> drop(quarantine(alternatives(ParseMail(file_type(), attach_name(), >>>>>> libclam())))) failed: ScannerError: All alternatives failed! >>>>>> 5813: >>>>>> status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))): scanner >>>>>> report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam()))))) failed: ScannerError: All alternatives >>>>>> failed! >>>>>> 5813: >>>>>> log(status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))), >>>>>> status(drop(quarantine(SpamAssassinD())))): scanner >>>>>> status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))) failed: ScannerError: All >>>>>> alternatives failed! >>>>>> 5813: do_scan: Traceback (most recent call last): >>>>>> File "/usr/local/share/sagator/aglib.py", line 312, in do_scan >>>>>> scnr.scanbuffer(mail.data, {'dbc':globals.DBC}) >>>>>> File "/usr/local/share/sagator/interscan/logger.py", line 94, in >>>>>> scanbuffer >>>>>> level,detected,virlist=match_any.scanbuffer(self,buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 181, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/stats.py", line 589, in scanbuffer >>>>>> >>>>>> level,detected,ret=interscan.match.match_any.scanbuffer(self,buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 181, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/report.py", line 113, in >>>>>> scanbuffer >>>>>> level,detected,virlist=match_any.scanbuffer(self,buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 181, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/actions.py", line 137, in >>>>>> scanbuffer >>>>>> level, detected, virlist = match_any.scanbuffer(self, buffer, args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 181, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/actions.py", line 52, in >>>>>> scanbuffer >>>>>> level,detected,virlist=match_any.scanbuffer(self,buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 181, in >>>>>> scanbuffer >>>>>> level,vir,ret=self.scanner.scanbuffer(buffer,args) >>>>>> File "/usr/local/share/sagator/interscan/match.py", line 128, in >>>>>> scanbuffer >>>>>> raise ScannerError,'All alternatives failed!' >>>>>> ScannerError: All alternatives failed! >>>>>> 5813: Scanner >>>>>> log(status(report(drop(quarantine(alternatives(ParseMail(file_type(), >>>>>> attach_name(), libclam())))))), >>>>>> status(drop(quarantine(SpamAssassinD())))) test failed! Disable it >>>>>> manually! >>>>>> 5813: All alternatives failed! >>>>>> 11239: smtpd(): service started ... [30308, 8583] >>>>>> >>>>>> >>>>>> Thanks again. >>>>>> >>>>>> Le 29/01/2012 19:44, "Ján ONDREJ (SAL)" a écrit : >>>>>>> Can you send me exact error message (if possible in debug level>=4)? >>>>>>> >>>>>>> SAL >>>>>>> >>>>>>> On Sun, Jan 29, 2012 at 07:13:00PM +0100, Comète wrote: >>>>>>>> Sorry i don't know why there are different versions. >>>>>>>> >>>>>>>> If i try to use parsemail, that's because i would like to drop >>>>>>>> messages containing attachments with >>>>>>>> exe|com|vxd|dll|cpl|scr|pif|lnk|bat|vbs|js extensions. >>>>>>>> >>>>>>>> thanks >>>>>>>> >>>>>>>> >>>>>>>> Le 27/01/2012 16:32, "Ján ONDREJ (SAL)" a écrit : >>>>>>>>> On Fri, Jan 27, 2012 at 04:10:46PM +0100, Comète wrote: >>>>>>>>>> Thanks a lot, it works ! >>>>>>>>> >>>>>>>>> I don't know, how OpenBSD works. Can you explain, why libclamav has >>>>>>>>> different version? May be I should fix this in sagator's sources. >>>>>>>>> >>>>>>>>>> I have now another problem. I would like to parse attachments and >>>>>>>>>> scan with libclam and then i try to use this setup: >>>>>>>>>> parsemail( >>>>>>>>>> #file_magic({'Executable_magic': '/.*exec'},re.I), >>>>>>>>>> ## Check with sagator's internal content recognition. >>>>>>>>>> file_type({'exe': 'Executable'}), >>>>>>>>>> ## Check for attachment filenames. >>>>>>>>>> >>>>>>>>>> attach_name({'Executable':'\.(exe|com|vxd|dll|cpl|scr|pif|lnk|bat|vbs|js)$'}), >>>>>>>>>> libclam(db_options=libclam.CL_DB_PHISHING) >>>>>>>>>> ), >>>>>>>>>> ), >>>>>>>>>> >>>>>>>>>> But it doesn't work, saying all the alternatives have failed. >>>>>>>>> >>>>>>>>> You don't need to use parsemail for libclamav. ClamAV has better and faster >>>>>>>>> email parser. >>>>>>>>> >>>>>>>>> SAL |