如何破解无线网络密钥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何破解无线网络密钥?相关的知识,希望对你有一定的参考价值。
第一步:从网上下载commview for wifi 6.1 build 607,值得注意一点的是一定要选择for wifi版,否则将无法顺利监控无线通讯数据包。下载后解压缩运行主安装程序,然后一路点next按钮即可,直到完成全部安装。第二步:接下来我们启动commview for wifi软件,在主界面上点“箭头”(开始监控)按钮,然后会打开扫描界面,接下来我们点右边的start scanning按钮将针对当前环境下的无线网络进行扫描,扫描将从频道1开始继续到频道13,所以扫描到的无线网络SSID以及设备类别等信息都会直接显示在scanner扫描界面中。点对应的名称后我们还可以看到具体信息,包括信号强度,设备MAC地址,IP地址等信息。 小提示: 由于实际使用过程中并不是每个频道无线网络都很多的,所以我们可以直接在options标签下设置具体扫描频道,例如只扫描频道3,6,7等。这样可以最大限度的提高扫描速度。设置完毕后确定即可。第三步:实际上笔者还有一个好办法来具体确定哪个扫描频道无线网络最多,那就是通过专门的快速无线扫描工具来完成,笔者使用的是wirelessmon专业版,通过此工具我们可以在几秒之内就知道当前环境下都有哪些无线网络存在了,包括那些没有开启SSID广播的网络也都能够找到,同时知道他们使用的信号频段,从而确定哪个频段下无线网络最多,再返回commview for wifi的scanner扫描中进行相应设置即可。第四步:一般来说我们针对无线网络进行数据监控不应该同时监视多个不同的无线网络,否则无线通讯数据包会比较多,一方面不容易筛选,另一方面也大大减少了最终的破解速度。因此我们可以通过commview for wifi里的rules标签将要监视的无线网络设备MAC地址添加到过滤信息里,同时指定监控流量方向是只流出还是只流入又或者是全部通讯。一般建议大家使用全部方向上的通讯both。添加完MAC地址后选中enable mac address rules后将只针对该MAC设备开启的无线网络进行数据监视和记录。第五步:设置完过滤信息后在scacnner扫描界面下点capture捕获即可,之后我们将会看到commview for wifi扫描到的所有无线数据包信息,包括频段以及对应的无线网络SSID信息。第六步:适当监控一段时间后我们点packets数据包标签,在这里将看到所有监控到的无线通讯数据包。这时为了更好的查看和过滤数据信息我们点下面一排最右边的按钮,即图中显示18742数据包的1字上头对应的那个按钮。第七步:打开log viewer界面后我们可以按照protocol协议来排列数据包,在这里找到标记为蓝色的而且协议名称是encr.data的数据即可,这个是我们要分析的数据包,只有通过这种数据包才能够顺利的破解还原出WEP加密密钥来。第八步:选择该数据包后通过点鼠标右键选择send packet(s)->selected来复制该数据包并发送。第九步:然后会自动打开发送数据包窗口,在这里我们只需要修改times处的次数即可,一般需要收集几十万个数据包才能够轻松破解,笔者一般选择80万个数据包然后再破解。点“发送”按钮后开始依次发送之前复制的数据包,下面也能够看到已经发送的数据包数量。 第十步:收集到足够的数据包后我们返回到commview for wifi主界面中的LOGGING日志记录标签,在这里通过“SAVE AS”按钮将其保存到本地硬盘后缀名是NCF的文件。第十一步:接下来直接双击保存的NCF文件会自动用LOG VIEWER日志浏览工具打开该文件,在这里我们可以看到抓取下来的所有数据包信息,点FILE下的export logs->tcpdump format,将其转换为TCPDUMP格式,只有该格式才能被下文暴力破解提到的工具所支持。 生成了新的TCPDUMP格式的文件后我们的数据包抓取和监控工作才算完成,接下来就是通过暴力破解的方式来还原WEP密钥了。
四,利用aircrack破解WEP密钥:我们使用aircrack软件来破解收集到的数据从而还原出WEP密钥,笔者使用的是aircrack-ng GUI软件。相关软件在附件中提供,感兴趣的读者可以自行下载。
第一步:启动aircrack-ng GUI主程序,直接选择左边第一个标签。
第二步:通过CHOOSE按钮选择之前保存的TCPDUMP格式的文件,后缀名是CAP。
第三步:点右下角的LAUNCH按钮开始分析监控到的数据包,软件会根据监控到的数据信息罗列出所有相关无线网络参数,这里我们需要选择IVS最高的那个,这个才是我们要破解的那个无线网络,例如图中的WEP(38119IVS)。 第四步:输入足够数量IVS对应的网络ID后将自动进入到暴力破解环节,这时我们就需要耐心等待了。如果IVS数量不够会出现FAILED的提示,这说明我们还需要增加监控到的数据包数量。 第五步:如果满足破破解数量的话等待一段时间后就会出现KEY FOUND的提示,我们就可以顺利的破解目的无线网络使用的WEP加密密钥了,从而实现了无线WEP入侵的目的。 第六步:之后我们通过扫描到的SSID信息以及WEP密钥就可以顺利的连接到目的无线网络中了。五,总结:本文介绍了如何在Windows环境下不使用引导光盘而直接破解还原无线网络WEP加密的密钥,本方法有两大特色,第一破解的全过程都是在WINDOWS环境下直接完成的,我们可以一边上网冲浪一边监控数据包,也不再需要刻录破解引导光盘了;第二破解是通过收集到的数据包来完成的,所以我们可以把破解和收集两个工作分开,从而让破解操作更加灵活,可以分期分批的完成破解工作;第三相比传统的被动监控无线通讯数据包中WEP验证内容来说,本方法采取的是主动出击的方法,通过复制WEP验证数据包并反复发送虚假数据包来获取反馈信息,从而在最短时间内收集到足够数量的WEP验证数据包,最终大大提高了破解速度。对于我们这些普通用户来说仅仅使用WEP加密已经不再安全,我们只有通过其他加密方式例如WPA,WPA2才能够保证无线网络通讯的隐私,因此希望各位无线网络用户能够通过本文引起足够的重视,减少WEP加密方式的无线网络应用,毕竟对于入侵者来说WEP加密不过是一扇半开着的大门。 参考技术A 现在破解无线网络密钥不容易了,都是wap2的加密 ,如果密码中用特殊字符 ,破解几率微乎其微。不过可以在网上收这类视频,学习一下技术。看视频一看就懂,看文本,迷迷糊糊 参考技术B 蹭网卡+BT3软件,真心不想搞这个,因为....
ssh-keygen产生公钥与私钥对,及密钥分发,ssh远程执行常用命令方法,和如何防止SSH登录入侵或被破解
前言
SSH是安全的加密协议,用于远程连接Linux服务器,默认端口是22,安全协议版本是SSH2 。
SSH原理
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。
ssh服务端由2部分组成: openssh(提供ssh服务)、openssl(提供加密的程序),主要功能是提供SSH连接和作为SFTP服务器。
ssh的客户端:包含ssh连接命令和远程拷贝scp命令等,可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接。
SSH的工作机制
服务器启动的时候,自己产生一个密钥(768bit公钥),本地的ssh客户端,发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后,发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit),和服务器的公钥(768bit),结合成密钥对key(1024bit),发回给服务器端,建立连接,通过key-pair数据传输。
SSH的加密技术
加密技术:传输过程,数据加密。
- SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
- SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
SSH2支持RSA和DSA密钥
- DSA:digital signature Algorithm 数字签名
- RSA:既可以数字签名又可以加密
ssh-keygen产生公钥与私钥对
ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利。
第一步:在本地机器上使用ssh-keygen产生公钥私钥对
azdebug_it@azdebug_it:~/$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/azdebug_it/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): [Press enter key
same passphrase again: [Pess enter key]
Your identification has been saved in /home/azdebug_it/.ssh/id_rsa.
Your public key has been saved in /home/azdebug_it/.ssh/id_rsa.pub.
The key fingerprint is:
用cat命令查看是否生成产生公钥私钥对
azdebug_it@azdebug_it:~$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl9N5+xboqSIagBx02rdZ2fkROCPW8iW7hl6Gu+2hkBYYy/b1qcOm8RF/AMyas3i0QEK7Hcu9H51l2lulVbS5n9M9FaWIyYzssaS012x2mg9iA6MxPMlaXFsZ5jnVrGicndzf3VUu9kCErp5q0OzzMjsG3PKQevzWZJSBaFgc8NF5ZJ+VT54BN8ktMTHVwOo15I2Uai+bs4eP0NsuwIJmGyYIUOuvTuUtJxGV3hZ+tcjhupupqVCwYOE+cDz8VkFBGtnKsdE69hWoY2VUfEOAfHZptra7Ce9dXfDgx9jxuuNiJYtGo/bZDfe+UJ5HUv8wrL+hFeRIihdmP2CKJD8j5 azdebug_it@azdebug_it
第二步:用ssh-copy-id将公钥复制到远程机器中
azdebug_it@azdebug_it:~$ ssh-copy-id -i .ssh/id_rsa.pub fleapx@192.168.16.16
注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
第三步: 登录到远程机器不用输入密码
azdebug_it@azdebug_it:~$ ssh fleapx@192.168.16.16
Last login: Sun Nov 16 17:22:33 2008 from 192.168.16.16
常见问题:
ssh-copy-id -u fleapx -i ~/fleapx/.ssh/id_rsa.pub ssh fleapx@192.168.16.16
#第一次需要密码登录
上述是给fleapx用户,赋予无密码登陆的权利。
ssh-copy-id命令
ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,
ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。
ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下的authorized_keys文件中。
使用模式:
ssh-copy-id [-i [identity_file]] [user@]machine
描述:ssh-copy-id 是一个实用ssh去登陆到远程服务器的脚本(假设使用一个登陆密码,因此,密码认证应该被激活,直到你已经清理了做了多个身份的使用)。
它也能够改变远程用户名的权限,如,~/.ssh和~/.ssh/authorized_keys删除群组写的权限(在其它方面,如果远程机上的sshd,在它的配置文件中是严格模式的话,这能够阻止你登陆。)。
如果这个 “-i”选项已经给出了,然后这个认证文件(默认是~/.ssh/id_rsa.pub)被使用,不管在你的ssh-agent那里是否有任何密钥。
另外,命令 “ssh-add -L” 提供任何输出,它使用这个输出优先于身份认证文件。
如果给出了参数“-i”选项,或者ssh-add不产生输出,然后它使用身份认证文件的内容。一旦它有一个或者多个指纹,它使用ssh,将这些指纹填充到远程机~/.ssh/authorized_keys文件中。
/usr/bin/ssh-copy-id: ERROR: No identities found
使用选项 -i ,当没有值传递的时候,或者如果 ~/.ssh/identity.pub 文件不可访问(不存在), ssh-copy-id 将显示上述的错误信息( -i选项会优先使用将ssh-add -L的内容)
ssh远程执行命令方法
复制SSH密钥到目标主机,开启无密码SSH登录
cd /root
ssh-keygen -t rsa
# 接下来一路回车到底
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
从某主机的9906端口开启到本地主机3306端口的隧道
#ssh -N -L 9906:localhost:3306 root@10.1.0.2
ssh -L 9906:10.1.0.2:3306 root@10.1.0.2
ssh -f -N -L 9906:10.1.0.2:3306 root@10.1.0.2
ssh -f -N -L 10.1.0.1:9906:10.1.0.2:3306 root@10.1.0.2
现在你可以直接在浏览器中输入http://localhost:9906访问这个网站。
优秀链接:ssh端口转发:ssh隧道
将你的麦克风输出到远程计算机的扬声器
dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp
这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。
比较远程和本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile –
在比较本地文件和远程文件是否有差异时这个命令很管用。
通过SSH挂载目录/文件系统
sshfs name@server:/path/to/folder /path/to/mount/point
从http://fuse.sourceforge.net/sshfs.html下载sshfs,它允许你跨网络安全挂载一个目录。
通过中间主机建立SSH连接
ssh -t reachable_host ssh unreachable_host
Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的“隐藏”连接,创建起到unreachable_host的连接。
直接连接到只能通过主机B连接的主机A
ssh -t hostA ssh hostB
当然,你要能访问主机A才行。
创建到目标主机的持久化连接
ssh -MNf <user>@<host>
在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no
所有到目标主机的SSH连接,都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),这个命令将非常有用,因为每次打开一个SSH连接时,不会创建新的套接字。
通过SSH连接屏幕
ssh -t remote_host screen –r
laptop> ssh server.com screen -ls
#它会显示在server.com上可用的屏幕列表像这样[1]:
123.foo
456.bar
#登录到server.com并做
screen -S foo
#然后再不再注销该会话。
#要从别处重新连接,请执行
ssh -t server.com screen -dr foo
#要列出可用屏幕以进行重新对比:
screen -ls
#或者,当然,
ssh server.com screen -ls
直接连接到远程屏幕会话(节省了无用的父bash进程)。
端口检测(敲门)
knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000
在一个端口上,敲一下,打开某个服务的端口(如SSH),再敲一下关闭该端口,需要先安装knockd,下面是一个配置文件示例。
[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
清除原有旧ssh密钥方法
#ssh-keygen -R <the_offending_host>
#比如我们要将 的公钥信息清除,使用命令(请自己将 替换成自己的IP或域名):
ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.0.1
#其中 -f filename 指定密钥文件名。
# -R hostname 从 known_hosts 文件中删除所有属于 hostname 的密钥。
在这种情况下,最好使用专业的工具。
通过SSH运行,执行复杂的远程shell命令
ssh 172.16.8.33 -l user $(<cmd.txt)
#更具移植性的版本:
ssh 172.16.8.33 -l user “`cat cmd.txt`”
ssh 172.16.8.33 -l root
替代方案:使用expect+bash shell,在ssshHost.sh脚本中封装expect的ssh登录自动填充密码功能。
- 使用expect的自动填充密码功能+interact交互功能。
- 将(hostIp, connectionStr)写入配置文本或者直接在shell脚本作为字典。
- shell读取用户输入hostIp,匹配出connectionStr,调用expect进行ssh登录,相关操作完成后ctrl+d退出。
通过SSH将MySQL数据库复制到新服务器(迁移数据库最快的方法)
mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASS NEW_DB_NAME”
通过压缩的SSH隧道,Dump一个MySQL数据库,将其作为输入传递给mysql命令,迁移数据库到新服务器最快最好的方法。
删除文本文件中的一行,修复“SSH主机密钥更改”的警告
sed -i 8d ~/.ssh/known_hosts
从一台没有SSH-COPY-ID命令的主机,将你的SSH公钥复制到服务器。
cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys”
如果你使用Mac OS X,或其它没有ssh-copy-id命令的*nix变种,这个命令可以将你的公钥复制到远程主机,因此你照样可以实现无密码SSH登录。
实时SSH网络吞吐量测试
rpm -ivh pv-1.6.0-1.x86_64.rpm
tar -cf - --exclude=.snapshot *| pv -s $(du -sb . | awk 'print $1') |tar -xf - -C /nas_ipr_new
yes | pv | ssh 172.16.8.13 "cat > /dev/null"
通过SSH连接到主机,显示实时的传输速度,将所有传输数据指向/dev/null,需要先安装pv。
#如果是Debian:
apt-get install pv
#如果是Fedora:
yum install pv
(可能需要启用额外的软件仓库)。
如果建立一个可以重新连接的远程GNU screen
ssh -t user@some.domain.com /usr/bin/screen –xRR
人们总是喜欢在一个文本终端中打开许多shell,如果会话突然中断,或你按下了“Ctrl-a d”,远程主机上的shell不会受到丝毫影响,你可以重新连接,其它有用的screen命令有“Ctrl-a c”(打开新的shell)和“Ctrl-a a”(在shell之间来回切换),请访问http://aperiodic.net/screen/quick_reference阅读更多关于screen命令的快速参考。
继续SCP大文件
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file
#它可以恢复失败的rsync命令,当你通过VPN传输大文件,如备份的数据库时这个命令非常有用,需要在两边的主机上安装rsync。
rsync –partial –progress –rsh=ssh $file_source $user@$host:$destination_file local -> remote
#或
rsync –partial –progress –rsh=ssh $user@$host:$remote_file $destination_file remote -> local
通过SSH W/ WIRESHARK分析流量
ssh root@server.com ‘tshark -f “port !22″ -w -' | wireshark -k -i –
#使用tshark捕捉远程主机上的网络通信,通过SSH连接发送原始pcap数据,并在wireshark中显示,
#按下Ctrl+C将停止捕捉,但也会关闭wireshark窗口,
#可以传递一个“-c #”参数给tshark,让它只捕捉“#”指定的数据包类型,
#或通过命名管道重定向数据,而不是直接通过SSH传输给wireshark,
#建议你过滤数据包,以节约带宽,tshark可以使用tcpdump替代:
ssh root@example.com tcpdump -w – ‘port !22′ | wireshark -k -i –
保持SSH会话永久打开
autossh -M50000 -t server.example.com ‘screen -raAd mysession’
打开一个SSH会话后,让其保持永久打开,对于使用笔记本电脑的用户,如果需要在Wi-Fi热点之间切换,可以保证切换后不会丢失连接。
更稳定,更快,更强的SSH客户端
ssh -4 -C -c blowfish-cbc
强制使用IPv4,压缩数据流,使用Blowfish加密。
使用cstream控制带宽
tar -cj /backup | cstream -t 777k | ssh host ‘tar -xj -C /backup’
使用bzip压缩文件夹,然后以777k bit/s速率向远程主机传输。Cstream还有更多的功能,请访问http://www.cons.org/cracauer/cstream.html#usage了解详情,例如:
echo w00t, i’m 733+ | cstream -b1 -t2
一步将SSH公钥传输到另一台机器
ssh-keygen; ssh-copy-id user@host; ssh user@host
这个命令组合允许你无密码SSH登录,注意,如果在本地机器的~/.ssh目录下,已经有一个SSH密钥对,ssh-keygen命令生成的新密钥可能会覆盖它们,ssh-copy-id将密钥复制到远程主机,并追加到远程账号的~/.ssh/authorized_keys文件中,使用SSH连接时,如果你没有使用密钥口令,调用ssh user@host后不久就会显示远程shell。
将标准输入(stdin)复制到你的X11缓冲区
ssh user@host cat /path/to/some/file | xclip
你是否使用scp,将文件复制到工作用电脑上,以便复制其内容到电子邮件中?xclip可以帮到你,它可以将标准输入复制到X11缓冲区,你需要做的就是,点击鼠标中键粘贴缓冲区中的内容。
yum install xclip
#终端输出保存到剪切板中
ls -al | xclip
此时ls -al的输出内容,已经保存在剪切板中了,此时xclip -o可以看到剪切板的内容。
但此时还不可以粘贴到终端以外的程序中,此时需要用到:
#xclip -selection c
ls -al | xclip -selection c
#文件内容复制到剪切板中
xclip /etc/apt/sources.list
xclip -selection c /etc/apt/sources.list
#剪切板内容输出到终端
xclip -o
xclip -selection c -o
#剪切板内容输出到文件
xclip -o > ~/test.txt
xclip -selection c -o > ~/test.txt
如何防止SSH登录入侵
如何判断自己正在遭受ssh暴力破解
打开ssh的调测进行观察
ssh -vvv root@172.16.8.50
或者ssh登录服务器后,使用lastb命令。
#首次运行lastb命令会报下的错误:
#lastb: /var/log/btmp: No such file or directory
#Perhaps this file was removed by the operator to prevent logging lastb info.
#只需建立这个不存在的文件即可。
$#touch /var/log/btmp
#使用ssh的登录失败不会记录在btmp文件中。
$#lastb | head
root ssh:notty 110.84.129.3 Tue Dec 17 06:19 - 06:19 (00:00)
root ssh:notty 110.84.129.3 Tue Dec 17 04:05 - 04:05 (00:00)
root ssh:notty 110.84.129.3 Tue Dec 17 01:52 - 01:52 (00:00)
root ssh:notty 110.84.129.3 Mon Dec 16 23:38 - 23:38 (00:00)
leonob ssh:notty 222.211.85.18 Mon Dec 16 22:18 - 22:18 (00:00)
leonob ssh:notty 222.211.85.18 Mon Dec 16 22:18 - 22:18 (00:00)
root ssh:notty 110.84.129.3 Mon Dec 16 21:25 - 21:25 (00:00)
root ssh:notty 110.84.129.3 Mon Dec 16 19:12 - 19:12 (00:00)
root ssh:notty 110.84.129.3 Mon Dec 16 17:00 - 17:00 (00:00)
admin ssh:notty 129.171.193.99 Mon Dec 16 16:52 - 16:52 (00:00)
命令会显示最近错误登录的日志,包括通过ssh服务错误登录的日志,如果得到和上方显示差不多的情况,出现大量的输出,说明你的服务器,正在遭受黑客们的暴力破解。
如何防范暴力破解
修改远程登录端口
修改/etc/ssh/sshd_config文件中的Port ,将前方的#注释删除,并将22修改为你想要使用远程登录的端口,例如35678。
在防火墙上添加运行端口:
iptables -I INPUT -p tcp --dport 35678 -j ACCEPT
如果您使用的ubuntu系统并使用ufw,可以使用命令:
sudo ufw allow 35678
如果您使用CentOS7系统并使用firewalld,可以使用命令:
firewall-cmd --zone=public --add-port=35678/tcp --permanent
如果是使用云服务器,云服务商有提供外部防火墙,例如阿里云的安全组的情况下,还要在外部的安全组中,修改允许tcp端口35678端口的策略。
#最后使用
serivce sshd restart
#CentOS7用户使用
systemctl restart sshd
#重启sshd服务即可。
重启服务之后,登录服务器,都需要输入指定的远程端口,才能够登录服务器,大大降低了黑客攻击服务器的概率。
限制登录IP
如果你的公司,或者常常需要登录服务器的工作网络环境,拥有固定的IP地址时,限制登录IP地址,就可以很好的保护服务器免受黑客攻击。如果没有上述的条件,我们也可以通过搭建堡垒机,将所有服务器都设置为允许堡垒机的IP地址,登录即可保护您的服务器。
操作起来相当简单,首先在/etc/hosts.allow中加入如下信息:
sshd:172.16.*.*
这条信息,表示sshd服务,允许向IP地址为172.16开头的IP地址提供服务。
其次在/etc/hosts.deny中加入如下信息:
sshd:all:deny
这条信息,表示sshd服务不允许,向所有IP地址提供服务。
如此一来服务器将只有指定的IP地址可以访问。
使用非root用户登录
禁止root用户登录,并且设置,允许其他用户登录后,切换至root进行操作。这样黑客,如果想要通过ssh登录服务器,除了密码之外,首先他还需要知道服务器允许登录的用户,这样将大大降低黑客攻破ssh的可能性。
在服务器内创建一个用户
首先,在服务器内创建一个用户,fleapx:useradd fleapx
并且设置密码:passwd fleapx,当然密码需要尽量复杂。
允许此用户,能够以root用户身份运行命令
接下来我们需要允许此用户,能够以root用户身份运行命令。
使用visudo命令进入文本编辑模式,于92行附近
[root@localhost ~]# visudo
#然后在文件的最后面加入三行:
User_Alias USER_SU = test, test1
Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD: SU
ALL=(ALL) NOPASSWD:ALL
#或者下面三行:
User_Alias USER_SU = test, test1
#Cmnd_Alias SU = /bin/su
USER_SU ALL=(ALL) NOPASSWD: /bin/su
添加红色字体信息:"ALL=(ALL) NOPASSWD:ALL",保存退出后可以验证一下。
验证
- 首先使用su fleapx切换至fleapx用户,接下来,我们可以使用sudo su - 命令切换到root用户。
- 同样,我们也可以通过远程登录方式验证,使用ssh客户端,以fleapx用户登录系统后,再使用sudo su -命令进行切换。
- 再设置,可以通过fleapx用户,登录系统,并能够自由切换至管理员用户操作后,我们需要禁止root用户,通过远程方式登录系统。
在/etc/ssh/sshd_config文件内添加“PermitRootLoginno”,后重启sshd服务。启动后,root用户,就将无法通过ssh服务,直接连接到服务器。
总结
SSH在linux中是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器。那么ssh协议的优点就是数据传输是加密的,可以防止信息泄露,而且数据传输是压缩的,可以提高传输速度。
当然,在方便同时,还存在黑客通过ssh暴力破解登录服务器的情况,例如使用密钥登录服务器等,总结以下6条防止SSH登录入侵及被破解的方法技术。
1、用密钥登录,不用密码登陆
2、牤牛阵法:解决SSH安全问题
a.防火墙封闭SSH,指定源IP限制(局域网、信任公网)
b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)。
3、尽量不给服务器外网IP
4、最小化(软件安装-授权)
5、给系统的重要文件或命令做一个指纹
6、保护Linux系统文件被篡改,加上给他锁命令 chattr +i +a
附注:他锁命令详解
#锁定文件的格式(文件将无法被修改、追加和删除)
$# chattr +i aaa.txt
#解锁文件的格式(文件将可以被修改、追加和删除)
$# chattr -i aaa.txt
#锁定文件后仅可追加内容的格式(文件将无法被修改和删除,但是可以被追加新内容)
$# chattr +a aaa.txt
#解锁文件只可被追加内容的格式(文件将取消无法被修改和删除,但红四可以被追加新内容的状态)
$# chattr -a aaa.txt
# 使用 (-R 递归地修改目录以及其下内容的属性) , 即可保护好directory目录下的所有内容.
# 设置了’i’属性的文件不能进行修改,只有超级用户可以设置或清除该属性.
$#chattr -R +i directory/
但保护整个业务系统的安全,最为重要的不是几个技术点,而是在结构设计的时候,就预先考虑到安全的因素,例如不需要向公网提供服务的服务器,就不设置公网IP地址,配置安全可靠的堡垒机。
以上是关于如何破解无线网络密钥?的主要内容,如果未能解决你的问题,请参考以下文章