日期:2012-01-30 13:00:00 来源:本站整理
Centos5.x最小化安装后的优化[服务器安全]
本文“Centos5.x最小化安装后的优化[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
购置了服务器(目前服务器性能普通都还是对比强滴),下一步就要安装系统了.这里举荐用64位的Centos5.x,安装系统时我们要挑选最小化安装(不要图形).大家在用服务器时要记得一个原则,系统的安装包越少越好,这样机械才会更安定.前面已经介绍过线上服务器的分区流程,假如碰到对磁盘I/O调用频繁的服务(比方MySQL),我们可以单独拿一个分区(如/data)出来,不要跟/装在一同,避免/分区被频繁调用,呈现I/O瓶颈.至于单服务器的性能调优,本着安定安全的原则,尽大概不要窜改系统原有的配置(Centos自身的文件和内存机制就很优异),特别是线上环境,安定性要放在第一位来考虑.
1.关闭不需求的服务
众知周知,服务越少,系统占用的资源也会越少,所以应关闭不需求的服务.这样做的好处是削减内存和CPU时间的占用.号令以下所示:
ntsysv
下面列出需求启动的服务,未列出的服务一概关闭.
crond
Linux下的时间筹划任务服务.
irqbalance
启用irqbalance服务,既可以晋升性能,又可以降低能耗.irqbalance用于优化中止分配,它会自动汇集系统数据以解析利用情势,并根据系统负载情况将工作置于Performance mode或Power-save mode状况.处于Performance mode时,irqbalance会将中止尽大概均匀地分发给各个CPU core,以充分操纵CPU的多核,晋升性能.处于Power-save mode时,irqbalance会将中止集合分配给第一个CPU,以保证其他闲暇CPU的就寝时间,降低能耗.目前的主流服务器都是双四核,所以这项我倡议保存.
network
sshd
syslog
这是Linux的日记系统,必必要启动,不然机械呈现问题时会找不到缘由.
再说一下两个对比特别的服务,它们是iptables和SELinux.因为网站和系统之前均有硬件防火墙,假如没有特别需求的话,都可挑选关闭.要关闭它们可以在号令setup下操作,也可以利用号令行操作.
关闭iptables的代码以下:
1. service iptables stop&& #chkconfig iptables off
关闭SELinux的办法以下:
1. vim /etc/selinux/config
然后将文件中的selinux=""改成disabled,并重启.假如不想重启系统,利用号令setenforce 0,此号令可以暂时关闭SELinux,重启后失效.
阐明 setenforce 1将SELinux设置成为enforcing情势;setenforce 0将SELinux设置成为permissive情势.
别的,在lilo或grub的启动参数中增添:selinux=0,这样也可以关闭SELinux.
2.关闭不需求的tty
先编辑/etc/inittab,找到以下一段号令:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
这段号令会使init为你翻开了6个掌握台,辨别可以用[ALT+F1]到[ALT+F6]举行拜候.
事实上没有必要利用这么多.应若何干闭不需求的进程呢?普通我们保存前两个掌握台便可以了,把背面4个用#注释掉,并且无需重启,只需求履行initq这个号令便可,以下所示:init q3.对TCP/IP网络参数举行调整
调整TCP/IP网络参数,可以加强抗SYN Flood的本领,号令以下所示:
# echo 'net.ipv4.tcp_syncookies = 1'>> /etc/sysctl.conf
# sysctl -p
4.改正shell号令的history记录个数
改正history记录的号令以下所示:
# vi /etc/profile
找到histsize=1000,将其改成histsize=100(这条可按照实际情形而定).
不重启系统便可以让其见效,以下所示:
source/etc/profile
5.按时校正服务器的时间
我们可以按时校正服务器的时间,号令以下所示:
# yum install ntp
# crontab -e
加入以下一行:
*/5 * * * * ntpdate ntp.api.bz
#ntp.api.bz是一组NTP服务器集群,目前有6台服务器.这项服务是api.bz继http://sms.api.bz移动飞信免费短信发送接口之后的第二项免费API服务.
6.终止打印服务
7.关闭ipv6
在Centos5.5默许的状况下,ipv6是被启用的.因为我们不利用ipv6,所以,可以终止ipv6,以最大限度地保证安全和快速.首先确认一下ipv6是不是处于被启动的状况.
[root@sample ~]#ifconfig -a ← 列出全部网络接口信息
eth0 Link encap:Ethernet HWaddr 00:0C:29:B6:16:A3
inet addr:192.168.0.13 Bcast:192.168.0.255Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb6:16a3/64Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1
RX packets:84 errors:0 dropped:0 overruns:0frame.:0
TX packets:93 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:1000
RX bytes:10288 (10.0 KiB) TX bytes:9337(9.1 KiB)
Interrupt:185 Base address:0×1400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0frame.:0
TX packets:12 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:0
RX bytes:952 (952.0 b) TX bytes:952 (952.0b)
sit0 Link encap:IPv6-in-IPv4 ← 确认ipv6是被启动的状况
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0frame.:0
TX packets:0 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
然后改正呼应配置文件,终止ipv6,以下所示:
[root@sample ~]#vi /etc/modprobe.conf ← 改正呼应配置文件,增添以下内容
alias net-pf-10 off
alias ipv6 off
echo "IPV6INIT=no" >>/etc/sysconfig/network-scripts/ifcfg-eth0
[root@sample ~]#shutdown -r now ← 重新启动系统,使设置见效
最后确认ipv6的功效已经被关闭,以下所示:
[root@sample ~]#ifconfig -a ← 列出全部网络接口信息
eth0 Link encap:Ethernet HWaddr 00:0C:29:B6:16:A3
inet addr:192.168.0.13 Bcast:192.168.0.255Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb6:16a3/64Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1
RX packets:84 errors:0 dropped:0 overruns:0frame.:0
TX packets:93 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:1000
RX bytes:10288 (10.0 KiB) TX bytes:9337(9.1 KiB)
Interrupt:185 Base address:0×1400lo Linkencap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0frame.:0
TX packets:12 errors:0 dropped:0 overruns:0carrier:0
collisions:0 txqueuelen:0
RX bytes:952 (952.0 b) TX bytes:952 (952.0b)
确认ipv6的相关信息没有被列出,阐明ipv6功效已经关闭.
8.关于ulimit
关于ulimit
ulimit -a 用来显示当前的各种用户进程限制.
Linux关于每个用户,系统限制其最大进程数.为提高性能,可以按照设备资源情形,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:
ulimit -u 10000
关于需求做很多 socket衔接并使它们处于翻开状况的Java 利用程序而言,最好通过利用ulimit -n xx 改正每个进程可翻开的文件数,缺省值是 1024.
ulimit -n 4096 将每个进程可以翻开的文件数目加大到4096,缺省为1024
其他倡议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit-d unlimited
最大内存大小:ulimit-m unlimited
仓库大小:ulimit -sunlimited
CPU 时间:ulimit -tunlimited
虚拟内存:ulimit -vunlimited
暂时地,实用于通过ulimit 号令登录shell 会话期间.
永久地,通过将一个呼应的ulimit 语句增添到由登录 shell读取的文件中,即特定于 shell 的用户资源文件,如:
1)、解除 Linux 系统的最大进程数和最大文件翻开数限制:
vi /etc/security/limits.conf
# 增添以下的行
* soft noproc 11000
* hard noproc 11000
* soft nofile 4100
* hard nofile 4100
阐明:* 代表针对全部用户
noproc 是代表最大进程数
nofile 是代表最大文件翻开数
也可以在/etc/rc.local文件里增添以下号令行:
ulimit -SHn 65535
当然了,我们也可以在Nginx的一些监控脚本里及时增添此号令行,到达重启也能见效的目的.
别的,ulimit -n号令并不能真正看到文件的最大文件翻开数,大家可用以下脚本查看:
#!/bin/bash
for pid in 'ps aux |grep nginx |grep -vgrep|awk '{print$2}''
do
cat /proc/${pid}/limits |grep 'Max openfiles'
done
9.启动网卡
大家配置Centos5.5的网卡时,简单忽视的一项就是Linux启动时未启动网卡,后来果很明显,那就是你的Linux机械永久也没有IP地址,下面是一台线上服务器的配置:
[root@localhost~]# vim/etc/sysconfig/network-scripts/ifcfg-et
以上是“Centos5.x最小化安装后的优化[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论