0.内部设置跳板机,服务器只能通过跳板机登录
1.禁止ROOT用户远程登录和登录端口
禁止ROOT用户远程登录 。打开 /etc/ssh/sshd_config
PermitRootLogin no
.对用户密码强度的设定
12个字符以上,大小写,特殊字符
.对重要的文件进行锁定,即使ROOT用户也无法删除
chattr 改变文件或目录的扩展属性 lsattr 查看文件目录的扩展属性 chattr +i /etc/passwd /etc/shadow //增加属性
chattr -i /etc/passwd /etc/shadow //移除属性
lsattr /etc/passwd /etc/shadow
---------------------
https://blog.csdn.net/qq_36119192/article/details/82906799
内核参数调优:
.redis服务器内核调优
就一条
vm.overcommit_memory =
为了避免当系统内存不足时,系统杀掉内存占用最大的程序(往往都是redis QAQ)。
不要忘了执行命令生效一下
.#增大文件描述符
ulimit -n
echo -ne "
* soft nofile
* hard nofile
" >>/etc/security/limits.conf .#修改系统线程限制
echo -ne "
* soft nproc
* hard nproc
" >>/etc/security/limits.conf
.链接追踪表问题
nginx服务器在开启防火墙时最容易遇到如下情况
执行dmesg命令,查看系统打印信息
nf_conntrack: table full, dropping packet
(链接追踪表已满)
这是相当常见的问题,而且十分严重,导致服务器随机丢弃请求,你的并发突破不了几千。 调优方式:
增加或者修改内核参数
vim /etc/sysctl.conf
net.nf_conntrack_max = (状态跟踪表的最大行数,16G的服务器)
net.netfilter.nf_conntrack_tcp_timeout_established = (设置超时时间)
修改完毕后执行sysctl-p生效命令。
参考:https://www.cnblogs.com/kerwinC/p/6835208.html
4.TIME_WAIT(时间等待计时器)状态是什么?
简单来说,TIME_WAIT状态是四次挥手中服务器向客户端发送FIN终止连接后进入的状态。 (四次断开两次FIN两次ack)
要解决问题,需要在/etc/sysctl.conf中加配置开启net.ipv4.tcp_tw_recicle=1,sysctl -p (nat网络模式则要设置关闭,=0,否则有很多报错)