您的位置:首页 > 其它

简单的服务器安全方案思路

2016-07-29 09:56 260 查看
云服务器安全方案软件选型

Web服务器选择:

Apache+PHP(稳定,多元化,占用资源较多)

Nginx+PHP-FPM(高性能,高并发)

数据库服务器选择:

Mysql5.6

反代服务器选择:

Haproxy(算法多,完善,专一)

Nginx

安全防护

服务器安全防护:
因为是公网IP,所以要锁定ssh访问,创建ssh的登录密码

Root密码复杂性要求,需要时使用sudo命令授权

Iptables控制

ssh拒绝root登录

限制shelll命令记录条目

在/etc/skel/.bash_logout文件中加入rm –f$HOME/.bash_history

修改ssh监听端口

有必要的话可以禁ping

chattr命令给用户密码文件、配置文件和重要文件加上不可更改属性

十、 chmod+chown控制目录文件的权限

web服务器安全:
关闭服务器标记,server_tokens off

设置自定义缓存限制缓冲区溢出攻击的可能性




设置timeout防止DOS攻击(看需要)





限制用户连接数防止DOS攻击(看需要)



配置nginx的HTTPS支持

为网页根目录提供单独的存储空间,对这些文件的权限进行统一管理

加固/etc/sysctl.conf

net.ipv4.icmp_ignore_bogus_error_responses= 1# 开启SYN洪水攻击保护net.ipv4.tcp_syncookies= 1# 开启并记录欺骗,源路由和重定向包fs.file-max= 65535net.ipv4.ip_local_port_range= 2000 65000
编译安装,自定义模块

Iptables控制

十、 限制访问IP
Localhost/{ Deny IP Allow IP …}十一、 Nginx漏洞避免
动态内容误判:攻击者可以通过一张包含php后门代码的图片获取webshell;预防方式:在配置文件中田间 if ( $fascgi_script_name ~\..*\/.*php ) { return 403 } 错误配置:错误的网站根目录配置,导致目录遍历漏洞

数据库服务器安全:
启动前初始化配置

mysql_secure_installation禁用或限制远程访问

skip_name_resovle=ON设置root用户的口令并改变其登录名

SET PASSWORD FOR ‘root’@’localhsot’ = ’PASSWORD‘可以改变root的名字,也可以授权一个新用户管理,禁用root

Update user set user=”newroot”where user=”root”提高本地安全性,防止mysql对本地文件的存取

Set-varable=local-infile=0移除匿名账户和test测试库

数据文件目录的权限为,mysql用户和mysql组

移除和禁用.mysql_history文件,export mysql_histfile=/de/vnull

Ln –s /dev/null.mysql_history保持稳定版本,5.5目前最稳定,但是5.6集成了很多新功能,补丁发布比较快

十、 启用日志,保存错误日志,访问日志等
十一、 有良好的数据库备份策略,温备、热备、冷备等。
温备:mysqldump,支持所有存储引擎热备:lvm2的快照,几乎热备,借助于文件系统管理工具冷备:cp,tar等命令
代理服务器安全:
系统内核参数设置




超时时长



最大连接数

外部监控,日志分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息