如何运营服务器,第1张

摘要:服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器上线以后,基本是不间断,724小时运行,否则会影响业务及用户体验。那么如何运营服务器呢?下面来了解服务器运营注意事项吧!一、服务器怎么运营?

检查磁盘使用率,当磁盘使用率超过80%,可以清除一些日志文件;

检查内存使用情况,当内存使用过多时,需要检查是哪个进程占用,是否合理;

检查CPU使用情况,负载大小;当CPU使用过多,负载过大时,需要检查是哪个进程占用,是否合理。

检查服务器网卡接口的数据统计和每秒收发包的个数和流量。

还需要结合服务器的业务,当然,这些可用使用监控软件自动检查,故障报警等,实时掌握服务器的运行情况。

二、服务器运营注意事项

1、提前检查

服务器和网站漏洞检测,对Web漏洞、弱口令、潜在的恶意行为、违法信息等进行定期扫描。

代码的定期检查,安全检查,漏洞检查。

服务器安全加固,安全基线设置,安全基线检查。

数据库执行的命令,添加字段、加索引等,必须是经过测试检查的命令,才能在正式环境运行。

2、数据备份

服务器数据备份,包括网站程序文件备份,数据库文件备份、配置文件备份,如有资源最好每小时备份和异地备份。

建立五重备份机制:常规备份、自动同步、LVM快照、Azure备份、S3备份。

定期检查备份文件是否可用,避免出故障后,备份数据不可用。

重要数据多重加密算法加密处理。

程序文件版本控制,测试,发布,故障回滚。

3、安全监控

nagios监控服务器常规状态CPU负载、内存、磁盘、流量,超过阈值告警。

zabbix或cacti监控服务器常规状态CPU负载、内存、磁盘、流量等状态,可以显示历史曲线,方便排查问题。

监控服务器SSH登录记录、iptables状态、进程状态,有异常记录告警。

监控网站WEB日志(包括nginx日志php日志等),可以采用EKL来收集管理,有异常日志告警。

运维人员都要接收告警邮件和短信,至少所负责的业务告警邮件和短信必须接收,运维经理接收重要业务告警邮件和短信。(除非是专职运维开发)

除服务器内部监控外,最好使用第三方监控,从外部监控业务是否正常(监控URL、端口等),比如:监控宝。

4、故障避免预防

网站WEB增加WAF,避免XSS跨站脚本、SQL注入、网页挂马等漏洞威胁。

程序代码连接数据库、memcache、redis等,可以使用域名(域名HOSTS指定IP),当出问题,有备用的服务器,就可以通过修改DNS或者HOSTS,恢复服务。

建立应急预案机制,定期演练事故场景,估算修复时间。

部署蜜罐系统,防范企业和服务器内网APT攻击。

建立双活集群,包括业务服务的高可用,避免业务服务单点。

服务器集群采用跳板机或堡垒机登录,避免服务器集群每台服务器可以远程连接管理。

操作重要业务升级、迁移、扩容之前,列一下操作步骤,越详细越好,实际操作按步骤操作,操作完做好记录。

5、事中操作

网站WEB增加WAF,发现XSS、SQL注入、网页挂马等攻击,会自动拦截,并记录日志。

检查服务器数据备份是否可用。

在处理需求和故障时,执行风险命令(比如rm、restart、reboot等)需再三确认,执行命令前,检查所在服务器,所在服务器路径,再执行!

不要疲劳驾驶,喝酒不上机,上机不喝酒,尤其别动数据库,避免在不清醒的状态下,在服务器上执行了错误命令,导致数据丢失或业务故障。

在处理事故时,一定要考虑处理措施是否会引发连锁故障,重要操作三思而行。

6、事后检查分析

实现网络安全可视化管理,可以看到每天有那些异常IP和异常URL请求,服务器集群开放端口列表等。能对全网进行安全策略集中管理。统一日志收集和分析。

备份及篡改恢复功能,程序文件、、数据文件、配置文件的备份,故障回滚机制。

