本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
22端口由来小故事:SSH设计者Tatu Ylonen设计SSH是为了替代telnet(端口23)和ftp(端口21),端口22在当时是空闲的,正好就在telnet和ftp的端口之间,他感觉这个端口号天然就带有可信度光环。于是就选择了端口22作为SSH的端口。原文可查看ssh-端口。
另外,Tatu Ylonen于1995年写的SSH,W·Richard Stevens 于1994年写的《TCP/IP详解卷I》,所以里面只有Telnet,而没有SSH。可以阅读RFC4250进行更详细的了解。
OpenSSH是SSH协议的免费开源实现,OpenSSH提供了服务端的程序(openssh-server)和客户端工具(openssh-client),接下来以OpenSSH为例,介绍一下SSH命令及高级配置
安装与开启服务
安装服务端/客户端(Ubuntu)
$ sudo apt install openssh-server/openssh-client
安装服务端/客户端(Centos)
$ sudo yum install openssh-server/openssh-client
查看ssh服务是否开启
$ netstat -tlp | grep ssh
启动/停止/重启 ssh服务
$ sudo /etc/init.d/ssh start/stop/restart
查看ssh服务是否开启
命令
ssh命令
SSH命令
选项 | 参数 | 含义 |
---|---|---|
–46AaCfGgKkMNnqsTtVvXxYy | 查看软件版本等信息 | |
-b | bind_address | 绑定ip地址,如xxx.xxx.xxx.xxx |
-c | cipher_spec | |
-D | [bind_address:]port | |
-E | log_file | 指定日志文件xxx//xx//xx.log |
-e | escape_char | |
-F | configfile | 指定配置文件 |
-i | identify_file | 认证文件 |
-J | [user@host[:port]] | |
-L | address | |
-l | login_name | |
-m | mac-spec | |
-O | ctl-cmd | |
-o | option | |
-p | port | 指定端口,默认22 |
-Q | query_option | |
-R | address | |
-S | ctl-path | |
-W | host:port | |
-w | local_tun[:remote_tun] | |
[user@]hostname [command] | 用于客户端连接服务器 |
版本等信息
注意
user
是远程服务器登录的用户名,默认为当前用户hostname是
远程服务器地址,可以是IP/域名/别名exit/logout
命令均可退出当前登录
接下来,展示一下连接ssh服务器
Windows连接Ubuntu
可以看到,使用SHA256进行了校验,生成了一个指纹,我们关闭连接,重连一次。
再次连接
再次连接,可以发现,已经没有了校验显示,输入密码后直接登录,稍微简便了一点。那么,校验记录存在哪呢?
cd ~/.shh
cat known_hosts
Windows下校验记录
第一条是我的GitLab的,就划掉了,第二条是刚才连接的。
Linux下校验记录
在~/.ssh/known_hosts文件中可以看到。接下来,我们就来详细看看一些配置。
高级配置
Linux下,ssh配置信息都保存在~/.ssh
中
配置文件 | 作用 |
---|---|
known_hosts | 作为客户端。记录曾连接服务器授权。ssh第一次连接一台服务器会有一个授权提示,确认授权后会记录在此文件中,下次连接记录中的服务器时则不再需要进行授权确认提示 |
authorized_keys | 作为服务端。客户端的免密连接公钥文件 |
config | 作为客户端。记录连接服务器配置的别名 |
后两个默认是不存在的,需要手动创建。下面Windows中也是仅有known_hosts文件的,另外两个是我给GitLab配置密钥文件时创建的。
Windows下
Windows下内容
服务器别名
每次都写IP地址,但是IP地址比较难记,我们可以去一个别名。新建一个config文件,内容如下:
Host Ubuntu
HostName 10.28.214.174
User llvm
Port 22
config文件
其中,Port可以不写,默认就是22端口。
别名登录
免密登录
通过以上,我们即可通过别名和密码登录了,但是每次都输入密码,比较麻烦,接下来我们看看免密登录。
客户端生成密钥对
ssh-keygen
参数
我一般是不用参数的,它会给一些提示,我一般全部按Enter,选择默认,这次由于文件路径名字重复,才改了一个。上面的参数,博主只感觉-t参数比较有用,但是密码学学的也不好,默认的rsa加密方式也很好,一般也是默认。
生成密钥文件
查看密钥文件
上传公钥到服务器
ssh-copy-id user@hostname
windows下没有这个命令,只能手动了。使用这个命令其实是将公钥追加到了服务器的authroized_keys文件中,我们把文件放到Ubuntu中,使用命令追加一下。
公钥上传成功
接下来,我们就可以使用密钥文件登录了
ssh -i id_rsa_ubuntu Ubuntu
密钥文件登录
还是有点麻烦,需要记着服务器需要使用哪个对应的私钥。我们再配置一下,添加私钥文件:
IdentityFile C:\Users\DELL\.ssh\id_rsa_ubuntu
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!