2022全国职业技能大赛-网络安全赛题A模块解析(超详细)

操作系统为CentOS7

A-1 任务一 登录安全加固(Windows, Linux)

请对服务器 Windows、Linux 按要求进行相应的设置,提高服务
器的安全性。

1.密码策略(Windows, Linux)

a.最小密码长度不少于 13 个字符;

b.密码必须符合复杂性要求。

步骤1:安装libpwquality

首先,确保你已经安装了libpwquality包,这是用于密码策略配置的工具。

yum install libpwquality

在这里插入图片描述

步骤2:编辑/etc/security/pwquality.conf文件

接下来,需要编辑/etc/security/pwquality.conf文件来设置密码策略。

 vi /etc/security/pwquality.conf

在这里插入图片描述

在文件中添加或修改以下内容:

minlen = 13
minclass = 4
  • minlen参数设置最小密码长度,这里我们设置为13。
  • minclass参数设置密码复杂性要求。值为4表示密码必须包含至少一个小写字母、大写字母、数字和特殊字符。
    在这里插入图片描述
步骤3:编辑/etc/pam.d/system-auth文件

接下来,需要配置PAM(可插入认证模块)来使用这些策略。编辑/etc/pam.d/system-auth文件:

vi /etc/pam.d/system-auth

在这里插入图片描述

找到以下行,并添加参数(不论先后顺序,ucredit\lcredit\dcredit\ocredit
):

password    requisite    pam_pwquality.so  try_first_pass retry=3  ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
参数解释
  • password: 这是 PAM(可插入认证模块)中的一个管理组,表示这个规则适用于密码管理。

  • requisite: 这是 PAM 控制标志之一,表示如果此模块失败,则立即返回失败状态,并且不调用堆栈中剩余的模块。简单来说,如果 pam_pwquality.so 模块未能通过认证,整个认证过程将立即终止。

  • pam_pwquality.so: 这是具体执行密码质量检查的模块。pwquality模块用于强制执行密码复杂性要求。

  • try_first_pass: 这个选项告诉 PAM 尝试使用用户第一次输入的密码。如果第一次输入的密码不符合策略要求,PAM 会提示用户重新输入。

  • retry=3: 这个选项允许用户有三次机会输入符合要求的密码。如果用户连续三次输入的密码都不符合策略要求,认证将失败。

  • ucredit=-1: 这个选项表示密码中必须至少包含一个大写字母。ucredit的负值表示需要多少个大写字母。

  • lcredit=-1: 这个选项表示密码中必须至少包含一个小写字母。lcredit的负值表示需要多少个小写字母。

  • dcredit=-1: 这个选项表示密码中必须至少包含一个数字。dcredit的负值表示需要多少个数字。

  • ocredit=-1: 这个选项表示密码中必须至少包含一个特殊字符。ocredit的负值表示需要多少个特殊字符。
    在这里插入图片描述
    在这里插入图片描述

A-2 任务二 Nginx 安全策略(Linux)

进入配置文件 /etc/nginx/nginx.conf
vi /etc/nginx/nginx.conf 

在这里插入图片描述

3.禁止目录浏览和隐藏服务器版本和信息显示;

要在 Nginx 中实现这些安全策略,需要修改 Nginx 配置文件。

(1). 禁止目录浏览

在 Nginx 配置文件中(通常是 /etc/nginx/nginx.conf 或者某个包含特定站点配置的文件),设置 autoindex 指令为 off
http 块中添加以下配置来禁止目录浏览


    autoindex off;

在这里插入图片描述

(2). 隐藏服务器版本和信息显示

http 块中添加以下配置来隐藏服务器版本:

server_tokens off;

在这里插入图片描述

4.限制 HTTP 请求方式,只允许 GET、HEAD、POST;

/etc/nginx/conf.d/default.conf 是 Nginx 的默认配置文件,可以在其中添加或修改配置。将 if 语句写入该文件,以限制除了 GET、HEAD 和 POST 之外的所有请求方法,并返回 501 Not Implemented 状态码,是一种常见的做法。

以下是如何修改 /etc/nginx/conf.d/default.conf 文件的示例:

  1. 打开 default.conf 文件:
vi /etc/nginx/conf.d/default.conf
  1. server 块中添加以下配置:
