安装常用软件
yum install lrzsz ntpdate sysstat net-tools wget vim bash-completion dos2unix -y
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config
临时关闭
setenforce 0
设置主机名
hostnamectl set-hostname xxx
添加hosts
cat >> /etc/hosts << EOF
192.168.1.11 主机名
EOF
如果机器时区、时间不对进行以下操作
更改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置系统时间与网络时间同步
ntpdate 0.asia.pool.ntp.org
将系统时间写入硬件时间
hwclock --systohc
更改为阿里yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
优化ssh远程登录配置
备份/etc/ssh/sshd_conf
cp /etc/ssh/sshd_config{,.`date +%F`.bak}
不允许基于GSSAPI的用户认证
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
不允许sshd对远程主机名进行反向解析
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
重启sshd生效
systemctl restart sshd
历史记录数及登录超时环境变量设置
设置闲置超时时间为300s
echo 'export TMOUT=300' >>/etc/profile
设置历史记录文件的命令数量为1000
echo 'export HISTFILESIZE=1000' >>/etc/profile
设置命令行的历史记录数量
echo 'export HISTSIZE=1000' >>/etc/profile
格式化输出历史记录(以年月日分时秒的格式输出)
echo 'export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"' >>/etc/profile
使其生效
source /etc/profile
查看
tail -4 /etc/profile
调整linux描述符
查看系统文件描述符设置
ulimit -n
调整系统文件描述符为65535
echo '* - nofile 65535' >>/etc/security/limits.conf
查看
tail -l /etc/security/limits.conf
定时清理邮件服务临时目录垃圾文件
centos7默认是安装了Postfix邮件服务的,因此邮件临时存放地点的路径为/var/spool/postfix/maildrop,为了防止目录被垃圾文件填满,导致系统额inode数量不够用,需要定期清理.
创建存放脚本的目录
[ -d /server/scripts/shell ] && echo "directory already exists." || mkdir /server/scripts/shell -p
编写脚本文件
echo 'find /var/spool/postfix/maildrop/ -type f|xargs rm -f' >/server/scripts/shell/del_mail_file.sh
查看
cat /server/scripts/shell/del_mail_file.sh
加入定时任务
echo "00 00 * * * /bin/bash /server/scripts/shell/del_mail_file.sh >/dev/null &1" >>/var/spool/cron/root
查看
crontab -l
内核优化
添加系统内核参数
cat >>/etc/sysctl.conf<<EOF
#kernel_flag
#关闭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-WAIT sockets 重新用于新的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
EOF
使其生效
sysctl -p
更新系统到最新
更新补丁并升级系统版本
yum update -y
只更新安全补丁,不升级系统版本
yum --security check-update #检查是否有安全补丁
yum update --security #更新安全补丁