网络安全为啥要学Linux系统,据不完全统计,Linux系统在数据中心操作系统上的份额高达70%。它一般运行于服务器和超级计算机上。
所以我们日常访问的网站后台和app后端都是部署在Linux服务器上的,如果你不会Linux系统操作,那么很多大厂服务器安全你将无法进行加固操作和渗透测试。
那我们该如何学习Linux系统?
首先要选择一个Linux发行的版本,rehat红帽可以作为初学者一个很好的入门Linux操作系统发行版本,正版红帽需要授权,如果你作为学生经费有限,那你可以选择centos系统,目前有centos7和8,本人建议可以从centos7系统入门,该版本网上教程很多,便于初学者完成各种系统操作和服务搭建。
在安装Linux操作系统的时候,会有图形界面模式和终端命令模式,个人建议初学者,不要安装图形界面模式,图形界面就像你的windows桌面操作系统一样,靠鼠标点击执行各种指令,这样会造成你对图形界面操作系统的一种依赖,而我们生产环境是没有图形界面的。所以从一开始我们就得养成一种终端命令行操作模式。
Linux入门必学
1、基础命令
ls 展示文件夹内容,在Linux里面你想查看当前目录内容,必须使用这个命令,这点和windows有比较大的区别,windows点击某个目录之后,自动会显示当前目录内容,而Linux不会。
>-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来~
>-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~
>-d :仅列出目录本身,而不是列出目录内的档案数据
>-f :直接列出结果,而不进行排序 (ls 预设会以档名排序!)
>-F :根据档案、目录等信息,给予附加数据结构,例如:
>*:代表可执行档; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案;
>-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来;
>-i :列出 inode 位置,而非列出档案属性;
>-l :长数据串行出,包含档案的属性等等数据;
>-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!)
>-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
>-R :连同子目录内容一起列出来;
>-S :以档案容量大小排序!
>-t :依时间排序
>--color=never :不要依据档案特性给予颜色显示;
>--color=always :显示颜色
>--color=auto :让系统自行依据设定来判断是否给予颜色
>--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
>--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)
>而非内容变更时间 (modification time)
- cd 切换目录
cd /home 切换到根目录(/)下的home目录,相当于你在windwos点击某个文件夹。
- pwd 查看当前路径
如果你你使用cd命令进入了很多层路径,不知道当前目录在哪里,那你可以是用pwd命令查看当前在哪个具体的绝对路径。
- cp 复制
>-a :将文件的特性一起复制
>-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
>-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
>-r :递归持续复制,用于目录的复制行为
>-u :目标文件与源文件有差异时才会复制
cp /home/zc.txt / 该命令含义为将home目录下的zc.txt文件复制到根目录下面。
IT问答库http://www.mobiletrain.org/qa/
- mv 移动文件 它相当于我们windows里面的剪切,而且它还有重命名的作用
>-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
>-i :若目标文件已经存在,就会询问是否覆盖
>-u :若目标文件已经存在,且比目标文件新,才会更新
像上面我举例到的Linux基础命令还有很多,我这里列出来,如果你不知道它具体用法可以使用 命令 --help 的方式查看某个命令的具体使用方法,如果还要查看更详细举例说明可以使用 man 某命令 的方法显示出它具体的使用说明。
mkdir,rmdir,rm,tar,gzip,ps,kill,killall,crontab,tree,free,top,chmod, chown,chgrp,useradd,usermod,userdel,groupadd,groupdel,sudo,passwd,groups,vi/vim,cat,more,less, tail,head,diff,ping,ssh,scp.telnet等
2、Lnux网络的学习
学习完基础Linux 命令以后,那你还得了解Linux网络配置,例如Linux的ip地址静态和动态配置,新增网卡后的ip配置,dns的配置,静态路由的配置,流量转发的配置等。
3、Linux服务的学习
在Linux系统上可以搭建很多服务,大部分常用的服务我们得学会搭建,因为Linux服务的安全也是我们必须关注的重点,像nginx,apache,mysql,redis,防火墙配置,FTP服务,samba服务,zabbix,crontab,dhcp,dns,stmp等,这些服务你首先会搭建,才能知道配置哪里可能会出现安全问题。
4、Linux服务器的加固
像学习了一些Linux服务配置以后,我们得学会如何去加固我们得linux服务器,
例如:ssh服务我们一般使用得端口是22
那我们可以将默认端口可以改成2000--65535中得某个,让别人在扫描我们服务器得时候,不容易发现ssh端口。
ssh远程登录也要禁止root登录,使用普通用户登录再切换到超级用户。
ssh的密码得使用pam统一认证规则,密码得用强密,而且得有密码输错3次,等待时间才能再次输入。