1. Linux系统部署规范v1.0
  2. 目的:
  3. 1、尽可能减少线上操作;
  4. 2、尽可能实现自动化部署;
  5. 3、尽可能减少安装服务和启动的服务;
  6. 4、尽可能使用安全协议提供服务;
  7. 5、尽可能让业务系统单一;
  8. 6、尽可能监控可监控的一切信息;
  9. 7、尽可能控制一切可控制的安全策略;
  10. 8、尽可能定期更新补丁修补漏洞;
  11. 具体规范:
  12. A、 帐户和口令
  13. 帐户:
  14. 1.为每个系统维护人员建立一个独立的普通权限帐号,为监控机建立监控帐号,分别用于日常系统维护和系统监控;
  15. 2.FTP 服务器配置虚拟帐号;
  16. 3.禁止除root 帐号, 系统维护人员帐号和监控机帐号之外所有帐号使用SHELL的权限;
  17. 4.锁定所有在安装系统时自动建立的帐号;
  18. 口令:
  19. 1.强度:15位以上;包含了字母(大写字母和小写字母),数字和特殊符号;不允许包含英文单词;
  20. 2.更改频率:120天;
  21. 3.推荐的选择口令的方法:想出一个句子,用其中每个单词的首字母及其包含的符合,并将字母替换为跟其相似的数字或符号来生成口令,但依据第一条而定;
  22. B、 程序部署
  23. 1、 部署前注意检查是否有冲突业务端口以及程序;
  24. 2、 采用自动化安装脚本部署至约定目录;
  25. 3、 部署完成后删除临时文件以及具有保密约束的信息文件;
  26. 4、 命令操作时不要直接带密码操作;如:mysql –uroot –p123456
  27. 5、 服务部署完成后,轻易不要更改系统环境,以免引起业务故障;
  28. C、 系统优化
  29. 调整如下内核参数,以提高系统防止IP欺骗及DOS攻击的能力:
  30. 范例:
  31. net.ipv4.ip_forward = 0 # 对于LVS,网关或VPN服务器,要设置为1
  32. net.ipv4.tcp_syncookies = 1
  33. net.ipv4.conf.all.accept_source_route = 0
  34. net.ipv4.conf.all.accept_redirects = 0
  35. net.ipv4.conf.all.rp_filter = 1 # 对于LVS 后端服务器,要设置为0
  36. net.ipv4.icmp_echo_ignore_broadcasts = 1
  37. net.ipv4.icmp_ignore_bogus_error_responses = 1
  38. net.ipv4.conf.all.log_martians = 1
  39. kernel.sysrq = 0
  40. kernel.core_uses_pid = 1
  41. D、服务优化和安全
  42. 1、具体性能优化,依据硬件而定,一般需要修改的较少,视情况而定;
  43. 2、服务安全
  44. 仅供参考:
  45. Apache
  46. 1、 隐藏版本号
  47. ServerTokens ProductOnly
  48. ServerSignature Off
  49. ServerTokens Prod
  50. ServerSignature Off
  51. 2、 禁用符号链接
  52. 3、 使用特定用户运行nobody
  53. 4、 指定监听的端口和ip(如不需多ip提供服务)
  54. 5、 根目录权限
  55. 6、 mod_security是一个集入侵检测和防御引擎功能的开源web应用安全程序(或web应用程序防火墙).它以Apache Web服务器的模块方式运行, 目标是增强web应用程序的安全性, 防止web应用程序受到已知或未知的攻击.
  56. 7、 mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块
  57. 8、 mod_cband模块,可以限制用户和虚拟主机带宽。包括:带宽限额,最高下载速度,每秒访问请求速度和最高并发访问ip连接数
  58. PHP
  59. 1、隐藏版本号
  60. 2、禁止远程文件功能
  61. 3、提升程序安全性
  62. 4、不显示错误信息,需要查错时开启
  63. 5、禁止全局变量(视情况而定)
  64. sed -i ‘s/expose_php = On/expose_php = Off/g’ /home/system/php/lib/php.ini
  65. sed -i ‘s/allow_url_fopen = On/allow_url_fopen = Off/g’ /home/system/php/lib/php.ini
  66. sed -i ‘s/magic_quotes_gpc = Off/magic_quotes_gpc = On/g’ /home/system/php/lib/php.ini
  67. sed -i ‘s/display_errors = On/display_errors = Off/g’ /home/system/php/lib/php.ini
  68. sed -i ‘s/ register_globals= On/ register_globals= Off/g’ /home/system/php/lib/php.ini
  69. 5、php-ids
  70. 6、用Suhosin加强PHP脚本语言安全性
  71. Mysql
  72. 1.修改root用户口令,删除空口令
  73. 2.删除默认test数据库
  74. 3.使用独立用户运行msyql
  75. 4.禁止远程连接数据库(根据需要开通特定IP)
  76. 5.限制连接用户的数量
  77. 6、严格控制用户权限:仅给予用户完成其工作所需的最小的权限;禁止授予PROCESS, SUPER, FILE 权限给非管理帐户;
  78. 7、禁止将MySQL数据目录的读写权限授予给mysql用户外的其它OS 用户;
  79. E、系统安全
  80. 安全措施仅供参考,因软件实现的基本只对小量攻击有效,遇到大量攻击交由硬件防火墙处理。
  81. 针对Centos系统的安全措施
  82. 1、 开启iptables
  83. 限制端口扫描;
  84. 针对业务开启相应端口;
  85. 针对来源ip限制不对外的端口访问;
  86. 2、 安装ossec-hids入侵检测程序
  87. OSSEC是一款开源的入侵检测系统,包括了日志分析,全面检测,rook-kit检测。
  88. 3、 针对攻击的防护
  89. 针对少量syn-flood攻击的防护
  90. echo “1″ > /proc/sys/net/ipv4/tcp_syn_retries
  91. echo “1″ > /proc/sys/net/ipv4/tcp_synack_retries
  92. echo “1″ > /proc/sys/net/ipv4/tcp_syncookies
  93. echo “4096″ > /proc/sys/net/ipv4/tcp_max_syn_backlog
  94. 针对少量ddos攻击的防护
  95. 第一种方法:
  96. Installation
  97. wget http://www.inetbase.com/scripts/ddos/install.sh
  98. chmod 0700 install.sh
  99. ./install.sh
  100. Uninstallation
  101. wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
  102. chmod 0700 uninstall.ddos
  103. ./uninstall.ddos
  104. 第二种方法:
  105. [root@ddos]# cat ddos.sh
  106. #!/bin/bash
  107. /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
  108. for i in $(cat /tmp/dropip)
  109. do
  110. /sbin/iptables -I INPUT -s $i -j DROP
  111. /sbin/iptables -D INPUT -s 122.228.193.245 -j DROP
  112. echo “$i kill at `date`”>>/var/log/ddos
  113. done
  114. [root@ ddos]#
  115. 针对ARP攻击的防护
  116. 在硬件设备上对IP+MAC绑定
  117. 交由机房做双向绑定(付费)
  118. 针对CC攻击的防护
  119. 限制单位时间内的连接数:
  120. Windows Server的防护
  121. (1)、安装[赛门铁克终端保护12.小企业版].ENDPOINT_12,对病毒以及端口扫描等做防护;
  122. (2)、开启防火墙、ipsec。
  123. F、安全审计
  124. 审计对象 工具 频次
  125. Linux系统 nmap 1个月
  126. nessus 3个月
  127. 口令文件 John the ripper 3个月
  128. Web业务 Nikto 1个月
  129. appscan 1个月
  130. Zed Attack Proxy 1个月
  131. Skipfish 1个月
  132. 注:新安装的服务器必须经过安全审计才允许投入产品环境;
  133. 新发布了应用后,必须立即进行安全审计;
  134. G、监控和报警
  135. 1、采用nagios针对不同硬件不同业务进行监控,给予相应的阈值,提供报警;
  136. 2、采用cacti针对系统历史数据生成性能图表,便于故障处理和预防;
  137. 总结:
  138. 以上规范只限于了解系统部署实施需要注意的事项,可以理解为,安装部署,性能安全,故障报警等各阶段性的工作内容,每一项都需要具体实施操作,虽不严格要求按照文档说明一项项完成,但必须在每一阶段都做相应的处理,以保障业务系统的

