本申请要求于2011年12月31日提交中国专利局、申请号为201110459892.8、发明名称为“邮件行为阻断方法、装置及网关”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
发明内容
有鉴于此,本发明实施例提供邮件行为阻断方法、装置及网关,通过在邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端返回错误信息,以指示所述客户端放弃被限制的邮件操作,进而在实现阻断越权用户的邮件操作的过程中减少了相关设备的资源消耗。
本发明实施例的具体内容如下:
一种邮件行为阻断方法,包括:
监测客户端用户的邮件操作;获取该用户的客户端所发送SMTP指令中的用户标识;
通过所述用户标识和预设的用户对应权限判断所述邮件操作是否超出权限;
当所述邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端返回错误信息,所述错误信息用于指示所述客户端放弃被限制的邮件操作。
此外,在本发明实施例中,还提供了一种邮件行为阻断装置,包括:
检测模块,用于监测客户端用户的邮件操作;获取该用户的客户端所发送SMTP指令中的用户标识;
权限判断模块,用于通过所述用户标识和预设的用户对应权限判断所述邮件操作是否超出权限;
错误信息生成模块,用于当所述邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端返回错误信息,所述错误信息用于指示所述客户端放弃被限制的邮件操作。
此外,在本发明实施例中,还提供了一种网关,包括邮件行为阻断装置;
邮件行为阻断装置包括:
检测模块,用于监测客户端用户的邮件操作;获取该用户的客户端所发送SMTP指令中的用户标识;
权限判断模块,用于通过所述用户标识和预设的用户对应权限判断所述邮件操作是否超出权限;
错误信息生成模块,用于当所述邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端返回错误信息,所述错误信息用于指示所述客户端放弃被限制的邮件操作。
综上所述,本发明实施例通过在邮件操作超出权限时,修改邮件响应信息或认证密码,使得邮件服务器向客户端返回错误信息,以指示所述客户端放弃被限制的邮件操作,由于本实施例中的方法不会中断TCP,所以客户端不会重复的建立连接,从而减少了相关设备的资源消耗。
具体实施方式
本发明实施例中提供了邮件行为阻断方法、装置及网关,下面结合实施例进行说明。
在本实施例中,所提及的用户特指通过使用邮件协议,即,SMTP/POP3协议接收和发送的电子邮件,并不包括通过网页发送的电子邮件。
参照图1,本发明实施例提供了一种邮件行为阻断方法,包括:
S11、监测连接邮件服务器的用户的邮件行为;
本实施例基于邮件的基本流程来实现过滤功能,即,需要监测与邮件服务器连接的客户端用户的邮件操作,这样,才能对用户的邮件操作进行分析和判断。在实际应用中,可以通过网关来实现监测连接邮件服务器的用户的邮件操作。在检测过程中,具体可以通过获取用户的客户端向服务器发送的SMTP指令中所包括的用户标识,以识别用户。典型的包含有用户标识的SMTP指令包括MAIL FROM指令和PASS指令。
S12、通过用户标识和预设的用户对应权限判断邮件操作是否超出权限;
为了限制特定用户的邮件操作,可以为用户设置权限,比如用户的用户标识,也就是用户名为aaa,该用户的权限被设定为限制发送邮件;而用户bbb,该用户则的权限被设定为限制接收邮件。
通过从SMTP指令中获取的用户标识,根据预设的用户权限,即可以判断用户的邮件操作是否超出其对应的权限。
S13、当邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端返回错误信息,错误信息用于指示所述客户端放弃被限制的邮件操作。
邮件操作超出权限,一般包括超出发送权限或超出接收权限,即,限制用户发送邮件或限制用户接收邮件。
具体的,当邮件操作超出权限为超出发送权限时,也就是当发送邮件的用户属于限制发送邮件的用户时,可以通过修改邮件服务器为客户端的MAIL FROM指令而反馈的响应码,以使邮件服务器向客户端返回响应失败信息。这样,客户端会因为接收到表示服务器处理过程出错的响应码,从而不再继续执行后续的发送邮件操作。
参考图2,本发明实施例中,通过用户的客户端发送外发邮件的具体过程可以按照以下步骤进行:
S21、客户端按照TCP协议发送外发邮件时,首先要与邮件服务器完成握手,邮件服务器的发送响应码220表示服务器的邮件服务已准备运作,握手完成。
S22、当客户端接收到邮件服务器的响应码220后,客户端通过HELO指令通知邮件服务器该客户端的主机名。例如,HELO指令可以为HELOaaa.com,表示该客户端的主机名为aaa.com。
S23、当邮件服务器在确认该主机名号后,返回响应码250以表示系统指令处理正确。双方已经建立好连接,邮件服务器已经做好接收外发邮件的准备。
S24、当客户端接收到邮件服务器的响应码250后,客户端通过MAILFROM指令来通知邮件服务器此次发送外发邮件的用户。
例如,MAIL FROM指令可以为MAIL aaaa.com,表示此次发送外发邮件的用户为aaaa.com。
S25、邮件服务器在收到MAIL FROM指令后,如果发送外发邮件的用户的邮件地址正确,会返回表示系统指令处理正确的响应码250,以表示系统指令处理正确。
具体的,例如,在网关检测到用户aaaaaa.com发送外发邮件,而该用户的权限为限制发送时,在这种情况下,网关在转发邮件服务器向客户端返回的MAIL FROM指令的响应码时,将本来表示系统指令处理正确的响应码250修改为表示系统指令处理错误的响应码451。这样,该响应码表示服务器处理过程出错。从而客户端就不会再继续执行后续操作,该用户的外发邮件内容也不会被发送出去,而此时TCP连接也不会被中断,客户端也不会重复建立连接。
在本发明实施例中,当邮件操作超出权限为超出接收权限时,也就是当发送邮件的用户属于限制接收邮件的用户时,可以修改客户端发送给邮件服务器的认证码,以使所述邮件服务器向所述客户端返回认证失败信息。具体的,可以通过修改所述接收到达邮件的用户的PASS指令中包含的认证密码,以使邮件服务器向客户端返回认证失败的响应,从而使客户端与邮件服务器的TCP连接断开,进而阻断了用户接收邮件。
参考图3,本发明实施例中,通过用户的客户端接收到达邮件的具体流程可以按照以下步骤进行:
S31、在客户端接收到达邮件,首先要通过与邮件服务器完成握手来建立TCP连接。
S32、接着,客户端通过AUTH这一Outlook客户端扩展指令来询问邮件服务器是否支持SSL加密的邮件传输。
S33、邮件服务器返回响应ERR来表示不支持。
S34、接着,客户端通过USER指令来进行认证,通知邮件服务器与之连接的客户端的用户名。比如,邮件地址aaabbb.com的用户名为aaa。
S35、邮件服务器认证用户名成功后,向客户端返回响应OK useraccepted。
S36、客户端在认证用户名成功后,通过PASS指令来向邮件服务器发送与用户名相应的密码。
由于可以通过为限用户预设用户权限,从而可以判定用户是否有权限接收邮件。由于在本发明实施例中,可以通过网关来实现监测连接邮件服务器的用户的邮件操作,所以可以通过步骤S34中的USER指令检测到接收邮件的用户名。这样,将当接收邮件的用户为限制发送用户时,可以通过修改PASS指令中的密码,将本来向邮件服务器发送的正确的用户名密码修改为错误的用户名密码。
具体的,例如,当限制发送用户列表中包括了用户bbbaaa.com时,在网关检测到该用户接收邮件时,网关在转发客户端向邮件服务器发送PASS指令时,将PASS指令中本来正确的用户名密码修改为错误的用户名密码。
S37、限制发送用户所在的客户端将会收到邮件服务器认证失败的响应-ERR invalid username。
S38、客户端与邮件服务器的TCP连接断开,从而阻断了用户接收邮件。
本发明实施例通过检测连接邮件服务器的用户的邮件操作,在获取SMTP指令中的用户标识后,判定接收邮件的用户是否为预设的限制接收用户,当该用户为限制接收用户时,通过修改PASS指令中的密码,将本来向邮件服务器发送的正确的用户名密码修改为错误的用户名密码。从而使得邮件服务器向限制接收用户所在的客户端发送认证失败的响应,进而使得客户端与邮件服务器的TCP连接断开,由此阻断了用户接收邮件。
此外,本发明实施例还提供了一种邮件行为阻断装置,如图4所示,包括检测模块11、权限判断模块12和错误信息生成模块13;
检测模块11用于监测客户端3用户的邮件操作;获取该用户的客户端3所发送SMTP指令中的用户标识;
本实施例基于邮件的基本流程来实现过滤功能,即,需要监测与邮件服务器2连接的客户端3用户的邮件操作,这样,才能对用户的邮件操作进行分析和判断。在实际应用中,可以通过网关1来实现监测连接邮件服务器2的用户的邮件操作。在检测过程中,具体可以通过获取用户的客户端3向邮件服务2器发送的SMTP指令中所包括的用户标识,以识别用户。采用SMTP/POP3协议的邮件系统中,典型的包含有用户标识的SMTP指令包括MAIL FROM指令和PASS指令。
权限判断模块12用于通过所述用户标识和预设的用户对应权限判断所述邮件操作是否超出权限;
为了限制特定用户的邮件操作,可以为用户设置权限,比如用户的用户标识,也就是用户名为aaa,该用户的权限被设定为限制发送邮件;而用户bbb,该用户则的权限被设定为限制接收邮件。
错误信息生成模块13用于当所述邮件操作超出权限时,修改邮件响应信息或认证密码,以使邮件服务器向客户端3返回错误信息,所述错误信息用于指示客户端3放弃被限制的邮件操作。
通过从SMTP指令中获取的用户标识,根据预设的用户权限,即可以判断用户的邮件操作是否超出其对应的权限。
在实际应用中,邮件操作超出权限,一般包括超出发送权限或超出接收权限,即,限制用户发送邮件或限制用户接收邮件。为此,在本发明实施例中,错误信息生成模块可以包括响应码修改单元和认证码修改单元。
具体的,响应码修改单元用于当邮件操作超出权限为超出发送权限时,也就是当发送邮件的用户属于限制发送邮件的用户时,可以通过修改邮件服务器为客户端3的MAIL FROM指令而反馈的响应码,以使邮件服务器2向客户端3返回响应失败信息。这样,客户端3会因为接收到表示邮件服务器2处理过程出错的响应码,从而不再继续执行后续的发送邮件操作。
例如,在网关检测到用户aaaaaa.com发送外发邮件,而该用户的权限为限制发送时,在这种情况下,网关在转发邮件服务器向客户端返回的MAIL FROM指令的响应码时,将本来表示系统指令处理正确的响应码250修改为表示系统指令处理错误的响应码451。这样,该响应码表示服务器处理过程出错。从而客户端就不会再继续执行后续操作,该用户的外发邮件内容也不会被发送出去,而此时TCP连接也不会被中断,客户端也不会重复建立连接。
在本发明实施例中,认证码修改单元用于当邮件操作超出权限为超出接收权限时,也就是当发送邮件的用户属于限制接收邮件的用户时,可以修改客户端3发送给邮件服务器2的认证码,以使邮件服务器2向客户端3返回认证失败信息。具体的,可以通过修改接收到达邮件的用户的PASS指令中包含的认证密码,以使邮件服务器2向客户端3返回认证失败的响应,从而使客户端3与邮件服务器2的TCP连接断开,进而阻断了用户接收邮件。
例如,当限制发送用户列表中包括了用户bbbaaa.com时,在网关检测到该用户接收邮件时,网关在转发客户端向邮件服务器发送PASS指令时,将PASS指令中本来正确的用户名密码修改为错误的用户名密码。
此外,本发明实施例还提供了一种网关,网关包括了与图4所对应实施例中的邮件行为阻断装置,由于在本发明实施例中,邮件行为阻断装置的结构和原理与图4所对应的实施例中邮件行为阻断装置相似,其起到的作用也一样,在此就不再赘述。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。