日期: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最小化安装后的优化[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 2008R2 HyperV下安装CentOS6,网卡无痛设置
  • CentOS 6.x 利用安装光盘作为yum源
  • CentOS 下 Nginx + Keepalived 配置高可用Web站点
  • CentOS 5.8布置web缓存服务器(squid+memcached)
  • centos6.2改正yum的源为安装光盘
  • CentOS6 yum搭建Linux+Nginx+PHP+MYSQL(LNMP)
  • CentOS 6.2 安装Nginx并设置为开机服务
  • CentOS 6.2布置DNS
  • CentOS6.2利用yum安装LAMP及phpMyadmin
  • CentOS下配置PHP+phpMyAdmin
  • centos下mysql主从同步快速设置步骤分享
  • 在Windows主机上按时备份远程VPS(CentOS)数据的批处理
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .