Linux优化:


1)不用root管理,以普通用户的名义通过sudo授权管理。


(1)visudo

root    ALL=(ALL)       ALL

    weng    ALL=(ALL)       ALL,!/bin/su,!/bin/su -,!/bin/su root,!/bin/su - root      #避免sudo su的命令





2) 更改默认的远程连接SSH服务端口,禁止root用户远程连接,

甚至要更改为只监听内网IP。


   1、sshd配置文件:  服务器:/etc/ssh/sshd_config

      客户端:/etc/ssh/ssh_config


   2、修改sshd_config


      #Port 22 改为 Port 33956 (1—65535)


      ListenAddress 192.168.1.1   IP地址服务器内网的IP地址  


      Protocol 2  协议2比较安全


      #UseDNS yes  改为  UseDNS no   不允许通过名字链接


      #PermitRootLogin yes  改为 PermitRootLogin no   不允许root通过shh链接


      GSSAPIAuthentication yes  改为 GSSAPIAuthentication  no    解决链接慢的办法


      #PermitEmptyPasswords no     不允许空密码登录



3)定时自动更新服务器时间,使其和互联网时间同步。


1、安装时间服务器:

  yum install -y ntpdate

2、同步北京时间:

ntpdate asia.pool.ntp.org 

3、设置每天12点定时同步时间:

crontab -e 

0  */12  *  *  *  *  /usr/sbin/ntpdate  asia.pool.ntp.org  &> /dev/null

注:该方法是为一台服务器同步,生产环境中,是选2台作为同步外网的时间服务器,而其    他的服务器则同步局域网内的2台时间服务器。避免在同一时间流量增大。




4)配置yum更新源,从国内更新源下载安装软件包。


国内yum源主要有:http://mirrors.aliyun.com

http://mirrors.163.com

http://mirrors.sohu.com


选择centos后面的help即可进入帮助文档。




5)关闭seLinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发除外)。


关闭SELinux:

1、临时关闭(不用重启机器):

  setenforce 0                  ##设置SELinux 成为permissive模式

                                                 ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled


http://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html



6)调整文件描述符的数量,进程及文件的打开都会消耗文件描述符。


文件描述符概念:

   1、表示形式为整数数字,一般使用(0-65535)范围。

   2、进程使用的时候会占用文件描述符(标识打开的文件)

命令:ulimit -n              #查看默认文件描述符

     ulimit -SHn 65535      #修改软硬文件描述符


修改文件描述符有两种办法:

   方法一:(1) ulimit -SHn 65535          #修改临时文件描述符:

   (2) echo "ulimit -HSn 65536" >>/etc/rc.local    #随系统启动时加载

  

    

   方法二:

  (1)调整文件描述符

             echo '*   soft    nofile      65535' >>/etc/security/limits.conf 

    echo '*   hard    nofile      65535' >>/etc/security/limits.conf


  (2)修改临时文件描述符

             ulimit -SHn 65535 






7)定时自动清理邮件目录垃圾文件,防止inodes节点被占满

(注意Centos6和Centos5的目录不同)。




8)精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。


for service_name in  `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"`;

do  

chkconfig  $service_name off;

done



9)Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。


10)更改字符集,使其支持中文,但建议还是用英文字符集,防止出现乱码问题。


11)锁定关键系统文件如(/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab)

处理以上内容后把chattr、lsattr改名为oldboy,这样就安全多了。


12)清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。


13)清除多余的系统虚拟账号。


14)为grub菜单加密码。


15)禁止被PING

禁止被ping

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

开启被ping

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all


16)升级漏洞软件


yum update -y


17)锁定重要文件