server {
    listen 80 default_server;
    server_name _;

    # 其他配置...

    # 限制请求方法
    if ($request_method !~* ^(GET|HEAD|POST)$ ) {
        return 501;
    }

    # 其他配置...
}
  1. 保存并关闭文件。

在这里插入图片描述

在这里插入图片描述

5.设置客户端请求主体读取超时时间为 10;

添加 client_body_timeout 指令:在 http 块中添加以下配置:

http {
    # ... 其他全局配置 ...

    client_body_timeout 10s;  # 设置全局超时时间

    # ... 其他全局配置 ...
}

在这里插入图片描述

6.设置客户端请求头读取超时时间为 10;

. http 块中添加 client_header_timeout 指令

http {
    # ... 其他全局配置 ...

    client_header_timeout 10s;  # 设置客户端请求头读取超时时间为 10 秒

    # ... 其他全局配置 ...
}

在这里插入图片描述

7.将 Nginx 服务降权,使用 www 用户启动服务。

(1).添加 user 指令
添加 user www; 指令,指定 Nginx 运行的用户。例如:


user www;  # 设置 Nginx 运行的用户为 www

(2).保存并关闭配置文件

在这里插入图片描述

是用nginx -t 命令查看配置文件是否有错

nginx -t

在这里插入图片描述
重启Nginx服务,让配置生效

systemctl restart nginx

在这里插入图片描述
查看状态

systemctl status nginx

在这里插入图片描述

A-4 任务四 中间件服务加固 SSHD\VSFTPD\IIS(Windows, Linux)

11.SSH 服务加固(Linux)

a.修改 ssh 服务端口为 2222;

  1. 编辑 SSH 配置文件:

    vi /etc/ssh/sshd_config
    

在这里插入图片描述

  1. 找到 Port 行并将其修改为 2222:

    Port 2222
    

在这里插入图片描述

b.ssh 禁止 root 用户远程登录;

  1. 编辑 SSH 配置文件:

    vi /etc/ssh/sshd_config
    

在这里插入图片描述

  1. 找到 PermitRootLogin 行并将其修改为 no

    PermitRootLogin no
    

在这里插入图片描述

c.设置 root 用户的计划任务。每天早上 7:50 自动开启 ssh 服务,22:50 关闭;每周六的 7:30 重新启动 ssh 服务;

  1. 使用 crontab 编辑 root 用户的计划任务:

    crontab -e
    

在这里插入图片描述

  1. 添加以下条目:

    # 每天早上7:50启动SSH服务
    50 7 * * * systemctl start sshd
    
    # 每天晚上22:50关闭SSH服务
    50 22 * * * systemctl stop sshd
    
    # 每周六的7:30重新启动SSH服务
    30 7 * * 6 systemctl restart sshd
    

在这里插入图片描述

  1. 保存并退出编辑器。
  2. 使用命令crontab -l 确认任务是否生效
crontab -l

在这里插入图片描述

d.修改 SSHD 的 PID 档案存放地。

为了加强 SSH 服务的安全性,您可以按照以下步骤进行配置:

  1. 编辑 SSH 配置文件:

    vi /etc/ssh/sshd_config
    

在这里插入图片描述

  1. 找到 PidFile 行并将其修改为新的路径(例如 /root/sshd.pid):

    PidFile /root/sshd.pid
    

在这里插入图片描述

  1. 保存并退出文件,然后重新启动 SSH 服务:

    systemctl restart sshd
    

在这里插入图片描述

4.查看服务运行状态

systemctl status sshd

在这里插入图片描述

5、验证(这里就验证端口)

netstat -antlp | grep sshd

在这里插入图片描述

12.VSFTPD 服务加固(Linux)

a.设置运行 vsftpd 的非特权系统用户为 pyftp;

编辑 vsftpd 配置文件
打开 vsftpd 配置文件 /etc/vsftpd/vsftpd.conf,添加或修改以下配置项:

nopriv_user=pyftp

在这里插入图片描述
在这里插入图片描述

b.限制客户端连接的端口范围在 50000-60000;

  1. 编辑 vsftpd 配置文件
    /etc/vsftpd/vsftpd.conf 文件中添加以下行:
    pasv_min_port=50000
    pasv_max_port=60000
    

