优化内容:
1. 关闭selinux,清空iptables
2. 更新yum源及必要软件安装
3. 定时自动更新服务器时间
4. 精简开机自启动服务
5. 定时自动清理/var/spool/clientmqueue/目录垃圾文件,防止inode节点被占满
6. 变更默认的ssh服务端口,禁止root用户远程连接
7. 锁定关键文件系统
8. 调整文件描述符大小
9. 调整字符集,使其支持中文
10. 去除系统及内核版本登录前的屏幕显示
11. 内核参数优化
1. 关闭selinux和清空防火墙规则
vim /etc/selinux/config
将enforcing改为disabled
清空防火墙规则:
iptables -F (flush清除所有的已定规则)
iptables -X (delete删除所有用户“自定义”的链(tables))
iptables -Z (zero 将所有的chain的计数与流量统计都归零)
/etc/rc.d/init.d/iptables save 保存防火墙规则(空)
service iptables restart 重启防火墙服务
2. 更新yum源及必要软件安装
yum -y update 更新软件及内核
或 #yum -y upgrade 仅更新软件不更新内核
3.定时自动更新服务器时间
yum -y install ntp*
ntpdate ntp1.aliyun.com
crontab -e
0 */1 * * * ntpdate time1.aliyun.com >/dev/null 2>&1
4.精简开机自启动服务
chkconfig --list|awk '{print$1}' #选出第一列(即选出了服务名称)
1、chkconfig ip6tables off 关闭ipv6防火墙
2、chkconfig iscsi off 关闭iscsi服务
3、chkconfig iscsid off关闭iscsi相关服务
4、chkconfig netfs off关闭NFS,smaba和NetWare网络文件系统
5、chkconfig auditd off linux的审计功能
6、chkconfig nfslock off关闭TCP/IP网络共享文件的协议的NFS的文件锁功能
7、chkconfig rpcgssd off关闭 NFS v4
8、chkconfig rpcbind off关闭RPC服务
9、chkconfig rpcidmapd off关闭 NFS v4
10、chkconfig lvm2-monitoroff关闭系統对Logical Volume Manager 逻辑磁区的支持
11、chkconfig lldpad off关闭邻近发现协议
chkconfig lvm2-monitor off
chkconfigip6tables off
chkconfignetfs off
chkconfigauditd off(chkconfigauditd off 2345)
5.定时自动清理/var/spool/clientmqueue/目录垃圾文件,防止inode节点被占满
在crond的自动执行语句后加上> /dev/null 2>&1
6.变更默认的ssh服务端口,禁止root用户远程连接
vim /etc/ssh/sshd_config
Port 14399
PermitRootLogin no
7.锁定关键文件系统
用chattr命令给文件上锁
上锁后,用户不能对文件修改删除。
用chattr命令给文件解锁
chattr +i 文件的绝对路径 对文件加锁
chattr -i 文件的绝对路径 对文件解锁
8.调整文件描述符大小
修改/etc/security/limits.conf文件
在文件最后一行添加一下参数
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
* - nofile 65535
9.调整字符集,使其支持中文
vim /etc/locale.conf
10. 内核参数优化#关闭ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# 避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 开启恶意icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1
#关闭路由转发
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
#开启反向路径过滤
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
#处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
#关闭sysrq功能
kernel.sysrq = 0
#core文件名中添加pid作为扩展名
kernel.core_uses_pid = 1
# 开启SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1
#修改消息队列长度
kernel.msgmnb = 65536
kernel.msgmax = 65536
#设置最大内存共享段大小bytes
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
#timewait的数量,默认180000
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 262144
#限制仅仅是为了防止简单的DoS攻击
net.ipv4.tcp_max_orphans = 3276800
#未收到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
#内核放弃建立连接之前发送SYNACK包的数量
net.ipv4.tcp_synack_retries = 1
#内核放弃建立连接之前发送SYN包的数量
net.ipv4.tcp_syn_retries = 1
#启用timewait快速回收
net.ipv4.tcp_tw_recycle = 1
#开启重用。允许将TIME-WAITsockets重新用于新的TCP 连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
#当keepalive起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
net.ipv4.tcp_keepalive_time = 30
#允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024 65000
#修改防火墙表大小,默认65536
#net.netfilter.nf_conntrack_max=655350
#net.netfilter.nf_conntrack_tcp_timeout_established=1200
# 确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects= 0