linux网络攻击威胁分析以及linux安全技巧 学习笔记

典型的服务器安全威胁

简单用户和简单密码
管理员没有遵循某些制度而造成的攻击,比如密码经常更换,超级管理员使用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,那就说明被黑了

未完待续...


你可能感兴趣的:(linux网络攻击威胁分析以及linux安全技巧 学习笔记)