当前位置:首页 > CentOS 5 全功能WWW服务器搭建全教程 V30
thread_concurrency = 2
#设置超时时间,能避免长连接 wait_timeout = 120
#关闭不需要的表类型,如果你需要,就不要加上这个 skip-innodb skip-bdb
关于mysql
的优化设置及检查,这篇文章很值得一看
http://tech.itdb.cn/n/200607/27/n20060727_30398.shtml Mysql的安全设置
打开/etc/my.cnf文件,修改以下设置,如果没有,可手动添加。 #取消文件系统的外部锁 skip-locking
#不进行域名反解析,注意由此带来的权限/授权问题 skip-name-resolve
#禁止MySQL中用“LOAD DATA LOCAL INFILE”命令。这个命令会利用MySQL把本地文件读到数据库中,然后用户就可以非法获取敏感信息了。网络上流传的一些攻击方法中就有用它的,它也是很多新发现的SQL Injection攻击利用的手段! local-infile = 0
#关闭远程连接,即3306端口。这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。(你必须确定,你是否真的不需要远程连接mysql) skip-networking
修改完my.cnf后,还需要对mysql的用户名、帐号、及默认数据库进行调整 首先先登录mysql,在终端窗口输入 /usr/local/mysql/bin/mysql -u root -p 然后会提示输入密码,输入正确密码后,会出现mysql>提示符。 输入以下命令:
mysql>use mysql;
mysql>update user set user=\将mysql的root用户名修改成centos,防止root的密码被暴力破解)
mysql>select Host,User,Password,Select_priv,Grant_priv from user; mysql>delete from user where user=''; (删除user用户) mysql>delete from user where password=''; (删除user用户) mysql>delete from user where host=''; (删除user用户)
mysql>drop database test; (删除默认的test数据库)
mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效) mysql>quit;
为了使以上优化和安全设置生效,请重启Mysql服务或Linux。 关于Mysql的安全设置,这篇文章很值得一看
http://www.unixren.com/linux/bencandy.php?fid=21&id=459
22、操作系统安全调整
1、 CentOS或Red Had Enterprise Linux 4 的用户要首先要打开SElinux,方法是修改/etc/selinux/config文件中的SELINUX=\为enforcing 。它可以保证你的系统不会非正
常的崩溃。有些人认为应该关闭,我强烈不推荐,当然只是将centos用来玩玩,不是用于实际服务器则无所谓了。
2、启用iptables 防火墙,对增加系统安全有许多好处。设置好防火墙的规则。 3、执行setup 关闭那些不需要的服务 ,记住少开一个服务,就少一个危险。 4、禁止Control-Alt-Delete 键盘关闭命令
在\文件中注释掉下面这行(使用#): ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now 为了使这项改动起作用,输入下面这个命令: # /sbin/init q
5、给\下script文件设置权限 给执行或关闭启动时执行的程序的script文件设置权限。 # chmod -R 700 /etc/rc.d/init.d/*
这表示只有root才允许读、写、执行该目录下的script文件。 6、修改\文件
\说明了如何解析地址。编辑\文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts. order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing. nospoof on
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否\文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。
7、使\文件免疫
使\文件免疫,防止未经许可的删除或添加服务: # chattr +i /etc/services
8.阻止你的系统响应任何从外部/内部来的ping请求。 既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
9、对你的系统上所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)
如最大进程数,内存数量等。例如,对所有用户的限制象下面这样:
vi /etc/security/limits.conf
下面的代码示例中,所有用户每个会话都限制在 10 MB,并允许同时有四个登录。第三行禁用了每个人的内核转储。第四行除去了用户 bin 的所有限制。ftp 允许有 10 个并发会话(对匿名 ftp 帐号尤其实用);managers 组的成员的进程数目限制为 40 个。developers 有 64 MB 的 memlock 限制,wwwusers 的成员不能创建大于 50 MB 的文件。 清单 3. 设置配额和限制 * hard rss 10000
* hard maxlogins 4 * hard core 0 bin -
ftp hard maxlogins 10 @managers hard nproc 40 @developers hard memlock 64000 @wwwusers hard fsize 50000
要激活这些限制,您需要在 /etc/pam.d/login 底部添加下面一行: session required /lib/security/pam_limits.so。 10、注释掉不需要的用户和用户组。 vipw
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin rpm:x:37:37::/var/lib/rpm:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
sshd:x:74:74:Privilerpc:x:32:32:Portmapper RPC user:/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin pcap:x:77:77::/var/arpwatch:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin pegasus:x:66:65:tog-pegasus
OpenPegasus
services:/var/lib/Pegasus:/sbin/nologin
WBEM/CIM
htt:x:100:101:IIIMF Htt:/usr/lib/im:/sbin/nologin wangjing:x:500:500::/home/wangjing:/bin/bash
mysql:x:101:102:MySQL server:/var/lib/mysql:/bin/bash apache:x:48:48:Apache:/var/www:/sbin/nologin ge-separated SSH:/var/empty/sshd:/sbin/nologin
对于不需要的用户全部加 # 注释掉。注意,我不建议直接删除,当你某种原因需要某个用户时,自己重新会很麻烦。 vi /etc/group root:x:0:root
bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5:
disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9:
wheel:x:10:root mail:x:12:mail news:x:13:news uucp:x:14:uucp man:x:15: games:x:20: gopher:x:30: dip:x:40: ftp:x:50: lock:x:54: nobody:x:99: users:x:100: dbus:x:81: floppy:x:19: vcsa:x:69: rpm:x:37: haldaemon:x:68: utmp:x:22: netdump:x:34: nscd:x:28: slocate:x:21: sshd:x:74: rpc:x:32:
rpcuser:x:29:
nfsnobody:x:65534: mailnull:x:47:
共分享92篇相关文档