查看系统版本
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
修改命令历史记录时间:
cat >>/etc/profile<<EOF
export HISTTIMEFORMAT='%F %T '
EOF
source/etc/profile
关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld
关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
配置yum源服务器
删除其他yum源文件
rm -f /etc/yum.repos.d/*
配置局域网yum源
cat>base.repo<<EOF
[base]
name=http
baseurl=http://30.60.1.63/
gpgcheck=0
enable=1
EOF
时间服务器配置
安装ntp服务
yum -y install ntp
执行时间同步
/usr/sbin/ntpdate JKTIME1.com
兼容rc.local
挂载脚本等开机自启动脚本或命令,可以配置在rc.local文件中,且必须有执行权限,更具需要进行配置
chmod +x /etc/rc.d/rc.local
注意 /etc/rc.local为连接文件,在此文件增加x权限无效。
ssh优化
- 配置免密登录
- 禁用root用户直接登录
sed -i '$a DenyUsers root' sshd_config
> 在最后一行插入DenyUsers root
- 禁用除跳板机外网段使用ssh登录
sed '$a sshd:30.60.1.0/24:allow' /etc/hosts.allow
sed '$a sshd:ALL' /etc/hosts.deny
- 10分钟无操作自动断开
export TMOUT=600
readonly TMOUT
- 5次登录错误锁定,及锁定时间15min
sed -i '1 a auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600' /etc/pam.d/sshd
账户设置
- 修改login.defs
- 设置密码过期时间为90天
- 设置密码最小长度为10位
sed -i -e 's/PASS_MAX_DAYS.30/PASS_MAX_DAYS 50/' -e 's/PASS_MIN_LEN.5/PASS_MIN_LEN 10/' /etc/login.defs
- 建立用户并设置30天宽限期
useradd -f 30 bht_admin
useradd -f 30 bht_ec
useradd -f 30 bht_audit
- sudo权限设置
Visudo
bht_admin ALL=(ALL) NOPASSWD:ALL
bht_audit ALL=(root) NOPASSWD:/bin/cat,/bin/less,/bin/more,/bin/grep /var/log/*
系统内核优化
vim /etc/sysctl.conf
#关闭ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
#决定检查过期多久邻居条目
net.ipv4.neigh.default.gc_stale_time=120
#使用arp_announce / arp_ignore解决ARP映射问题
net.ipv4.conf.lo.arp_announce=2 #
#避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1 #
#开启恶意icmp错误消息保护,可以忽略由网络中的那些声称回应地址是广播地址的主机生成的ICMP错误
net.ipv4.icmp_ignore_bogus_error_responses = 1
#关闭如下参数可以防止黑客对服务器IP地址的攻击
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
#timewait的数量,默认180000
net.ipv4.tcp_max_tw_buckets = 6000
#这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段)
net.ipv4.tcp_sack = 1
#TCP窗口扩大
net.ipv4.tcp_window_scaling = 1
#与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。
net.ipv4.tcp_rmem = 4096 87380 4194304
#为自动调优定义每个 socket 使用的内存。
net.ipv4.tcp_wmem = 4096 16384 4194304
#定义默认的发送窗口大小;对于更大的 BDP 来说,这个大小也应该更大。
net.core.wmem_default = 8388608
#指定了接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_default = 8388608
#指定了接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.rmem_max = 16777216
#定义发送窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大
net.core.wmem_max = 16777216 。
#限制仅仅是为了防止简单的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
#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
#修改系統默认的 TIMEOUT 时间。
net.ipv4.tcp_fin_timeout = 1
sysctl –p
#修改最大文件描述符
Vi /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000
* hard nproc 1000000
* soft nproc 1000000
filebeat安装
- 上传filebeat-7.12.1-linux-x86_64.tar.gz至/opt
- 解压至/usr
tar -zvxf /opt/filebeat-7.12.1-linux-x86_64.tar.gz -C /usr/
zabbix agent安装
- 上传zabbix_agent-5.0.11-linux-3.0-amd64-static.tar.gz至/opt
tar -zvxf /opt/zabbix_agent-5.0.11-linux-3.0-amd64-static.tar.gz -C /usr/
- 配置修改
#### 杀毒软件安装