http://www.brentron.com/xitong/linux/6344.html

Linux系统部署规范v1.0的更多相关文章

  1. Linux系统部署体验中心

    Linux系统部署体验中心 安装Linux虚拟机 1.  下载安装VMware,安装64位Linux系统(Ubuntu),要求:CPU双核,2G内存,60G硬盘 2.  安装系统时,选择安装ssh服务 ...

  2. Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)

    转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...

  3. Linux系统部署WEB项目(2020最新最详细)

    2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐. 更多命令学习推 ...

  4. 腾讯云linux系统部署项目无法通过外网访问

    最近尝试使用了一下腾讯去的linux系统服务器,但是却遇到各种问题,下面记录的问题是项目部署完成后却无法通过外网访问. 服务器:腾讯云 系统 :CentOS 8.0 64位 处理思路:通过度娘百般摸索 ...

  5. Linux系统部署Web项目

    首先,需要有java环境和tomcat服务器,至于这个怎么安装,可以参考:云服务器 java+tomcat 部署与配置 项目部署 有两个大步骤: Step1 将已经写好的web项目打包成war包,在I ...

  6. 基于阿里云服务器Linux系统部署JavaWeb项目

    前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法.之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服 ...

  7. Demo客户端相关规范 v1.0

    目录 开发环境 开发工具 代码管理 项目代码 分支管理 名称管理 打包管理 存储路径 存储结构 测试包 正式包 名称管理 依赖组件 内部组件 外部组件 解决方案结构 解决方案命名 解决方案文件夹 项目 ...

  8. linux系统部署安装过程

    1. 虚拟环境安装 1.新建虚拟机   2.虚拟机设置 2.系统历程 1.进入系统引导界面进行配置 引导项说明:            1.安装centos 系统                    ...

  9. linux系统中实现mongodb3.0.5数据库自动备份

    最近两天,因公司业务需要,要定期备份mongodb数据库中的数据. 查了很多资料后,发现mongodb似乎并没有自带的定时备份功能,于是只好转移目标到linux系统的定时任务上,于是学习并使用了cro ...

