Centos 6.5 优化 一些基础优化和安全设置

前端之家收集整理的这篇文章主要介绍了Centos 6.5 优化 一些基础优化和安全设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文 centos 6.5 优化 的项有18处:

1、centos6.5最小化安装后启动网卡
2、ifconfig查询IP进行SSH链接
3、更新系统源并且升级系统
4、系统时间更新和设定定时任
5、修改ip地址、网关、主机名、DNS
6、关闭selinux,清空iptables
7、创建普通用户并进行sudo授权管理
8、修改SSH端口号和屏蔽root账号远程登陆
9、锁定关键文件系统(禁止非授权用户获得权限)
10、精简开机自启动服务
11、调整系统文件描述符大小
12、设置系统字符集
13、清理登陆的时候显示的系统及内核版本
14、内核参数优化
15、定时清理/var/spool/clientmqueue
16、删除不必要的系统用户和群组
17、关闭重启ctl-alt-delete组合键
18、设置一些全局变量

1、启动网卡
  1. #centos6.x最小化安装后,网卡默认不是启动状态
  2. ifup eth0
2、SSH链接 ifconfig 查看IP后SSH终端连接。
3、更新源 最小化安装是没有wget工具的,必须先安装在修改源)
  1. yum install wget

备份原系统更新源

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

进入yum.repos.d目录

  1. cd /etc/yum.repos.d

下载网易镜像源或者搜狐镜像源

  1. #下载网易镜像源:
  2. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
  3. #或者
  4. #下载搜狐镜像源:
  5. wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

网易搜狐的源可能有问题。
参考http://blog.csdn.net/ichsonx/article/details/8518420

  1. 清空yum缓存
  2. yum clean all
  3. 生存缓存
  4. yum makecache
  5. 开始更新系统以及内核
  6. yum upgrade
  7. 必备软件
  8. yum install lrzsz ntpdate sysstat -y

使用lrzsz工具常用操作:rz 上传 sz 下载

4、系统时间更新和设定定时任务 第一种:更新时间并且写入BOIS
  1. ntpdate time.windows.com && hwclock -w && hwclock --systohc

第二种:更新时间并且写入定时任务

  1. echo '*/30 * * * * ntpdate time.windows.com && hwclock -w && hwclock --systohc >/dev/null 2>&1' >>/var/spool/cron/root

第三种:每间隔5分钟和10分钟同步一次时间

  1. echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2 >&1' >>/var/spool/cron/root
  2. echo '*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

提示:CentOS 6.x的时间同步命令路径不一样 6是/usr/sbin/ntpdate 5是/sbin/ntpdate

5、修改ip地址、网关、主机名、DNS #eth0 网卡设置
  1. mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
  2. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  3. DEVICE=eth0 #网卡设备名称
  4. HWADDR=00:0C:29:D0:C7:B5 #以太网设备的对应的物理地址
  5. TYPE=Ethernet #网络类型为以太网模式
  6. UUID=080a457b-6a53-4a3a-9155-a23c1146c2c6 #通用唯一识别码
  7. ONBOOT=yes #是否启动引导的时候激活YES
  8. NM_CONTROLLED=no #设备eth0是否可以由Network Manager图形管理工具托管
  9. BOOTPROTO=dhcp #静态IP地址获取状态 如:DHCP表示自动获取IP地址
  10. IPADDR=192.168.1.10 #IP
  11. IPV6INIT=no
  12. IPV6_AUTOCONF=no
  13. NETMASK=255.255.255.0 #网卡对应的网络掩码
  14. GATEWAY=192.168.1.1 #网关地址

检查网卡配置

  1. cat /etc/sysconfig/network-scripts/ifcfg-eth0

网关配置

  1. vi /etc/sysconfig/network
  2. #表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动
  3. NETWORKING=yes
  4. #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应
  5. HOSTNAME=c65mini.localdomain
  6. #设置本机连接的网关的IP地址。例如,网关为10.0.0.1或者192.168.1.1
  7. GATEWAY=192.168.1.1

修改主机DNS

  1. vi /etc/resolv.conf
  2. ; generated by /sbin/dhclient-script
  3. nameserver 8.8.8.8
  4. nameserver 4.4.4.4

修改HOSTS

  1. vi /etc/hosts
  2. 127.0.0.1 c65mini.localdomain
  3. #使用DNS域名服务器来解析名字
  4. order bind hosts
  5. #一台主机是否存在多个IP
  6. multi on
  7. #如果用逆向解析找出与指定的地址匹配的主机名,对返回的地址进行解析以确认它确实与您查询的地址相配。为了防止“骗取”IP地址
  8. nospoof on

重启网卡生效设置两种方法

  1. service network restart
  2. 或者
  3. /etc/init.d/network restart
6、关闭selinux,清空iptables 在服务器配置完全成功后各项服务正常后,在开启selinux

