草庐IT

网络空间安全解析A模块解析

嗷空酒 2024-01-28 原文

目录


前言

博主来整活了。博主立下flag,这篇文章点赞量超出50,博主就发自己跳极乐净土的视频。


登录安全加固

密码策略

1,密码策略必须同时满足大小写字母、数字、特殊字符.将密码必须符合复杂性要求的属性配置界面截图:
(windwos,linux)

(vim /etc/pam.d/system-auth)

2,最小密码长度不少于8个字符,将密码长度最小值的属性配置界面截图:(windwos,linux)

(vim /etc/login.defs)

3,设置取得文件或其他对象的所有权,将该权限只指派给administrators组;
(windows)

4,禁止普通用户使用命令提示符;

进入本地组策略编辑器(gpedit.msc)

5,设置不显示上次登录的用户名:

登入策略

1,设置账户锁定阈值为6次错误锁定账户,锁定时间为1分钟复位账户锁定计数器为1分钟之后,将账户锁定策略配界面截图:(windows,linux)

 (vim /etc/pam.d/system-auth)

2,设置user1用户只能在上班时间(周一至周五的9:00~18:00)可以登录。将user1的登录时间配置界面截图:

Web安全加固

1,为了防止web中.mdb数据库文件非法下载,请对Web配置文件进行安全加固:

  更改《application.config》文件

2,防止文件枚举漏洞枚举网络服务器根目录文件,禁止IIS短文件名泄露,将配置命令截图;


2.5,关闭IIS的WebDAV功能增强网站的安全性,将警报提示信息截图。

3,限制目录执行权限,对picture和upload目录设置执行权限为无,将编辑功能权限的配置界面截图;

流量完整性保护

1,创建 www.chinaskills.com 站点,在 C:\web 文件夹内中创建
名称为 chinaskills.html 的主页,主页显示内容“热烈庆祝 2021 年
全国职业技能大赛开幕”,同时只允许使用 SSL 且只能采用域名(域
名为 www.test.com)方式进行访问,将网站绑定的配置界面截图:

先新建自制ssl证书

再新建www.chinaskills.com 站点

再更改hosts文件

再更改application.config文件

最后重定向http

中间件安全加固

SSH

1,SSH 禁止 root 用户远程登录,将配置文件
中对应的部分截图:

2,设置 root 用户的计划任务。每天早上 7:50 自动开启 SSH 服务,
22:50 关闭;每周六的 7:30 重新启动 SSH 服务,使用命令 crontab -l,将回显结果截图;

3,修改 SSH 服务端口为 2222,使用命令 netstat -anltp | grep sshd
查看 SSH 服务端口信息,将回显结果截图;

进入 etc/ssh/sshd_config更改Port注释

再使用命令(service sshd restart)重启ssh服务

4,修改 SSHD 的 PID 档案存放地,将/etc/ssh/sshd_config 配
置文件中对应的部分截图:

5,配置SSH服务,设置RSA证书登录,将配置文件中对应的部分截图:

VSFTPD

1,设置站点本地用户访问的最大传输速率为1M;配置文件中对应的部分截图:


2,vsftpd禁止匿名用户上传;

3,设置无任何操作的超时时间为5分钟;

4,匿名用户访问的最大传输速率为512KB/S

5,设置运行 vsftpd 的非特权系统用户为 pyftp,将相关配置项截图:

6,限制客户端连接的端口范围在 50000-60000,将配置文件下的相关配置项截图:

7, 限制本地用户登录活动范围限制在 home 目录,将相关配置项截图:


8,同一客户机IP地址允许最大客户端连接数10:

9, 设置数据连接的超时时间为2分钟

HTTPD

1,更改默认监听端口为6666;

2,设置禁止目录浏览;

3,隐藏Apache版本号:


4,将Apache服务降权,用户为apache,用户组为www:

5,修改网站的httpd服务为root权限,将配置文件中对应的部分截图:


6,设置HTTP服务,修改网站的配置文件,配置滚动日志按天记录网站的访问日志和错误日志,将配置文件中对应的部分截图:

防火墙策略

1,只允许转发来自 172.16.0.0/24 局域网段的DNS解析请求数据包,将 iptables 配置命令截图:

2,禁止任何机器ping本机,将iptables配置命令截图:

3,禁止本机ping任何机器,将iptables配置命令截图:

4,禁用23端口,将iptables配置命令截图:

5,禁止转发来自MAC地址为29:0E:29:27:65:EF主机的数据包,
将iptables配置命令截图:

6,为防御 IP 碎片攻击,设置 iptables 防火墙策略限制 IP 碎片
的数量,仅允许每秒处理 1000 个,将 iptables 配置命令截图:

7,为防止 SSH 服务被暴力枚举,设置 iptables 防火墙策略仅允
许 172.16.10.0/24 网段内的主机通过 SSH 连接本机,将 iptables 配 置命令截图:

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

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

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

11,允许本机开放从TCP端口20-1024提供的服务

12在工作时间,即周一到周五的8:30-18:00,开放本机的ftp给192.168.1.0/24网络中的主机访问

IP协议安全配置

1.指定触发SYN洪水攻击保护所必须超过的TCP连接请求数阈值为5;

打开注册表(regedit)找到注册表路经
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
新建DWORD(32-)值,名称为SynAttackProtect,值为2(启动syn攻击保护)

再新建DWOED(32-位)值,名称为TcpMaxPortsExhausted,值为5


2. 指定处于SYN_RCVD状态的TCP连接数的阈值为500;

新建DWORD(32-位)值 ,名称为TCPMaxHaxHalfOpen,值为500


3.指定处于至少已发送一次重传的SYN_RVCD状态中的TCP连接数的阈值为400。

新建DWORD(32-位)值 ,名称为TCPMaxHaxHalfOpenRetied,值为400

数据库加固

1.以普通帐户mysql安全运行mysql服务,禁止mysql以管理员帐号权限运行;

2.删除默认数据库(test);

3.改变默认mysql管理员用户为:SuperRoot;

4.使用mysql内置MD5加密函数加密用户user1的密码为(P@ssw0rd1!)
(update mysql.user set password=MD5(‘加密的用户密码’))where user=‘user1’

5,赋予user1用户对数据库所有表只有select,insert,delete,update权限
(因为没有user1用户用root用户代替)

有关网络空间安全解析A模块解析的更多相关文章

  1. Ruby 解析字符串 - 2

    我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?

  2. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  3. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  6. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  7. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  8. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

  9. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  10. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

随机推荐