赞
踩
systemctl enable 服务名 #开机自启动
systemctl disable 服务名 #禁用开机自启动
systemctl stop 服务名 #停止服务
systemctl start 服务名 #启动服务
systemctl restart 服务名 #重启服务
systemctl status 服务名 #查看服务状态
service 服务名 start|stop|restart #启动/停止/重启 服务
chkconfig --list #查看启动服务
systemctl list-unit-files #列出systemd服务
在我们Linux系统当中,默认的情况下,所有的系统上的帐号与一般身份使用者,还有root的相关信息,
都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。
此外,Linux所有的群组名称都纪录在/etc/group内!这三个文件可以说是Linux系统里面帐号、密码、群组信息的集中地。/etc/passwd文件将每个用户的详细信息写为一行,其中包含七个字段,每个字段之间用冒号
: 分隔。
使用cat /etc/passwd
命令查看系统所有用户
[root@localhost ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin test:x:1000:1000::/home/test:/bin/bash
比如
test:x:1000:1000::/home/test:/bin/bash
字段解释:
useradd 用户名
#删除不必要的账号。
userdel 用户名
#锁定不必要的账号。
passwd -l 用户名
#解锁必要的账号。
passwd -u 用户名
#给账户设置密码
passwd 用户名
查看空口令和root权限账号,确认是否存在异常账号:
#查看空口令账号
awk -F: '($2=="")' /etc/shadow
#查看UID为零的账号,UID为0就是root权限账号
awk -F: '($3==0)' /etc/passwd
加固空口令账号:
#给账户设置密码
passwd 用户名
确认UID为零的账号只有root账号。
加强口令的复杂度等,降低被猜解的可能性。
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
例如:
chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>
表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码2000年1月1日过期,过期前七天警告用户。
vi /etc/pam.d/system-auth
在password sufficient这行后面添加remember=5
password sufficient pam_unix.so use_authtok md5 shadow remember=5
4.设置密码复杂程度,允许重试3次,新密码必须与旧密码有4位不同,最小位数6位,大写字母至少包含2位,小写字母至少包含3位,特殊字母个数至少包含1位。
使用pam_pwquality模块设置密码复杂度。
vi /etc/pam.d/system-auth
找到password requisite pam_pwquality.so这行(Centos6是password requisite
pam_cracklib这行),在后面添加retry=3 difok=4 minlen=6 ucredit=-2 lcredit=-3 ocrdit=-1
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=4 minlen=6 ucredit=-2 lcredit=-3 ocrdit=-1 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so
解释:
注意:此项配置只对控制台登录有效,ssh登录无效。
vi /etc/pam.d/system-auth
在第一个auth行下加入一行
auth required pam_tally2.so onerr=fail deny=5 unlock_time=1800 root_unlock_time=1800 even_deny_root root_unlock_time=1800
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_tally2.so onerr=fail deny=5 unlock_time=1800 root_unlock_time=1800 even_deny_root root_unlock_time=1800
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
解释:
pam_tally2
查看被锁定的用户pam_tally2 --reset -u username
可以将被锁定的用户解锁限制能su到root的用户
使用命令 vi /etc/pam.d/su
修改配置文件,在配置文件中添加行。
例如:只允许test组用户su到root,则添加 auth required pam_wheel.so group=test
针对所有用户设置,修改/etc/profile文件。比如设置超时时间为30分钟。
vi /etc/profile
在文件末尾加上(单位是秒)
#1800秒
export TMOUT=1800
最后刷新配置文件即可生效。
source /etc/profile
Secure Shell最著名的名称SSH是为远程安全地连接IT系统而开发的协议。SSH的配置文件是/ect/ssh/sshd_config
首先创建普通权限账号并配置密码,防止无法远程登录。
使用命令 vi /etc/ssh/sshd_config
修改配置文件
找到 # Authentication这行的下面,将PermitRootLogin的值改成no,并保存。
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
最后重启服务
service sshd restart
sshv1是过时不安全协议,已被废弃。
vi /etc/ssh/sshd_config
在文件中增加以下内容
Protocol 2
重启服务生效
systemctl restart sshd
Port 2026
重启服务生效
systemctl restart sshd
vi /etc/ssh/sshd_config
ClientAliveInterval 120
ClientAliveCountMax 5
重启服务生效
systemctl restart sshd
解释:除了root之外的所有用户都是120秒登录超时,自动登出。检测到5次不活动就断开连接。
比如:SSH登录密码错误3次,锁定账户3分钟。
vi /etc/pam.d/sshd
在#%PAM-1.0下添加一行
auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time300
解释:
pam_tally2
查看被锁定的用户pam_tally2 --reset -u username
可以将被锁定的用户解锁重启服务生效
systemctl restart sshd
默认情况下,启用公钥身份验证,但是显式启用它会使其更加可靠。
vi /etc/ssh/sshd_config
PubkeyAuthentication yes
重启服务生效
systemctl restart sshd
用户公钥文件保存路径,默认为用户的home目录下.ssh隐藏文件夹中的authorized_keys,建议更换到其他目录,防止丢失或者被恶意登陆者在默认的这个路径中找到篡改。
vi /etc/ssh/sshd_config
AuthorizedKeysFile .ssh/authorized_keys
重启服务生效
systemctl restart sshd
比如:配置SSH服务,设置RSA证书登录。
#不允许密码登录
PasswordAuthentication no
#不允许root认证登录
PermitRootLogin no
#允许RSA数字证书
RSAAuthentication yes
#允许公钥登录
PubkeyAuthentication yes
#修改默认公钥存放的位置
AuthorizedKeysFile .ssh/authorized_keys
重启服务生效
systemctl restart sshd
默认情况下,系统上创建的所有用户都可以远程登录。 为所有用户提供远程登录机会不是一个好的安全习惯。
我们可以限制指定用户的登录。比如:只允许honor这个用户使用SSH远程登录,其他用户不能。
vi /etc/ssh/sshd_config
AllowUsers honor
重启服务生效
systemctl restart sshd
限制用户登录的另一种方法是通过指定没有权限使用ssh远程登录的用户帐户。 除指定用户之外的所有其他用户将具有远程访问权限。
vi /etc/ssh/sshd_config
DenyUser root
重启服务生效
systemctl restart sshd
默认情况下,启动ssh服务时,它将在所有接口和IP地址上运行。 如果系统具有多个网络接口(其中一些接口不安全),则可能会产生一些安全问题。
我们可以限制ssh服务接口的运行。 ssh服务将不接受来自其他接口的连接。
vi /etc/ssh/sshd_config
ListenAddress 10.0.0.10
StrictMode在ssh服务器启动之前检查某些情况。 在ssh守护程序启动之前,将执行ssh密钥,配置文件所有权,权限检查。
如果其中之一失败,ssh服务器守护程序将不会启动。 严格模式默认情况下处于启用状态,但通常由系统管理员关闭。 出于安全原因应启用它。
vi /etc/ssh/sshd_config
StrictMode yes
重启服务生效
systemctl restart sshd
ssh的最佳功能之一是通过远程连接转发X11。 对于某些系统管理员和用户来说,这是非常有用的功能。 但这会在系统中创建一些安全漏洞。
如果不需要X11转发,请禁用它。
vi /etc/ssh/sshd_config
X11Forwarding no
重启服务生效
systemctl restart sshd
vi /etc/ssh/sshd_config
显示系统banner信息,如果开启会在每次登陆时显示系统信息,减少恶意登陆者获取的信息量,防止被恶意利用。
Banner NONE
重启服务生效
systemctl restart sshd
vi /etc/ssh/sshd_config
最多登录尝试次数,建议值设置小一点,加大暴力破解难度。
MaxAuthTries 3
重启服务生效
systemctl restart sshd
vi /etc/ssh/sshd_config
PidFile /var/run/sshd.pid
重启服务生效
systemctl restart sshd
本质是设置Linux计划任务(定时任务)
crontab -e
按i键进入编辑模式,输入以下内容
50 7 * * * /etc/init.d/sshd start
50 22 * * * /etc/init.d/sshd stop
30 7 * * 6 /etc/init.d/sshd start
保存退出,使用命令crontab -l
可查看创建的计划任务。
解释:
crontab [-u username] #省略用户表表示操作当前用户的crontab
-e #(编辑工作表)
-l #(列出工作表里的命令)
-r #(删除工作作)
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面,每行是一条命令。
crontab的命令构成为:时间+动作,其时间有分、时、日、月、周五种,操作符有
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
, 散列数字
telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。Linux系统默认没有安装该服务,Linux系统安装telnet服务后,配置文件在/etc/xinetd.d/telent
如果配置文件不存在则自己创建。
使用命令vi /etc/service
找到Telnet,将默认23端口号改成自定义端口号,比如2330。然后使用命令service xinetd restart
重启服务。
如果安装了Telnet服务需要禁用,可以在配置文件vi /etc/xinetd.d/telent
新增一行disable = yes
,然后用命令service xinetd restart
重启服务。
vi /etc/xinetd.d/telent
在配置文件里面输入如下内容
service telnet
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
instances = 10
per_source = 1
}
解释:
instances:最大连接数,也可赋值为“UNLIMITED”表示不限制。
cps:第一个参数表示每秒处理的连接数,第二个参数表示如果连接数超过第一个参数时暂时停止连接请求的秒数。
比如:
cps 100 10
per_source:单个IP允许的最大连接数。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX
类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-
UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP
服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
ftp服务默认端口是21,通常情况修改成自定义端口会更加安全。
第一步:使用命令vi /etc/service
找到ftp,将默认21端口号改成自定义端口号,比如8021。
第二步:vi /etc/vsftpd/vsftpd.conf
如果文件中有Listen_port=21
,则将21修改为8021,否则添加一行Listen_port=8021
,最后重启服务service vsftpd restart
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
nopriv_user=pyftp
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
pasv_min_port=50000
pasv_max_port=60000
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
chroot_local_user=YES
vsftpd服务通过配置文件/etc/vsftpd/ftpusers
限制用户ftp连接服务器。在该文件中的用户都不能通过ftp登录服务器。每个被限制的用户名各占一行,该文件一般只能通过root用户维护。
如果用户名包含在该文件中,那么这个用户使用ftp连接服务器时,一般会报错User xxxxx access denied
。为了让某用户能够通过ftp连接服务器,可以在/etc/vsftpd/ftpusers
文件中注释掉或者删除该用户名。
[root@localhost vsftpd]# cat /etc/vsftpd/ftpusers # Users that are not allowed to login via ftp 以下用户不能登录ftp root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anonymous_enable=NO
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anon_upload_enable=NO
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anon_mkdir_write_enable=NO
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anon_other_write_enable=NO
如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anon_umask=022
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
#单位是秒
data_connection_timeout=300
拓展:
connect_timeout=300
accept_timeout=300
data_connection_timeout=300
idle_session_timeout=300
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
anon_max_rate=512000
vi /etc/vsftpd/vsftpd.conf
在配置文件中添加如下一行代码
local_max_rate=1000000
Apache HTTP
Server(简称Apache)是Apache软件基金会的一个开放源码的Web服务器软件。Linux安装httpd服务后,配置文件在/etc/httpd/conf/httpd.conf
注:配置文件的修改都需要重启服务才会生效。
httpd服务默认端口是80
vi /etc/httpd/conf/httpd.conf
Listen 6666
vi /etc/httpd/conf/httpd.conf
找到配置文件中Options Indexes FollowSymLinks
将Indexes删除
Options FollowSymLinks
vi /etc/httpd/conf/httpd.conf
添加如下代码
#隐藏Apache版本号
ServerTokens Prod
#隐藏操作系统版本信息
ServerSignature OFF
vi /etc/httpd/conf/httpd.conf
修改成如下
User apache
Group www
如果要修改网站的httpd服务为root权限
User root
Group root
rotatelogs是apache自带的日志按日期生成的模块。
[root@localhost httpd]# find / -name rotatelogs
/usr/sbin/rotatelogs
vi /etc/httpd/conf/httpd.conf
修改成如下
#ErrorLog logs/error_log #注释此行,添加下面这行
ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/error_log%Y%m%d.log 86400 480"
#CustomLog logs/access_log common
#CustomLog "logs/access_log" combined
#注释上面两行,添加下面这行
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log%Y%m%d.log 86400 480" common
bind服务是全球范围内使用最广泛、最安全可靠且高效的域名解析(DNS)服务程序。
/etc/named.conf
:有效的参数用来定义bind服务程序的运行/etc/named.rfc1912.zones
:用来保存域名和IP地址对应关系的所在文件路径,当需要查看和修改时,可根据这个位置找到相关文件。在这个文件中并没有包含具体的域名、IP地址对应关系等信息。/var/named
:该目录用来保存域名和IP地址真实对应关系的数据配置文件。vi /etc/named.conf
在配置文件中添加如下代码
options {
directory "/var/named";
version "[no about your business]";
};
vi /etc/named.conf
在配置文件中添加如下代码
options {
allow-recursion { none; };
};
设置默认的umask值,增强安全性。
vi /etc/profile
添加行,
umask 027
即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。
保障数据的安全性是继保障数据的可用性之后最为重要的一项工作。防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用。旧版本Linux操作系统防火墙命令用iptables,RHEL
7/8 中新增的firewalld命令。
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类:
处理匹配流量动作:
注意:
iptables中常用的参数以及作用:
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址 IP/MASK,加叹号“!”表示除这个 IP 外 |
-d | 匹配目标地址 |
-i 网卡名称 | 匹配从这块网卡流入的数据 |
-o 网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协议,如 TCP、UDP、ICMP |
- -dport num | 匹配目标端口号 |
- -sport num | 匹配来源端口号 |
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A INPUT -p udp --dport 23 -j DROP
直接丢弃 icmp 的请求包
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -s 172.16.1.1 -p 3306 -j DROP
iptables –A INPUT –p tcp –dport 22 –s 172.16.10.0/24 –j ACCEPT
iptables –A INPUT –p tcp –dport 22 -j DROP
iptables -A FORWARD -f -m limit --limit 1000/s --limit-burst 1000 -j ACCEPT
iptables -A FORWARD -p ! icmp -j ACCEPT
7.为防御拒绝服务攻击,设置iptables防火墙策略对传入的流量进行过滤,限制每分钟允许3个包传入,并将瞬间流量设定为一次最多处理6个数据包(超过上限的网络数据包将丢弃不予处理)
iptables -A INPUT -m limit --limit 3/minute --limit-burst 6 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 172.16.0.0/24 -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 29:0E:29:27:65:EF -j DROP
直接丢弃流出icpm数据包
iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --dport 21 -s 192.168.1.0/24 -m time --weekdays 1,2,3,4,5 --timestart 08:30 --timestop 18:00 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 21,1250:1280 -j ACCEPT
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A OUTPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -I INPUT -s 172.16.1.0/24 -j DROP
iptables -I FORWARD -s 172.16.1.0/24 -j DROP
at now +2 hours
at> iptables -D INPUT 1
at> iptables -D FORWARD 1
192.168.1.0网络中的主机访问要求从ftp服务的数据下载请求次数每分钟不得超过 5 个
iptables -A INPUT -s 172.16.0.0/16 -d 192.168.1.111 -p tcp --dport 21 -m time --timestart 8:30 --timestop 18:00 --weekdays 1,2,3,4,5 -m connlimit --connlimit-upto 5 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -j DROP
iptables -A INPUT -p tcp -m state --state ESTABLSHED,RELATED -j ACCEPT
Mysql基础命令
1.root用户登录
mysql -u root -p
2.查看所有数据库
show databases;
3.使用某个数据库
use 数据库名;
4.查看表(前提是先进入某个数据库)
show tables;
5.查看表结构
describe 表名;
6.删除某个数据库
drop database 数据库名;
7.新建Mysql用户
create user '用户名'@'localhost' identified by '密码';
8.查看Mysql用户表
select user,host from mysql.user;
9.删除Mysql用户
drop user '用户名'@'localhost';
10.刷新权限(例如你改了某个用户密码或者设置某些权限可以刷新)
flush privileges;
11.查找某表中的所有记录(表在数据库库中)
select * from 表名;
12.创建数据库(数据库不存在则创建)
create database if not exists 数据库名称;
在 /etc/my.cnf
配置文件中进行设置
vi /etc/my.cnf
[mysql.server]
user=mysql
drop database test
update user set user="SuperRoot" where user="root";
update user set password=md5(password) where user="user1";
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
/etc/nginx/nginx.conf
安装后默认配置文件的路径
/usr/share/nginx/html
nginx网站默认存放目录
/usr/share/nginx/html/index.html
网站默认主页路径
vi /etc/nginx/nginx.conf
添加如下代码
server tokens off;
vi /etc/nginx/conf.d/default.conf
添加如下代码
server {
if ($request_method !~ ^(GET|HEAD|POST)$){
return 501;
}
}
vi /etc/nginx/nginx.conf
添加如下代码
client_body_timeout 10;
vi /etc/nginx/nginx.conf
添加如下代码
client_header_timeout 10;
vi /etc/nginx/nginx.conf
添加如下代码
user www www;
接下来我将给各位同学划分一张学习计划表!
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。