查看selinux状态

  • 第一种方法:/usr/bin/setstatus -v #如果显示:SELinux status: enabled 就是开启状态
  • 第二种方法:cat /etc/selinux/config #如果显示:SELINUX=enforcing 则是开启状态permissive有提醒的状态 disabled是关闭
  • 第三种方法grep SELINUX=disabled /etc/selinux/config
  • 第四种方法:getenforce

修改selinux状态如果修改配置文件则永久生效,但是必须要重启系统

  • 第一种:vi /etc/selinux/config 修改 SELINUX=disabled
  • 第二种:sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

如果想立即生效(如果想临时性的改变) setenforce 0

setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 设置SELinux 成为permissive模式 查看状态 getenforce

iptables防火墙规则清理了,根据需求定制

  1. #清空iptables规则
  2. iptables -F
  3. #查看iptables规则
  4. iptables -L
  5. #保存规则,注意,虽然清空了,不保存的话,重启后,又会有规则。
  6. /etc/init.d/iptables save
7、创建普通用户并进行sudo授权管理

创建普通用户 useradd bingoku 修改用户密码 passwd bingoku

另一种方式:一次性创建用户和设置密码echo "123456"|passwd --stdin bingoku&&history –c

其中bingoku为你创建的用户名

sudo授权管理 打开sudo配置文件 visudo

  1. #按:set nu 查看行,找到99行
  2. root ALL=(ALL) ALL
  3. #添加
  4. bingoku ALL=(ALL) ALL
8、修改SSH端口号和屏蔽root账号远程登陆
  1. #备份SSH配置
  2. cp /etc/ssh/sshd_config sshd_config_bak
  3. #修改SSH安全配置
  4. vi /etc/ssh/sshd_config
  5. #SSH链接默认端口
  6. port 52113
  7. #禁止root账号登陆
  8. PermitRootLogin no
  9. #禁止空密码
  10. PermitEmptyPasswords no
  11. #不使用DNS
  12. UseDNS no

重新载入SSH配置/etc/init.d/sshd reload查看端口里面是否有刚才修改过的端口号52113

  1. netstat -lnt

或者反查端口是那个进程

  1. lsof -i tcp:52113

centos6.5最小化安装没有lsof工具需要yum install lsof

9、锁定关键文件系统(禁止非授权用户获得权限)
  1. chattr +i /etc/passwd
  2. chattr +i /etc/inittab
  3. chattr +i /etc/group
  4. chattr +i /etc/shadow
  5. chattr +i /etc/gshadow
10、精简开机自启动服务

