Linux系统部署规范v1.0

Linux系统部署规范v1.0
目的:
1、尽可能减少线上操作;
2、尽可能实现自动化部署;
3、尽可能减少安装服务和启动的服务;
4、尽可能使用安全协议提供服务;
5、尽可能让业务系统单一;
6、尽可能监控可监控的一切信息;
7、尽可能控制一切可控制的安全策略;
8、尽可能定期更新补丁修补漏洞;

具体规范:
A、 帐户和口令
帐户:
1.为每个系统维护人员建立一个独立的普通权限帐号,为监控机建立监控帐号,分别用于日常系统维护和系统监控;
2.FTP 服务器配置虚拟帐号;
3.禁止除root 帐号, 系统维护人员帐号和监控机帐号之外所有帐号使用SHELL的权限;
4.锁定所有在安装系统时自动建立的帐号;
口令:
1.强度:15位以上;包含了字母(大写字母和小写字母),数字和特殊符号;不允许包含英文单词;
2.更改频率:120天;
3.推荐的选择口令的方法:想出一个句子,用其中每个单词的首字母及其包含的符合,并将字母替换为跟其相似的数字或符号来生成口令,但依据第一条而定;

B、 程序部署
1、 部署前注意检查是否有冲突业务端口以及程序;
2、 采用自动化安装脚本部署至约定目录;
3、 部署完成后删除临时文件以及具有保密约束的信息文件;
4、 命令操作时不要直接带密码操作;如:mysql –uroot –p123456
5、 服务部署完成后,轻易不要更改系统环境,以免引起业务故障;

C、 系统优化
调整如下内核参数,以提高系统防止IP欺骗及DOS攻击的能力:
范例:
net.ipv4.ip_forward = 0 # 对于LVS,网关或VPN服务器,要设置为1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.rp_filter = 1 # 对于LVS 后端服务器,要设置为0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.log_martians = 1
kernel.sysrq = 0
kernel.core_uses_pid = 1

D、服务优化和安全
1、具体性能优化,依据硬件而定,一般需要修改的较少,视情况而定;
2、服务安全
仅供参考:
Apache
1、 隐藏版本号
ServerTokens ProductOnly
ServerSignature Off

ServerTokens Prod
ServerSignature Off

2、 禁用符号链接
3、 使用特定用户运行nobody
4、 指定监听的端口和ip(如不需多ip提供服务)
5、 根目录权限
6、 mod_security是一个集入侵检测和防御引擎功能的开源web应用安全程序(或web应用程序防火墙).它以Apache Web服务器的模块方式运行, 目标是增强web应用程序的安全性, 防止web应用程序受到已知或未知的攻击.
7、 mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块
8、 mod_cband模块,可以限制用户和虚拟主机带宽。包括:带宽限额,最高下载速度,每秒访问请求速度和最高并发访问ip连接数

PHP
1、隐藏版本号
2、禁止远程文件功能
3、提升程序安全性
4、不显示错误信息,需要查错时开启
5、禁止全局变量(视情况而定)
sed -i ‘s/expose_php = On/expose_php = Off/g’ /home/system/php/lib/php.ini
sed -i ‘s/allow_url_fopen = On/allow_url_fopen = Off/g’ /home/system/php/lib/php.ini
sed -i ‘s/magic_quotes_gpc = Off/magic_quotes_gpc = On/g’ /home/system/php/lib/php.ini
sed -i ‘s/display_errors = On/display_errors = Off/g’ /home/system/php/lib/php.ini
sed -i ‘s/ register_globals= On/ register_globals= Off/g’ /home/system/php/lib/php.ini
5、php-ids
6、用Suhosin加强PHP脚本语言安全性

Mysql
1.修改root用户口令,删除空口令
2.删除默认test数据库
3.使用独立用户运行msyql
4.禁止远程连接数据库(根据需要开通特定IP)
5.限制连接用户的数量
6、严格控制用户权限:仅给予用户完成其工作所需的最小的权限;禁止授予PROCESS, SUPER, FILE 权限给非管理帐户;
7、禁止将MySQL数据目录的读写权限授予给mysql用户外的其它OS 用户;
E、系统安全
安全措施仅供参考,因软件实现的基本只对小量攻击有效,遇到大量攻击交由硬件防火墙处理。
针对Centos系统的安全措施
1、 开启iptables
限制端口扫描;
针对业务开启相应端口;
针对来源ip限制不对外的端口访问;
2、 安装ossec-hids入侵检测程序
OSSEC是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。
3、 针对攻击的防护
针对少量syn-flood攻击的防护
echo “1” > /proc/sys/net/ipv4/tcp_syn_retries
echo “1” > /proc/sys/net/ipv4/tcp_synack_retries
echo “1” > /proc/sys/net/ipv4/tcp_syncookies
echo “4096” > /proc/sys/net/ipv4/tcp_max_syn_backlog
针对少量ddos攻击的防护
第一种方法:
Installation
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

Uninstallation
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

第二种方法:
[root@ddos]# cat ddos.sh
#!/bin/bash
/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ‘192.168|127.0’|awk ‘{if ($2!=null && $1>4) {print $2}}’>/tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -I INPUT -s $i -j DROP
/sbin/iptables -D INPUT -s 122.228.193.245 -j DROP
echo “$i kill at `date`”>>/var/log/ddos
done
[root@ ddos]#

针对ARP攻击的防护
在硬件设备上对IP+MAC绑定
交由机房做双向绑定(付费)
针对CC攻击的防护
限制单位时间内的连接数:

Windows Server的防护
(1)、安装[赛门铁克终端保护12.小企业版].ENDPOINT_12,对病毒以及端口扫描等做防护;
(2)、开启防火墙、ipsec。

F、安全审计

审计对象 工具 频次
Linux系统 nmap 1个月
nessus 3个月
口令文件 John the ripper 3个月
Web业务 Nikto 1个月
appscan 1个月
Zed Attack Proxy 1个月
Skipfish 1个月
注:新安装的服务器必须经过安全审计才允许投入产品环境;
新发布了应用后,必须立即进行安全审计;

G、监控和报警
1、采用nagios针对不同硬件不同业务进行监控,给予相应的阈值,提供报警;
2、采用cacti针对系统历史数据生成性能图表,便于故障处理和预防;

总结:
以上规范只限于了解系统部署实施需要注意的事项,可以理解为,安装部署,性能安全,故障报警等各阶段性的工作内容,每一项都需要具体实施操作,虽不严格要求按照文档说明一项项完成,但必须在每一阶段都做相应的处理,以保障业务系统的流畅和安全。

2 Replies to “Linux系统部署规范v1.0”

    1. Ad imp"ÄŒl. 9(2) by k tomu, aby mÄ›l efekt, který mu T.Sobek pÅ™ipisuje, musel mít vÄ›tší právní sílu než celý zbytek ústavního pořádku, což mi pÅ™ipadá abÃuudns­.&qrot;O právní síle mluvíme tam, kde máme normu "A" a normu "nonA". Právní síla pak vyÅ™eší, která z nich má pÅ™ednost. My tady ale uvažujeme ústavní metanormu "Zakazuje se A" a ústavní normu "A". Psal jsem to pořád dokola. :)

发表评论

电子邮件地址不会被公开。 必填项已用*标注