在这里插入图片描述
在这里插入图片描述

c.限制本地用户登录活动范围限制在 home 目录。

编辑 vsftpd 配置文件
/etc/vsftpd/vsftpd.conf 文件中添加或修改以下行:

chroot_local_user=YES

在这里插入图片描述

3. 重启 VSFTPD 服务

重启 VSFTPD 服务以使新的配置生效:

 systemctl restart vsftpd

在这里插入图片描述

4. 验证服务状态

确认 VSFTPD 服务已成功启动并正在运行:

 systemctl status vsftpd

在这里插入图片描述

5. 验证配置生效(只 验证非特权用户 pyftp)

确保 vsftpd 是以你指定的非特权用户 pyftp 运行的:

ps aux | grep vsftpd

在这里插入图片描述

A-6 任务六 防火墙策略(Linux)

19.设置防火墙允许本机转发除 ICMP 协议以外的所有数据包;

下面是针对每个任务的详细防火墙策略配置。我们将使用 iptables 来实现这些策略。

  1. 启用 IP 转发:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    

在这里插入图片描述

  1. 修改 /etc/sysctl.conf 文件以永久启用 IP 转发:
    net.ipv4.ip_forward = 1
    

在这里插入图片描述
在这里插入图片描述

  1. 设置 iptables 规则允许转发除 ICMP 协议以外的所有数据包:
    iptables -A FORWARD -p icmp -j DROP
    iptables -A FORWARD -j ACCEPT
    

在这里插入图片描述

20.为防止 Nmap 等扫描软件探测到关键信息,设置 iptables 防火墙策略对 80 号端口进行流量处理;

  1. 阻止 Nmap 探测:
    iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
    iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
    
    
    

在这里插入图片描述

21.为防御拒绝服务攻击,设置 iptables 防火墙策略对传入的流量进行过滤,限制每分钟允许 3 个包传入,并将瞬间流量设定为一次最多处理 6 个数据包(超过上限的网络数据包将丢弃不予处理)

设置限制规则:

 iptables -A INPUT -m limit --limit 3/minute --limit-burst 6 -j ACCEPT
 iptables -A INPUT -j DROP

在这里插入图片描述

22.只允许转发来自 172.16.0.0/24 局域网段的 DNS 解析请求数据包。

  1. 设置允许转发来自 172.16.0.0/24 的 DNS 请求:
    iptables -A FORWARD -p udp -s 172.16.0.0/24 --dport 53 -j ACCEPT
    iptables -A FORWARD -p tcp -s 172.16.0.0/24 --dport 53 -j ACCEPT
    
    在这里插入图片描述

保存和加载 iptables 配置

为了确保在重启后规则依然有效,可以使用以下命令保存规则:

保存当前规则(CentOS 7):

   service iptables save

在这里插入图片描述

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全国网络与信息安全管理职业技能大赛-操作技能赛题(a 卷).doc是一份关于网络与信息安全管理的操作技能赛题。这份比赛题包括了网络安全技术、信息安全管理、系统安全管理等多个方面的内容。参加者需要通过实际操作来展示他们在这些领域的专业技能和能力。 在比赛中,参赛者需要完成一系列的操作任务,包括网络设备配置、安全漏洞扫描与修复、数据加密与解密、安全策略制定与实施等。这些任务涵盖了网络安全的各个方面,要求参赛者具备扎实的理论知识和实际操作能力。 这份比赛题目的设计旨在考察参赛者对网络与信息安全的综合运用能力,要求他们能够熟练地操作各种安全工具和设备,快速准确地识别和解决安全问题。参赛者需要在限定的时间内完成任务,并保证操作的准确性和安全性。 参加全国网络与信息安全管理职业技能大赛-操作技能赛题(a 卷)的参赛者将有机会在实践中展现自己的专业水平,同时也能够与其他行业内的专业人士进行交流与学习。这对于参赛者来说是一次宝贵的学习和锻炼机会,也将有助于推动网络与信息安全管理领域的人才培养和技术发展。Overall, 全国网络与信息安全管理职业技能大赛-操作技能赛题(a 卷).doc是一份具有挑战性和指导性的比赛题目,将为网络与信息安全管理领域的专业人才竞争和发展提供有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值