一、系统优化项
1.
[root@whb ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@whb ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@whb ~]# ll /etc/yum.repos.d/
total 56
-rw-r--r--. 1 root root 1664 Nov 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1050 Sep 18 07:25 epel.repo
[root@whb ~]# getenforce #显示selinux状态
Enforcing
[root@whb ~]# setenforce 0 #临时关闭selinux
[root@whb ~]# getenforce
Permissive
[root@whb ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config #永久修改
[root@whb ~]# systemctl stop firewalld
[root@whb ~]# systemctl disable firewalld
4.
[root@whb ~]# yum install -y ntpdate
[root@whb ~]# crontab -l
#同步系统时间
*/3 * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null
[root@whb ~]# systemctl stop NetworkManager
[root@whb ~]# systemctl disable NetworkManager
[root@whb ~]# nmtui #必须NetworkManager启动才能使用图形化管理网卡配置文件
[root@whb ~]# vi /etc/security/limits.conf
<domain> <type> <item> <value>
限制的用户 限制类型 限制资源 限制的值
* - nofile 65535
[root@whb ~]# echo '* - nofile 65535' >> /etc/security/limits.conf
[root@whb ~]# tail -1 /etc/security/limits.conf
* - nofile 65535
[root@whb ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3805
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3805
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@whb ~]# ulimit -n
65535
7.
#禁止DNS反向解析
[root@whb ~]# grep 'UseDNS' /etc/ssh/sshd_config
#UseDNS yes
[root@whb ~]# sed -i 's#^\#UseDNS.*#UseDNS no#g' /etc/ssh/sshd_config
[root@whb ~]# grep 'UseDNS' /etc/ssh/sshd_config
UseDNS no
#禁止GSS认证,优化连接速度
[root@whb ~]# grep 'GSSAPIA' /etc/ssh/sshd_config
GSSAPIAuthentication yes
[root@whb ~]# sed -i 's#^GSSAPIA.*#GSSAPIAuthentication no#g' /etc/ssh/sshd_config
[root@whb ~]# grep 'GSSAPIA' /etc/ssh/sshd_config
GSSAPIAuthentication no
#重启生效
[root@whb ~]# systemctl restart sshd
8.内核优化
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF
#查看生效
[root@whb ~]# sysctl -p
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
9.
cat>>/etc/profile.d/color.sh<<"EOF"
alias ll='ls -l --color=auto --time-style=long-iso'
PS1="\[\e[37;40m\][\[\e[32;1m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\[\e[32;1m\]\\$ \[\e[0m\]"
export HISTTIMEFORMAT='%F-%T '
EOF
#生效
[root@whb ~]# source /etc/profile
10.
[root@whb ~]#cat>/root/hostname_ip.sh<<"EOF"
#!/usr/bin/sh
source /etc/init.d/functions
if [ $# -ne 2 ];then
echo "/bin/sh $0 New hostname New IP address"
exit 1
fi
hostnamectl set-hostname $1
if [ $? -eq 0 ];then
action "hostname update Successfull." /bin/true
else
action "hostname update Failed." /bin/false
fi
sed -ri "/^IPA/s#(.*\.).*#\1$2#g" /etc/sysconfig/network-scripts/ifcfg-eth[01]
if [ $? -eq 0 ];then
action "IP update Successfull." /bin/true
systemctl restart network
else
action "IP update Failed!" /bin/false
fi
bash
EOF
二、
1)禁止root用户远程连接,不用root登录管理系统,而以普通用户登录通过sudo授权管理。
2)更改默认的远程连接SSH服务端口,甚至要更改SSH服务只监听内网IP。
3)定时自动更新服务器的时间,使其和互联网时间同步。
4)配置yum更新源,从国内更新源下载安装软件包。
5)关闭SELinux及Firewalld(在工作场景中,如果有外部IP一般要打开Firewalld,高并发高流量的服务器可能无法开启)。
6)调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。
7)定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满。
8)Linux内核参数优化。
9)更改系统字符集为"zh_CN.UTF-8",使其支持中文,防止出现乱码问题。
10)锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow,处理以上内容后把chattr、lsattr改名,转移走,这样就安全多了。
11)清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。
[root@whb ~]# cat /etc/motd #登录之后显示的
12)清除多余的系统虚拟用户账号。
13)为grub引导菜单加密码。
14)禁止主机被ping。echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
15)打补丁并升级有已知漏洞的软件。