论文部分内容阅读
摘 要:根据网站开发和网站安全管理工作的总结,针对档案网站漏洞问题,文章分别从登录网站、网站数据库、网站开发设计三个方面进行了安全分析,并指出了相关安全措施,降低网络存在风险,以期达到档案网站安全稳定地运转。
关键词:档案网站;安全技术;网站漏洞
当前各级档案部门都建立了自己的网站,利用互联网的巨大传播能力,使档案资源突破了时空的限制,更加方便高效地为社会提供优质、便捷的服务。但是,网络安全环境不容乐观。如何保障网站安全稳定地运转,成为档案界、档案网站开发和管理人员不断思考和研究的课题。读了梁惠卿先生的《档案网站安全风险分析与应对——以网络攻击为例》(《档案管理》2016年第4期)一文后,觉得很有道理。再联系到实际工作中的一些现象,在登录网站、网站数据库、網站开发设计三个方面笔者都有不同看法,特撰写此文,与之商榷。
1 登录网站的安全技术方面
《梁文》认为“攻击类型的黑客虽然占比数量很少,但危害极大,是我们应当重点防范的对象”。[1]笔者认为,网站管理只有输入了正确的账号和密码才能登录网站后台的关键,这才是档案网站防范的重点。
1.1 关于账号和密码。大家知道, Windows 操作系统的超级用户账号默认是Administrator,所以很多程序员都习惯为管理员命名类似root、Administrator、Admin 等账号,这样的账号很容易被人猜测到,非常不安全。账号和密码一旦被入侵者窃取,网站就完全被入侵者控制。为了避免这一事故的发生,首先一定不要用传统的命名方法对账号命名,避免入侵者通过猜测的方法获得。其次,对输错账号和密码的次数要有限制,例如,一天之内不能输错三次等,避免入侵者通过猜测获得账号和密码。
1.2 关于绕过用户验证。档案网站的有些机密信息网页,只能对某些人员开放。所以要进入这些页面,必须经过一个身份验证,没有合法身份的用户是不能进入的。但是,要是这些网页没有跟身份验证的页面进行绑定的话,入侵者如果获得了机密信息页面的文件名,就可以直接在地址栏输入后台管理网页的完全路径,绕过用户的身份验证,直接进入到内容信息的页面。如果这样,用户验证就成了摆设。所以,设计网站时,应该把登录页面与重要信息页面进行绑定,只有通过了相关登录页面的合法身份验证的用户才能进入相关重要信息页面,凡是没有通过登录、匿名直接进入页面的用户,就会自动返回登录页面,必须通过登录才可以进入网站。这样入侵者就无法绕过用户验证而直接进入机密信息网页。
1.3 关于后台管理登录页面文件名。为了方便管理网站数据,一般都会设计一个后台管理页面。方便管理员不受时间和空间的限制,随时都能对网站实施管理,实现对网站信息的添加、删除、修改、更新等操作。后台管理页面虽然给网站管理员提供了极大的方便,但是入侵者如果通过猜测的方法,或者通过管理员登录过的电脑,利用IE 中的“历史”功能,一旦获得后台管理页面的文件名称,就可以进入后台管理页面,给我们的网站随时带来很大的威胁。为了防止万一,也可以在IIS中进行安全设置,使登录页面和后台管理页面只限在某些IP机上才能打开,如果这样,入侵者即使得到后台登录页面和后台管理页面的文件名,甚至掌握了管理员账号和密码,离开指定的几台计算机,无论如何都无法实施破坏。
2 基于ASP档案网站数据库的安全技术分析
《梁文》提出“‘技防’是应对网络攻击的最有效方法,通过购买使用性价比高的安全软件,及时升级网站安全系统”[2]。笔者认为数据库是数据的聚集区,它不仅包含了档案网站的所有信息,也包含了账户和密码信息。数据库被人下载,档案信息和用户信息就彻底被暴露,后果可想而知。网站安全系统软件是保护不了数据库绝对完全的。
2.1 数据库的连接。目前,基于ASP技术档案网站一般使用IIS ASP SQL server/access 构架,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,那么他就能够很容易下载这个access数据库文件,稍微懂点程序设计的人都会猜测到在地址栏输入“URL/database/information.mdb”或“URL/database/xinxi.mdb”, 数据库就可以被下载。因此,对数据库的命名要采用非常规的命名方法,为access数据库文件起一个复杂的名字, 并把它放在几个目录下, 或把扩展名改为asp或其他非mdb文件, 这样黑客要想通过猜的方式得到access数据库文件名就非常困难了。另外数据库连接尽量使用ODBC数据源,而不要把数据库名字写在程序中,否则,假如被黑客拿到了源程序,数据库名将随ASP源代码的失密而一同失密, access数据库的路径和名称便一览无余。
即使数据库名字再不可思议,存放数据库的目录隐藏得再深, 一旦ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,例如:conn.open “ODBC-DSN 名”,就不存在这样的问题,因此,建议程序员在ODBC中设置数据源。
2.2 数据的备份与恢复。由于档案网站中的大部分数据属于不经常改写的信息,还有一部分数据要经常访问和更新,因此采用增量备份与完全备份相结合的方式比较合适。部分数据库备份可以在归档模式下使用,使用归档日志进行数据库恢复。由于数据库文件存在不同步,在备份文件复制到数据库时需要实施数据库恢复,可以在数据库关闭和数据库运行时进行。完全备份一般在数据库正常关闭之后进行,由于构成数据库的所有文件都是关闭的,文件的同步号与当前检验点号一致,不存在不同步问题。因此,在复制到数据库备份文件后,不需要进行数据库恢复。
数据恢复包括数据库恢复、数据表恢复、表结构恢复三个部分,它们分别实现对数据库、数据表以及表结构的各种恢复策略。每一个部分可以利用系统正常运行时所备份的数据包恢复,也可以利用系统正常运行时所备份的数据包恢复。 3 基于ASP技术档案网站开发设计安全技术设计
《梁文》提出“工作时间内随时监控,发现攻击及时处理。非工作时间,要做好与工作时间衔接时的重点监控”。[3]笔者认为,档案网站在开发时加入相应的安全设计可以避免繁琐的人工处理环节。
3.1 严格地验证用户输入数据的合法性。由于“SQL注入”是一种广为人知的攻击类型,攻击者可以在输入域中插入特殊字符,改变SQL查询的本意,欺騙数据库服务器执行恶意的查询,甚至删除、修改数据库。[4]要抵御SQL注入攻击,就必须在程序开发时,验证用户输入的数据是否属于适当的数据类型、是否遵循预设的格式(特别是邮政编码、身份证号,电子邮件等有特定格式的数据),或者限定输入的数据必须属于某个设定范围字符的集合,以便过滤掉星号、引号等特殊的、通用的字符。
3.2 关于inc文件。在档案网站中,Asp文件中的数据库处理,很多时候是写成代码放在一个inc文件中,一旦在Asp文件中需要对数据库处理,只要在Asp文件的最前面加上一个包含inc文件的命令就可以了。[5]如果入侵者利用搜索引擎对网站页面进行查找,很容易定位到inc文件,inc文件的信息就会泄露,网站的数据库信息也会随之完全暴露。因此,网站程序员必须高度重视inc文件隐患的问题,可以通过对inc文件进行加密,或者把inc文件转换成asp文件保存,设置障碍,使入侵者即便找到了inc文件,也看不到里边的内容,这样网站的安全性也就自然提高了。
3.3 关于Script脚本代码。动态网站的网页要对服务器进行交互的操作,特别是对服务器中数据的处理操作,一般都用Script脚本代码来处理。[5]如果把脚本嵌入到htm或html网页中,这些文件在客户端是直接可以浏览的,那么Script脚本代码就完全暴露了。所以尽量不要把Script脚本代码直接写到网页文件中,最好把Script脚本代码写到独立的包含文件中,特别是对服务器处理的比较重要的Script脚本代码,以免把服务器的信息和数据库的信息泄露给入侵者。
3.4 尽量使用存储过程和视图替代SQL查询语句。由于存储过程最明显的优势,就是可以控制存储过程的访问权限,没有权限的用户绝对不能访问它,只有具有相应的系统权限才能够调用相应的存储过程,或者只访问存储过程而不能够访问其中涉及的表或视图,只通过存储过程中所给出的功能来间接操作数据库。因此,为了保证数据的安全性,在编写程序代码的时候要尽量使用存储过程。
4 结束语
为了保证档案网站的稳定安全,网站开发时必须在某些安全细节上高度注意,养成良好的安全习惯,尽量避免留下一些安全漏洞;同时,也要对网站管理员进行系统的网站安全知识的培训,使网站管理员有较高的安全防范能力和有很强的安全意识。这样,双管齐下,防患于未然,使网站做到真正安全运行。
参考文献:
[1][2][3]梁惠卿.档案网站安全风险分析与应对——以网络攻击为例[J].档案管理,2016 (04):82~83.
[4]永兴四方科技.服务器的故障与安全解决方案[M].北京永兴四方科技发展有限公司.2003:2.
[5]马军.ASP网络编程从入门到精通[M].清华大学出版社.2006.
(作者单位:河南牧业经济学院软件学院 来稿日期:2016-12-14)
关键词:档案网站;安全技术;网站漏洞
当前各级档案部门都建立了自己的网站,利用互联网的巨大传播能力,使档案资源突破了时空的限制,更加方便高效地为社会提供优质、便捷的服务。但是,网络安全环境不容乐观。如何保障网站安全稳定地运转,成为档案界、档案网站开发和管理人员不断思考和研究的课题。读了梁惠卿先生的《档案网站安全风险分析与应对——以网络攻击为例》(《档案管理》2016年第4期)一文后,觉得很有道理。再联系到实际工作中的一些现象,在登录网站、网站数据库、網站开发设计三个方面笔者都有不同看法,特撰写此文,与之商榷。
1 登录网站的安全技术方面
《梁文》认为“攻击类型的黑客虽然占比数量很少,但危害极大,是我们应当重点防范的对象”。[1]笔者认为,网站管理只有输入了正确的账号和密码才能登录网站后台的关键,这才是档案网站防范的重点。
1.1 关于账号和密码。大家知道, Windows 操作系统的超级用户账号默认是Administrator,所以很多程序员都习惯为管理员命名类似root、Administrator、Admin 等账号,这样的账号很容易被人猜测到,非常不安全。账号和密码一旦被入侵者窃取,网站就完全被入侵者控制。为了避免这一事故的发生,首先一定不要用传统的命名方法对账号命名,避免入侵者通过猜测的方法获得。其次,对输错账号和密码的次数要有限制,例如,一天之内不能输错三次等,避免入侵者通过猜测获得账号和密码。
1.2 关于绕过用户验证。档案网站的有些机密信息网页,只能对某些人员开放。所以要进入这些页面,必须经过一个身份验证,没有合法身份的用户是不能进入的。但是,要是这些网页没有跟身份验证的页面进行绑定的话,入侵者如果获得了机密信息页面的文件名,就可以直接在地址栏输入后台管理网页的完全路径,绕过用户的身份验证,直接进入到内容信息的页面。如果这样,用户验证就成了摆设。所以,设计网站时,应该把登录页面与重要信息页面进行绑定,只有通过了相关登录页面的合法身份验证的用户才能进入相关重要信息页面,凡是没有通过登录、匿名直接进入页面的用户,就会自动返回登录页面,必须通过登录才可以进入网站。这样入侵者就无法绕过用户验证而直接进入机密信息网页。
1.3 关于后台管理登录页面文件名。为了方便管理网站数据,一般都会设计一个后台管理页面。方便管理员不受时间和空间的限制,随时都能对网站实施管理,实现对网站信息的添加、删除、修改、更新等操作。后台管理页面虽然给网站管理员提供了极大的方便,但是入侵者如果通过猜测的方法,或者通过管理员登录过的电脑,利用IE 中的“历史”功能,一旦获得后台管理页面的文件名称,就可以进入后台管理页面,给我们的网站随时带来很大的威胁。为了防止万一,也可以在IIS中进行安全设置,使登录页面和后台管理页面只限在某些IP机上才能打开,如果这样,入侵者即使得到后台登录页面和后台管理页面的文件名,甚至掌握了管理员账号和密码,离开指定的几台计算机,无论如何都无法实施破坏。
2 基于ASP档案网站数据库的安全技术分析
《梁文》提出“‘技防’是应对网络攻击的最有效方法,通过购买使用性价比高的安全软件,及时升级网站安全系统”[2]。笔者认为数据库是数据的聚集区,它不仅包含了档案网站的所有信息,也包含了账户和密码信息。数据库被人下载,档案信息和用户信息就彻底被暴露,后果可想而知。网站安全系统软件是保护不了数据库绝对完全的。
2.1 数据库的连接。目前,基于ASP技术档案网站一般使用IIS ASP SQL server/access 构架,如果有人通过各种方法获得或者猜到数据库的存储路径和文件名,那么他就能够很容易下载这个access数据库文件,稍微懂点程序设计的人都会猜测到在地址栏输入“URL/database/information.mdb”或“URL/database/xinxi.mdb”, 数据库就可以被下载。因此,对数据库的命名要采用非常规的命名方法,为access数据库文件起一个复杂的名字, 并把它放在几个目录下, 或把扩展名改为asp或其他非mdb文件, 这样黑客要想通过猜的方式得到access数据库文件名就非常困难了。另外数据库连接尽量使用ODBC数据源,而不要把数据库名字写在程序中,否则,假如被黑客拿到了源程序,数据库名将随ASP源代码的失密而一同失密, access数据库的路径和名称便一览无余。
即使数据库名字再不可思议,存放数据库的目录隐藏得再深, 一旦ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,例如:conn.open “ODBC-DSN 名”,就不存在这样的问题,因此,建议程序员在ODBC中设置数据源。
2.2 数据的备份与恢复。由于档案网站中的大部分数据属于不经常改写的信息,还有一部分数据要经常访问和更新,因此采用增量备份与完全备份相结合的方式比较合适。部分数据库备份可以在归档模式下使用,使用归档日志进行数据库恢复。由于数据库文件存在不同步,在备份文件复制到数据库时需要实施数据库恢复,可以在数据库关闭和数据库运行时进行。完全备份一般在数据库正常关闭之后进行,由于构成数据库的所有文件都是关闭的,文件的同步号与当前检验点号一致,不存在不同步问题。因此,在复制到数据库备份文件后,不需要进行数据库恢复。
数据恢复包括数据库恢复、数据表恢复、表结构恢复三个部分,它们分别实现对数据库、数据表以及表结构的各种恢复策略。每一个部分可以利用系统正常运行时所备份的数据包恢复,也可以利用系统正常运行时所备份的数据包恢复。 3 基于ASP技术档案网站开发设计安全技术设计
《梁文》提出“工作时间内随时监控,发现攻击及时处理。非工作时间,要做好与工作时间衔接时的重点监控”。[3]笔者认为,档案网站在开发时加入相应的安全设计可以避免繁琐的人工处理环节。
3.1 严格地验证用户输入数据的合法性。由于“SQL注入”是一种广为人知的攻击类型,攻击者可以在输入域中插入特殊字符,改变SQL查询的本意,欺騙数据库服务器执行恶意的查询,甚至删除、修改数据库。[4]要抵御SQL注入攻击,就必须在程序开发时,验证用户输入的数据是否属于适当的数据类型、是否遵循预设的格式(特别是邮政编码、身份证号,电子邮件等有特定格式的数据),或者限定输入的数据必须属于某个设定范围字符的集合,以便过滤掉星号、引号等特殊的、通用的字符。
3.2 关于inc文件。在档案网站中,Asp文件中的数据库处理,很多时候是写成代码放在一个inc文件中,一旦在Asp文件中需要对数据库处理,只要在Asp文件的最前面加上一个包含inc文件的命令就可以了。[5]如果入侵者利用搜索引擎对网站页面进行查找,很容易定位到inc文件,inc文件的信息就会泄露,网站的数据库信息也会随之完全暴露。因此,网站程序员必须高度重视inc文件隐患的问题,可以通过对inc文件进行加密,或者把inc文件转换成asp文件保存,设置障碍,使入侵者即便找到了inc文件,也看不到里边的内容,这样网站的安全性也就自然提高了。
3.3 关于Script脚本代码。动态网站的网页要对服务器进行交互的操作,特别是对服务器中数据的处理操作,一般都用Script脚本代码来处理。[5]如果把脚本嵌入到htm或html网页中,这些文件在客户端是直接可以浏览的,那么Script脚本代码就完全暴露了。所以尽量不要把Script脚本代码直接写到网页文件中,最好把Script脚本代码写到独立的包含文件中,特别是对服务器处理的比较重要的Script脚本代码,以免把服务器的信息和数据库的信息泄露给入侵者。
3.4 尽量使用存储过程和视图替代SQL查询语句。由于存储过程最明显的优势,就是可以控制存储过程的访问权限,没有权限的用户绝对不能访问它,只有具有相应的系统权限才能够调用相应的存储过程,或者只访问存储过程而不能够访问其中涉及的表或视图,只通过存储过程中所给出的功能来间接操作数据库。因此,为了保证数据的安全性,在编写程序代码的时候要尽量使用存储过程。
4 结束语
为了保证档案网站的稳定安全,网站开发时必须在某些安全细节上高度注意,养成良好的安全习惯,尽量避免留下一些安全漏洞;同时,也要对网站管理员进行系统的网站安全知识的培训,使网站管理员有较高的安全防范能力和有很强的安全意识。这样,双管齐下,防患于未然,使网站做到真正安全运行。
参考文献:
[1][2][3]梁惠卿.档案网站安全风险分析与应对——以网络攻击为例[J].档案管理,2016 (04):82~83.
[4]永兴四方科技.服务器的故障与安全解决方案[M].北京永兴四方科技发展有限公司.2003:2.
[5]马军.ASP网络编程从入门到精通[M].清华大学出版社.2006.
(作者单位:河南牧业经济学院软件学院 来稿日期:2016-12-14)