注意:刚装完操作系统一般可以只保留crond,network,syslog,sshd这四个服务。 后期根据业务需求制定自启服务 #(Centos6.x为rsyslog Cetnos5.x为syslog) 如果是中文的话。可能会需要LANG=en 或者替换 3:on 成 3:启用

  1. #关闭全部服务
  2. for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
  3.  
  4. #或者
  5. for sun in `chkconfig --list|grep 3:启用|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
  6.  
  7. #开启需要的服务
  8. for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done
  9.  
  10. #或者需要使用防火墙的话可以开启iptables和ip6tables
  11. for sun in crond rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

查询下开启的服务 chkconfig –list | grep 3:on 或者 chkconfig –list|grep 3:启用

  1. [bingoku@c65mini ~]$ chkconfig --list|grep 3:启用
  2. crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  3. ip6tables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  4. iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  5. network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  6. rsyslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
  7. sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
11、调整文件描述符大小
  1. #查看文件描述符大小
  2. ulimit -n

第一种:#这里参考的是阿里云主机默认设置。

  1. vi /etc/security/limits.conf
  2. * soft nofile 65535
  3. * hard nofile 65535
  4. * soft nproc 65535
  5. * hard nproc 65535
  6. * soft nofile 65535
  7. * hard nofile 65535

第二种:echo '* - nofile 65535' >> /etc/security/limits.conf

第三种:把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效 追加命令到rc.local配置文件里面

  1. cat >>/etc/rc.local<<EOF
  2. #open files
  3. ulimit -HSn 65535
  4. #stack size
  5. ulimit -s 65535
  6. EOF

第四种:如果不修改limits配置文件,直接立即生效,但重启后又恢复之前的默认。 ulimit -SHn 65535

12、设置系统字符集

第一种:vi /etc/sysconfig/i18n

如果想用中文提示:LANG=”zh_CN.UTF-8″ 如果想用英文提示:LANG=”en_US.UTF-8″ 如果临时切换也可以 LANG=zh_CN.UTF-8

第二种:使用sed快速替换

  1. #替换成英文
  2. sed -i 's#LANG="zh_CN.*"#LANG="en_US.UTF-8"#' /etc/sysconfig/i18n
  3. #替换成中文
  4. sed -i 's#LANG="en_US.*"#LANG="zh_CN.UTF-8"#' /etc/sysconfig/i18n
  5. #替换成UTF-8中文
  6. sed -i 's#LANG="zh_CN.*"#LANG="zh_CN.UTF-8"#' /etc/sysconfig/i18n
13、清理登陆的时候显示的系统及内核版本
  1. #查看登陆信息
  2. cat /etc/redhat-release cat /etc/issue
  3. #清理登陆信息
  4. echo >/etc/redhat-release
  5. echo >/etc/issue
14、内核参数优化 vi /etc/sysctl.conf
  1. #可用于apache,Nginx,squid多种等web应用
  2. net.ipv4.tcp_max_syn_backlog = 65536
  3. net.core.netdev_max_backlog = 32768
  4. net.core.somaxconn = 32768
  5.  
  6. net.core.wmem_default = 8388608
  7. net.core.rmem_default = 8388608
  8. net.core.rmem_max = 16777216
  9. net.core.wmem_max = 16777216
  10.  
  11. net.ipv4.tcp_timestamps = 0
  12. net.ipv4.tcp_synack_retries = 2
  13. net.ipv4.tcp_syn_retries = 2
  14.  
  15. net.ipv4.tcp_tw_recycle = 1
  16. #net.ipv4.tcp_tw_len = 1
  17. net.ipv4.tcp_tw_reuse = 1
  18.  
  19. net.ipv4.tcp_mem = 94500000 915000000 927000000
  20. net.ipv4.tcp_max_orphans = 3276800
  21.  
  22. #net.ipv4.tcp_fin_timeout = 30
  23. #net.ipv4.tcp_keepalive_time = 120
  24. net.ipv4.ip_local_port_range = 1024 65535
  25.  
  26. #以下参数是对centos6.x的iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
  27. #如果是centos5.X需要吧netfilter.nf_conntrack替换成ipv4.netfilter.ip
  28. #centos5.X为net.ipv4.ip_conntrack_max = 25000000
  29. net.nf_conntrack_max = 25000000
  30. net.netfilter.nf_conntrack_max = 25000000
  31. net.netfilter.nf_conntrack_tcp_timeout_established = 180
  32. net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
  33. net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
  34. net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

立即生效/sbin/sysctl -pcentos6.5可能会报错

  1. error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
  2. error: "net.bridge.bridge-nf-call-iptables" is an unknown key
  3. error: "net.bridge.bridge-nf-call-arptables" is an unknown key

出现这个的原因是,没有自动载入bridge桥接模块

  1. modprobe bridge
  2. echo "modprobe bridge">> /etc/rc.local

查看桥接lsmod|grep bridge

centos5.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

  1. error: "net.ipv4.ip_conntrack_max"is an unknown key
  2. error: "net.ipv4.netfilter.ip_conntrack_max"is an unknown key
  3. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established"is an unknown key
  4. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait"is an unknown key
  5. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait"is an unknown key
  6. error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait"is an unknown key

centos5.X解决方法

  1. modprobe ip_conntrack
  2. echo "modprobe ip_conntrack">> /etc/rc.local

centos6.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

  1. error: "net.nf_conntrack_max"isan unknown key
  2. error: "net.netfilter.nf_conntrack_max"isan unknown key
  3. error: "net.netfilter.nf_conntrack_tcp_timeout_established"isan unknown key
  4. error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait"isan unknown key
  5. error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait"isan unknown key
  6. error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait"isan unknown key

centos6.X解决方法

  1. modprobe nf_conntrack
  2. echo "modprobe nf_conntrack">> /etc/rc.local

注意:笔者在整理这篇centos6.5内核优化的时候发现,如果不开启ip6tables去优化nf_conntrack模块去执行上面的解决方法会依旧提示上面的error。所以在优化服务的时候,可以选择留下iptables和ip6tables。当然如果不用iptables的话,在内核优化的时候就要去掉对nf_conntrack的设置,在进行/sbin/sysctl -p 是不会有错误提示的。

15、如果安装sendmail必须定时自动清理/var/spool/clientmqueue/下文件防止inode节点被占满
  1. #centos6.5已经不自动安装sendmail了所以没必要走这一步优化
  2. mkdir -p /server/scripts
  3. vi /server/scripts/spool_clean.sh
  4. #!/bin/sh
  5. find/var/spool/clientmqueue/-typef -mtime +30|xargsrm-f
16、删除不必要的系统用户和群组
  1. #删除不必要的用户
  2. userdel adm
  3. userdel lp
  4. userdel sync
  5. userdel shutdown
  6. userdel halt
  7. userdel news
  8. userdel uucp
  9. userdel operator
  10. userdel games
  11. userdel gopher
  12. userdel ftp
  13. #删除不必要的群组
  14. groupdel adm
  15. groupdel lp
  16. groupdel news
  17. groupdel uucp
  18. groupdel games
  19. groupdel dip
  20. groupdel pppusers
17、关闭重启ctl-alt-delete组合键
  1. vi /etc/init/control-alt-delete.conf
  2. #注释掉
  3. #exec /sbin/shutdown -r now "Control-Alt-Deletepressed"
18、设置一些全局变量
  1. #设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒
  2. echo "TMOUT=3600">> /etc/profile
  3. #历史命令记录数量设置为10条
  4. sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile
  5. #立即生效
  6. source /etc/profile

猜你在找的CentOS相关文章