什么叫安全,概括为三大类
数据(信息)安全
运行(系统)安全
物理(实体)安全
那么怎么才算做到企业安全了
数据(信息)安全 指数据库的安全这里我用的数据库为mysql,详细
mysql安全设置
1.禁止远程连接mysql
因为我们的mysql只需要本地的php脚本进行连接,所以我们无需开socket进行监听,那
么我们完全可以关闭监听的功能。
* 配置my.cnf文件,在[mysqld]部分添加 skip-networking 参数
2.删除默认的数据库和用户
drop database test;
use mysql;
delete from db;
delete from user where not(host="localhost"and user="root");
flush privileges;
3. 本地文件安全:
提高本地安全性,主要是防止mysql对本地文件的存取
set-variable=local-infile=0
4.最小权限用户:
create database db1;
grant select,insert,update,delete,create,drop privileges on database.* to user @localhost identified by 'passwd';
5. 限制普通用户浏览其它数据库,编辑my.cnf在[mysqld]添加:
--skip-show-database
6.快速修复MySQL数据库
修复数据库
mysqlcheck -A -o -r -p
修复指定的数据库
mysqlcheck -o -r database -p
7.跟据内存的大小选择MySQL的配置文件:
my-small.cnf # > my-medium.cnf # 32M - 64M
my-large.cnf # memory = 512M
my-huge.cnf # 1G-2G
my-innodb-heavy-4G.cnf # 4GB
运行(系统)安全
1.root用户禁止使用,加深root密码
2.定期更改数据库的名字及管理员帐密
3.定期备份数据
4.关闭不需要的服务
5.创建一个User账户,运行系统
6.Nginx安全加固和优化
7.网站目录权限设置:
(1)网站上传目录和数据库目录一般需要分配“写入”权限,但一定不要分配执行权限
(2)其他目录一般只分配“读取”权限即可
8.外网只开80,其他端口没对外开放
9.给系统打补丁防止漏洞入侵
物理(实体)安全
物理环境主要是指服务器托管机房的设施状况,包括通风系统、电源系统、防雷防火系统以及机房的温度、湿度条件等。这些因素会影响到服务器的寿命和所有数据的安全。我不想在这里讨论这些因素,因为在选择IDC时你自己会作出决策。
1)将电源用胶带绑定在插槽上,这样避免别人无意中碰动你的电源;
2)安装完系统后,重启服务器,在重启的过程中把键盘和鼠标拔掉,这样在系统启动后,普通的键盘和鼠标接上去以后不会起作用(USB鼠标键盘除外)
3)跟机房值班人员搞好关系,不要得罪机房里其他公司的维护人员。这样做后,你的服务器至少会安全一些。
4)在设备上进行必要的设置(如服务器、交换机的密码等),防止黑客取得硬件设备的远程控制权。比如许多网管往往没有在服务器或可网管的交换机上设置必要的密码,懂网络设备管理技术的人可以通过网络来取得服务器或交换机的控制权,这是非常危险的。因为路由器属于接入设备,必然要暴露在互联网黑客攻击的视野之中,因此需要采取更为严格的安全管理措施,比如口令加密、加载严格的访问列表等。
转载自http://chenhao6.blog.51cto.com/6228054/1341432