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针对系统历史数据生成性能图表,便于故障处理和预防;
- 总结:
- 以上规范只限于了解系统部署实施需要注意的事项,可以理解为,安装部署,性能安全,故障报警等各阶段性的工作内容,每一项都需要具体实施操作,虽不严格要求按照文档说明一项项完成,但必须在每一阶段都做相应的处理,以保障业务系统的
http://www.brentron.com/xitong/linux/6344.html
Linux系统部署规范v1.0的更多相关文章
- Linux系统部署体验中心
Linux系统部署体验中心 安装Linux虚拟机 1. 下载安装VMware,安装64位Linux系统(Ubuntu),要求:CPU双核,2G内存,60G硬盘 2. 安装系统时,选择安装ssh服务 ...
- Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)
转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...
- Linux系统部署WEB项目(2020最新最详细)
2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐. 更多命令学习推 ...
- 腾讯云linux系统部署项目无法通过外网访问
最近尝试使用了一下腾讯去的linux系统服务器,但是却遇到各种问题,下面记录的问题是项目部署完成后却无法通过外网访问. 服务器:腾讯云 系统 :CentOS 8.0 64位 处理思路:通过度娘百般摸索 ...
- Linux系统部署Web项目
首先,需要有java环境和tomcat服务器,至于这个怎么安装,可以参考:云服务器 java+tomcat 部署与配置 项目部署 有两个大步骤: Step1 将已经写好的web项目打包成war包,在I ...
- 基于阿里云服务器Linux系统部署JavaWeb项目
前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法.之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服 ...
- Demo客户端相关规范 v1.0
目录 开发环境 开发工具 代码管理 项目代码 分支管理 名称管理 打包管理 存储路径 存储结构 测试包 正式包 名称管理 依赖组件 内部组件 外部组件 解决方案结构 解决方案命名 解决方案文件夹 项目 ...
- linux系统部署安装过程
1. 虚拟环境安装 1.新建虚拟机 2.虚拟机设置 2.系统历程 1.进入系统引导界面进行配置 引导项说明: 1.安装centos 系统 ...
- linux系统中实现mongodb3.0.5数据库自动备份
最近两天,因公司业务需要,要定期备份mongodb数据库中的数据. 查了很多资料后,发现mongodb似乎并没有自带的定时备份功能,于是只好转移目标到linux系统的定时任务上,于是学习并使用了cro ...
随机推荐
- 8天玩转并行开发——第八天 用VS性能向导解剖你的程序
原文 8天玩转并行开发——第八天 用VS性能向导解剖你的程序 最后一篇,我们来说说vs的“性能向导",通常我们调试程序的性能一般会使用Stopwatch,如果希望更加系统的了解程序,我们就需 ...
- Shell 输入/输出重定向
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端.命令通常从标准输入的地方读取输入,默认是终端.标准输出,默认情况下是终端. 重定向命令列表如下: 命令 说明 comm ...
- TDD测试驱动的javascript开发(3) ------ javascript的继承
说起面向对象,人们就会想到继承,常见的继承分为2种:接口继承和实现继承.接口继承只继承方法签名,实现继承则继承实际的方法. 由于函数没有签名,在ECMAScript中无法实现接口继承,只支持实现继承. ...
- java中完美打包
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- 利用JS跨域做一个简单的页面訪问统计系统
事实上在大部分互联网web产品中,我们一般会用百度统计或者谷歌统计分析系统,通过在程序中引入特定的JS脚本,然后便能够在这些统计系统中看到自己站点页面详细的訪问情况.可是有些时候,因为一些特殊情况,我 ...
- ZenCoding Syntax
语法: 后代:> 缩写:nav>ul>li 兄弟:+ 缩写:div+p+bq 上级:^ 缩写:div+div>p>span+em^bq 缩写:div+div>p&g ...
- 《c陷阱与缺陷》笔记--移位运算
#include <stdio.h> int main(void){ int a = 2; a >> 32; a >> -1; a << 32; a & ...
- 14.5.1 Resizing the InnoDB System Tablespace
14.5.1 Resizing the InnoDB System Tablespace 本节描述如何增加或者减少InnoDB 系统表空间的大小 增加InnoDB 系统表空间的大小 最简单的方式增加I ...
- 字符编码详解 good
字符编码详解 字符编码详解
- SuSE(SLES)安装配置syslog-ng日志server,可整合splunk
Update History 2014年04月25日 - 撰写初稿 引言 在自己主动化部署AutoYast.自己主动化监控BMC Patrol双方面形成雏形后.日志的收集.管理.分析也顺势成为我们须要 ...