CentOS Linux服务器实现攻防演练

转载来源 :京峰教育,如果侵权,及时联系我删除。

企业Linux服务器安全攻防实战演练

1)剖析黑客攻击服务器、网站哪些方法和手段;
2)基于两台CentOS Linux服务器实现攻防演练;
3)基于SHELL编程抵御黑客的攻击,将黑客加入黑洞;
4)基于DenyHosts实现全自动黑客的防御实战;
5)如何将DenyHosts应用于企业生产环境;

1、剖析黑客攻击的手段有哪些呢?

1)基于弱端口、基础服务端口实现攻击,端口扫描,常见的端口:139、445、110、25、53等;
2)基于服务器的弱口令,弱密码,WEB网站的弱密码,黑客最喜欢扫描用户和密码,尤其服务器的,基于22、3389远程端口扫描;
3)基于DDOS分布式拒绝服务攻击,模拟大量的半连接,拖垮服务器,服务器资源被大量的占用,导致无法提供正常的服务;
4)基于WEB程序的漏洞、BUG,基于SQL注入攻击Web网站或者服务器;
5)基于XSS、Webshell提权、获取服务器的最高管理员的权限和指令等;

2、基于两台CentOS Linux服务器实现攻防演练
1)黑客攻击Linux服务器,最喜欢的手法,暴力破解Linux的用户名和密码,如何判断黑客在暴力破解Linux服务器的用户名和密码呢?
2)通过服务器的资源使用情况或者服务器的日志,Linux服务器用户名和密码登录的日志:/var/log/secure;

cat  /var/log/secure | more
或者
vi /var/log/secure

CentOS Linux服务器实现攻防演练_第1张图片
CentOS Linux服务器实现攻防演练_第2张图片
上面是登录失败的IP地址,攻击原因可能是 密码强度比较弱,误删了机器的yum源 ,密码要由大小写,标点符号等等组成,
3)根据登录日志判断服务器是否存在恶意攻击,通过什么条件判断?通过关键词判断:Failed Password;
4)如果取出/var/log/secure日志文件中,登录失败次数超过5次黑客的IP地址,并且将其加入到Linux黑洞中;
5)分页查看/var/log/secure日志内容,确认是否有IP地址:

cat /var/log/secure|more
more /var/log/secure

6)匹配/var/log/secure日志登录失败的关键词:Failed password

grep "Failed password" /var/log/secure|more

CentOS Linux服务器实现攻防演练_第3张图片
7)基于awk切割第十一列,如图所示:

grep "Failed password" /var/log/secure|awk '{print $11}'|more

CentOS Linux服务器实现攻防演练_第4张图片
使用另一台机器远程连接本机

ssh [email protected]

查看本机登录失败的IP

grep "Failed password" /var/log/secure|awk '{print $11}'|more

CentOS Linux服务器实现攻防演练_第5张图片
8)基于awk切割第十一列,可能会漏掉一些IP,怎么办?将结果的空格变成换行符\n;

grep "Failed password" /var/log/secure|sed 's/ /\n/g'|more

CentOS Linux服务器实现攻防演练_第6张图片
9)将结果的空格变成换行符\n,同时匹配数字0-9,匹配IP地址;

grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"|more
grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|more
grep "Failed password" /var/log/secure|sed 's/ /\n/g'|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}"|more

CentOS Linux服务器实现攻防演练_第7张图片
10)对IP进行排序,同时对IP列表进行去重统计,并且从大到小排序,如何获取呢?

grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|more

CentOS Linux服务器实现攻防演练_第8张图片
11)登录失败次数超过5次黑客的IP地址,如何获取呢?

grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|awk '$1>=5 {print $2}'
grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|awk '{if($1>5) print $0}'|more

CentOS Linux服务器实现攻防演练_第9张图片
12)登录失败次数超过5次黑客的IP地址,加入到Linux黑洞,如何获取呢?Linux黑洞(十八层地狱)文件:/etc/hosts.deny

grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|awk '$1>=5 {print "sshd:"$2}'>>/etc/hosts.deny
for ip in `grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|awk '$1>=5 {print $2}'`;do echo sshd:$ip ;done>>/etc/hosts.deny
grep "Failed password" /var/log/secure|sed 's/ /\n/g'|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"|sort|uniq -c|sort -nr|awk '$1>=5 {print $2}'|sed 's/^/&sshd:/g'>>/etc/hosts.deny

CentOS Linux服务器实现攻防演练_第10张图片

扩展

查看ssh暴力破解
用iftop查看到有几个IP一直连接中,而我的blog里的流量统计页面访问数量却没有新增,很明显这不是在访问blog。通过netstat -anp 可以查看到这几个IP,尤其有个IP还不断更换端口一直尝试访问我的22端口,能用22端口无非是ssh终端连接。99%是尝试暴力破解,

#iftop 查看连接IP地址
CentOS Linux服务器实现攻防演练_第11张图片
tail -f /var/log/secure 可以查看ssh登陆失败的信息,证实了193.201.224.199这家伙在尝试暴力破解
CentOS Linux服务器实现攻防演练_第12张图片
通过iftop能实时查看流量连接情况

查看攻击者IP的来源

攻击者1
CentOS Linux服务器实现攻防演练_第13张图片
攻击者2
CentOS Linux服务器实现攻防演练_第14张图片
攻击者3,可能是在咖啡厅之类公共地方
CentOS Linux服务器实现攻防演练_第15张图片
攻击者4,没有显示具体地理信息
CentOS Linux服务器实现攻防演练_第16张图片

攻击者5,没有显示具体地理信息
CentOS Linux服务器实现攻防演练_第17张图片
攻击者6,XXX科技股份有限公司,不清楚攻击目的。
CentOS Linux服务器实现攻防演练_第18张图片

你可能感兴趣的:(运维,转载,centos)