对攻击日志进行深度分析,展现攻击路径、攻击源,协助管理员溯源。

践行DevOps的无指责文化,尤其是在做事故分析时。事故分析重在定位原因,制定改进措施。

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:

⑴ 某个ASPNET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。

⑵ 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存储过程的参数。下面是ASPNET应用构造查询的一个例子:

SystemTextStringBuilder query = new SystemTextStringBuilder(

"SELECT from Users WHERE login = '")

Append(txtLoginText)Append("' AND password='")

Append(txtPasswordText)Append("'");

⑶ 攻击者在用户名字和密码输入框中输入"'或'1'='1"之类的内容。

⑷ 用户输入的内容提交给服务器之后,服务器运行上面的ASPNET代码构造出查询用户的SQL命令,但由于攻击者输入的内容非常特殊,所以最后得到的SQL命令变成:SELECT from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'。

⑸ 服务器执行查询或存储过程,将用户输入的身份信息和服务器中保存的身份信息进行对比。

⑹ 由于SQL命令实际上已被注入式攻击修改,已经不能真正验证用户身份,所以系统会错误地授权给攻击者。

如果攻击者知道应用会将表单中输入的内容直接用于验证身份的查询,他就会尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。

系统环境不同,攻击者可能造成的损害也不同,这主要由应用访问数据库的安全权限决定。如果用户的帐户具有管理员或其他比较高级的权限,攻击者就可能对数据库的表执行各种他想要做的操作,包括添加、删除或更新数据,甚至可能直接删除表。

⑴ 对于动态构造SQL查询的场合,可以使用下面的技术:

第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT from Users WHERE login = ''' or ''1''=''1' AND password = ''' or ''1''=''1'”显然会得到与“SELECT from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'”不同的结果。

第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT from Users WHERE login = 'mas' -- AND password =''”之类的查询,因为这类查询的后半部分已经被注释掉,不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。

第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。 ⑵ 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。

⑶ 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。

⑷ 检查用户输入的合法性,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行——之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。在客户端,攻击者完全有可能获得网页的源代码,修改验证合法性的脚本(或者直接删除脚本),然后将非法内容通过修改后的表单提交给服务器。因此,要保证验证操作确实已经执行,唯一的办法就是在服务器端也执行验证。你可以使用许多内建的验证对象,例如RegularExpressionValidator,它们能够自动生成验证用的客户端脚本,当然你也可以插入服务器端的方法调用。如果找不到现成的验证对象,你可以通过CustomValidator自己创建一个。

⑸ 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。SystemWebSecurityFormsAuthentication类有一个HashPasswordForStoringInConfigFile,非常适合于对输入数据进行消毒处理。

⑹ 检查提取数据的查询所返回的记录数量。

系统安全:

1设置较为复杂的主机密码,建议8位数以上,大小写混合带数字、特殊字符,不要使用123456、password等弱口令。

2开启系统自动更新功能,定期给系统打补丁。

3windows主机安装安全狗、360主机卫士等防入侵的产品。

4做好网站的注入漏洞检查,做好网站目录访问权限控制。(建议将网站设置为只读状态,对需要上传附件等目录单独开通写权限功能,对上传文件目录设置为禁止脚本执行权限)

5如果用于网站服务,建议安装我们预装“网站管理助手”的操作系统模板,该系统我们做过安全加固,比纯净版要更安全。新建网站强烈建议用网站管理助手创建,本系统创建的网站会相互隔离,避免一个网站被入侵就导致其他网站也受影响。

6关闭不需要的服务,如server,worksation等服务一般用不上,建议禁用。

7启用TCP/IP筛选功能,关闭危险端口,防止远程扫描、蠕虫和溢出攻击。 比如mssql数据库的1433端口,一般用不上远程连接的话,建议封掉,只允许本机连接。

8如果自己安装数据库,建议修改为普通用户运行,默认是system权限运行的,非常不安全。查看帮助

9如果是自主安装纯净版的系统,建议修改掉3389、22等默认端口,用其他非标准端口可以减少被黑的几率。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何运营服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情