ISV系统部署规范
文件编号: SA-ISV-系统部署规范-V1.0.doc
ISV系统部署规范草案
版本号V1.7
编写人:山大
编写时间:2010-2-26
版本修订记录
版权说明
本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属淘宝公司所有,受到有关产权及版权法保护。任何个人、机构未经淘宝公司的书面授权许可,不得复制、引用或传播本文件的任何片断,无论通过电子形式或非电子形式。
ISV系统部署规范草案
目录
1.文档目的:
为了规范化,标准化,保障应用安全,便于运维和管理,规范ISV的系统部署,特别拟定此手册。
2.系统约定
◆Linux系统采用版本 Redhat RHCE 4 update 7以上,RHCE 5 update 2,以上
一般使用64位系统,原则不使用32位系统
必须使用32位系统的,内存最多分配4G,
◆原则不使用Windows系统,特殊需要请通过PM申请。
◆数据库一般使用Mysql,不能使用MSSQL和ORACLE等付费数据库
3.系统分区
默认物理机(300G硬盘)分五个区
?/boot 100M 启动分区
?/ 10G 根分区, /opt不做独立分区
?/usr 15G 系统应用分区
?/var 20G 系统日志分区
?/home 数据和应用分区剩余大小
默认虚拟机(80G硬盘)分两个区
?/boot 100M 启动分区
?/ 根分区剩余大小
分区默认使用Ext3,有特殊需要分区请和淘宝运维联系
系统目录说明:
/home 用户数据和web数据目录,和配置文件
/ 根一般不放用户文件
/usr 一般系统程序存放
/var 系统的日志,一般不放用户的日志
/opt 一些下载的源文件可以放这里
”/下5.账户约定
5.1特权账号
Root 帐号是服务器的最高权限拥有者,只有在涉及到系统维护管理的时候才需使用,因此作出下述规定:
(1) 在root帐号内,不允许保存任何文件(必要已经审批工具除外);/root/
(2) 不允许用root运行任何非系统必须的程序(特殊服务除外)。
5.2工作帐号
约定使用admin:admin, gid和uid都使用500
是生产服务运行所使用的帐号,此帐号的动作将影响到生产服务运行的稳定性,因此在工作帐号的目录内,只允许存放下列条件所允许的程序、配置文件、数据文件、日志、脚本、备份文件、crontab;
(1) 线上服务所必须的,应用端口尽量不要用1024一下端口,用admin部署。
(2) 运行维护所必须的。
(3) 部署时可以拥有ROOT权限, 部署完之后应当收回ROOT权限。
(4) 添加账户
groupadd -g 500 admin
useradd -g 500 -u 500 admin
6.进程约定
◆生产服务的进程需要以admin账户来启动
◆服务端口尽量不要使用1024以下端口,不需要root的特权
◆特殊进程请必须告知淘宝运维
7.
8.文件和目录
规范文件及目录结构,让所有文件都在它们应该在的位置,是为了降低由于文件数量众多带来的安全风险,保证线上服务环境的整洁、环保与安全;
规范文件及目录权限,避免未授权帐户读取、修改或执行文件,降低由此造成的风险,保证线上服务环境的独立性。
注意点:一个目录下面不允许多达6000个文件以上, 如果文件数量很多, 想办法采用多级目录解决。
/home/admin的目录
/home/admin/
│
├APPS/
│├(Httpd)/
│└──bin/
│├─logs/
│├─lib/
│├─conf/
│└─htdocs/
└─https://www.360docs.net/doc/7b113734.html,/……网站数据请独立出来
│
└─bin/
│└─crontab
│
├─logs/
│├─crontab
│
└─backup/
│
│
└─tmp/
程序文件或域名作为目录
9.数据安全和备份
a)程序文件备份
i.ISV自己需要有svn版本管理和本机备份
ii.服务器上有条件的保留7日的滚动备份,
iii.配置文件做7天的滚动备份
b)数据库备份
i.需要热备,mysql 通过master slave做主从复制
ii.冷备,对于不大的数据库,每天定时在重库上作七天轮询dump备份,对于比较大的数据库,超过10G,采用增量备份
c)附件等重要数据文件
i.设计上最好能够分布式机制,保存保存2份,最好3份数据。
ii.不能分布式,必须有异机冗余备份,譬如Nfs,用 Rsync做备份
iii.最好能够考虑定期冷备份到光盘或者磁带
iv.
d)日志备份
尽量压缩保存文件
原则保留90天日志
没必要的日志不需要备份
10.安全注意
a)要确保帐户的安全,密码要使用强密码,不能传递密码,本机保存密码文件要加密。
b)管理端口:管理访问必须通过acls,源地址必须做限制
c)系统级别:公开的服务端口,必须通过负载均衡出去,开放acls
d)应用层:防注入和跨站,扫描
e)后台管理工具,phpmyadmin,jmx-console,web-console等必须要告诉淘宝运维,测试安全性
f)后台管理地址,也需要列出来,告诉淘宝运维,测试安全性
g)开放的应用管理地址需要用apache作地址限制和帐户设置,示例
h)部署安全
11.crontab注意事项
a)脚本当中应当输出到具体日志中
b)Crontab上面脚本日志输出要到 >/dev/null 2>&1 或者指定到文件,避免邮件警报把服务器日志塞满
c)脚本放在/home/admin/bin/crontab下面
d)日志输出到/home/admin/logs/crontab下面
12.登陆服务器
◆请向淘宝运维申请服务器登陆账号
◆需要通过登陆服务器登陆登陆设置如下:
◆需要固定IP地址做ACLS访问许可
◆一般使用SecureCRT来登录,请把会话选项—终端-仿真终端改成 Xterm.
◆如果经常连接超时,可以设置一下自动发送连接:
◆如果用了一段时间突然发现无法登陆,报密码错误或者帐号被锁定:
这是因为系统默认3个月会自动更改一次密码,到期前系统会发一封密码邮件给你,
如果没有注意,连续错误5次会账号会自动锁定,锁定后请联系Shterm的管理员来更改密码。谢谢!
◆如果手动修改自己的密码:
通过https://110.75.125.15 用自己的帐号登陆,进入账户设置,再输入一次密码,
注意密码更改规则:
新密码长度不应小于8 个字符,不能与前5 次的设置相同;
最少要包含1 个数字字符, 1 个大写字母,1 个小写字母,1 个其他字符;
由于启动了CrackLib,请勿设置简单密码。
13.文件上传
a)服务器可以通过80端口走http协议wget来下载需要的文件。
b)Shterm禁止过了直接rz,sz,
c)上传可以通过sftp上传设置:登陆服务器地址,端口22,用你自己的账号,登陆后选择内部服务器和账号
工具可以使用FlashFXP,Filezilla,Winscp,SecureFX等
d)Linux机器可以直接scp
下载Scp yourname@110.75.125.15:/ 192.168.100.1/admin/home/admin/www/default.css /home/admin/www/new.css 上传Scp /home/admin/www/new.tgz yourname@110.75.125.15:/ 192.168.100.1/admin/home/admin/www/new.tgz 备注:你的账号@登陆服务器目标服务器目标账号目标目录
14.外部访问
◆外部访问需要通过负载均衡设备的VIP访问
◆需要提供给淘宝运维要访问的域名,映射到的服务器以及开放的端口
◆经过安全审核和运维审核之后才能开通外部访问。
15.时间同步
目前已默认配置时间服务器
/etc/ntp.conf 请不要更改。
16.监控 snmp
/etc/snmp/snmpd.conf 目前系统安装已经配置
系统监控:服务器的网卡流量,磁盘空间,内存,cpu,load必须监控
应用监控:必要的应用监控请提交需求
请不要更改snmpd.conf,有需要更改,请和淘宝联系,谢谢!
17.系统参数优化
Web服务器优化
数据库服务器优化
请把需要优化的参数提供给淘宝。
18.域名的使用
ISV应用原则不能使用淘宝域名
域名必须要经过备案还能启用
19.Sendmail的使用
1.没有必要请不要启用sendmail服务
2.不允许利用服务器发送垃圾邮件
3.使用sendmail请注意邮件队列/var/spool/mqueue
20.应用部署参考(等待补充)
a)Apache部署参考
1.安装,配置文件,启动,日志轮询,维护,常见问题,优化
b)Mysql部署参考
i.安装,配置文件,启动,日志轮询,维护,常见问题,优化
c)Php,apache部署参考
e)JDK和 Tomcat-apache部署参考
f)Nginx部署