典型的服务器安全威胁
简单用户和简单密码
管理员没有遵循某些制度而造成的攻击,比如密码经常更换,超级管理员使用root(应该换掉)
常见的攻击方法
DDOS:分布式拒绝服务攻击
DrDOS:反射式拒绝服务攻击
CC:反复的访问消耗资源的服务,造成服务器负载过高
先建立tcp连接,然后发起攻击,其特点是源地址可以检查到
syn洪水攻击的防范
echo 10240 > /proc/sys/net/ipv4/tcp_max_syn_backlog 可以修改tcp握手吞吐量
sysctl net.ipv4.tcp_max_syn_backlog=8192 效果同上
echo 1 > /proc/sys/net/ip/tcp_syn_retries 让tcp第一次握手的反馈信息只重试1次
sysctl net.ip.tcp_syn_retries=1 效果同上
/proc/sys/net/ipv4/tcp_syncookies 是专门用来对付syn洪水攻击的,一般是1,在/etc/sysctl.conf中可以找到
vmstat 1 10 可以查看系统状态,bi,bo是磁盘io, si,so是系统io
看新浪用了多少dns服务器
$ nslookup
> set q=ns
> www.sina.com.cn
侦测CC攻击的脚本
思路是获取连接80端口的所有ip,排序去重后,如果数量大于10就列出来,并加入到防火墙禁用掉它。但这种方式可能无法处理终端用户共享上网的情况
web脚本漏洞/SQL注入等是造成遭受网络攻击威胁的常见问题
查看当前开放的端口
netstat -antup | grep LIST
其中0.0.0.0:xx的端口就是对外开放的端口,一定要注意
列出当前开启的服务(无图模式),一些不重要的端口就关掉它
chkconfig --list | grep 3:on //其中3是无图形模式,5是图形模式
判断被人黑了的几个依据
/etc/shadow 看看用户后面有没有设置密码(即哪些乱七八糟的字符,非!),如果一些不应该登陆的用户有了密码,就说明系统被黑了
/var/log/secure 可以看看尝试 ssh 登陆的情况,如果有大量的用户登陆,那么就是有人再重试ssh登陆
被人黑了怎么办?
1.可以看一下 /home/user/.bash_history看看执行历史,如果没有说明给清理了或者是通过别的渠道登入的,比如通过图形界面入侵
2.修改 /etc/ssh/sshd_config,其中 protocol=2, Port=别的端口号,这样可以避免22端口让人猜到
3.passwd -l root //锁定root用户,让root不能登陆,至于root权限的账户可以另外建一个新的,这样别人就猜不到root用户的名字了,从某种角度来说也提高了安全性
4.注意那些偷偷开启的允许登陆的用户,可能是有人修改过
grep bash /etc/passwd
其中一些不需要的用户,需要额外注意,例如
root:xxxxxxx:/bin/bash //后面的/bin/bash标示这些用户是可以登陆后开bash的,即允许登陆,务必要把这些/bin/bash去掉
另外注意user:x:0:???注意那个0,这个是uid,如果是0就标示root,如果是个非root用户的这里成了0,那就说明被黑了
未完待续…
转载于:https://my.oschina.net/jim19770812/blog/304538
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109750.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...