随机推荐

  1. viewDidLoad、viewDidUnload、viewWillAppear、viewDidAppear、viewWillDisappear 和 -viewDidDisappear的区别和使用

    首先看一下官方解释: - (void)loadView; // This is where subclasses should create their custom view hierarchy i ...

  2. 猿取向的规划设计模式 ——GoF《设计模式》阅读摘要(零)

    这个话题是很奇怪,设计模式是引导程序的设计不是模仿什么软件?呃.我的意思是,这是 面"对象"相对的设计模式. 我曾见过有人写<给妻子解释设计模式>,这样的把计算机中的思 ...

  3. win7下不能收到窗口hook消息的问题

    win7下由于UIPI的限制, 高权限进程无法收到底权限进程发来的消息, 因此对窗口消息hook时无法接收到消息,解决办法是在调用SetWindowsHookEx之前先调用ChangeWindowMe ...

  4. 【Demo 0004】屏幕、窗体及视图基础知识

    本章学习要点       1.  了解iOS中应用程序(UIApplication)与屏幕.窗体以及视图相关基础知识:       2.  掌握应用程序常用的属性与方法:        3.  掌握窗 ...

  5. 【从cocos2d-x学习设计模式】第一阶段:辛格尔顿

    设计模式,它总结了前辈在许多方案重用代码.它是一个想法. 因为我们爱cocos2d-x,然后我们从去cocos2d-x在设计模式中,右一起学习!本篇解释未来辛格尔顿. 提cocos2d-x中间Dire ...

  6. 提升Delphi编程效率必须使用的快捷键(Delphi2007版本)

    1. [CTRL+空格] [CTRL+SHIFT+空格] 这两个快捷键都是在代码编写过程中用到的,起提示作用,使用频率最高. CTRL+空格: 在当前光标处提示有哪些变量.函数可以使用.这个功能对于无 ...

  7. HDU 1548 A strange lift(Dijkstra,简单BFS)

    题目大意: 电梯有两个选项向上或向下,每层楼有一个参数ki,代表电梯可以再该楼层的基础上向上或向下移动ki层,限制条件是向上不能超过楼层总数n,向下不能少于一.输入总层数n和当前所在层数以及目标层数, ...

  8. 14.3.2.4 Locking Reads 锁定读

    14.3.2.4 Locking Reads 锁定读 如果你的查询数据,然后插入或者更新相关的数据 在同一个事务, 普通的SELECT 语句不足以给予足够保护. 其他事务可以更新或者删除相同的你要查询 ...

  9. 2cifang.com_2次方学习

    2cifang.com_2次方学习

  10. Memcached 群集高可用性(HA)架构

    Memcache本身并不实现集群功能.假设你想使用Memcahce集群需要使用第三方软件或编程来实现自己的设计,这里将被用来memagent实现代理,memagent也被称为magent.我们注意到, ...