写点什么

ARTS 打卡第四周

  • 2023-09-08
    北京
  • 本文字数:3707 字

    阅读完需:约 12 分钟

ARTS打卡第四周

1、A 算法题


题目


有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。

  • 例如:"0.1.2.201" 和"192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245""192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。


示例 :

输入:s = "25525511135"输出:["255.255.11.135","255.255.111.35"]
复制代码


解题

使用回溯(Bachtracking)求解。

class Solution:    def restoreIpAddresses(self, s: str) -> List[str]:        if not s or len(s) < 4:            return []        res = list()        self.dfs(s, 0, '', res)        return res        def dfs(self, s: str, idx: int, path: str, res: List[str]):        if idx > 4:            return         if idx == 4 and not s:            res.append(path[:-1])            return        for i in range(len(s)):            if s[:i+1] == '0' or (s[0] != '0' and 0 < int(s[:i+1]) < 256):                self.dfs(s[i+1:], idx+1, path+s[:i+1]+'.', res)

复制代码


2、R 阅读英文文章


英文原文:How Secure Is Remote Desktop Protocol (RDP)?


远程桌面协议(RDP)为什么 RDP 不安全,用户该如何修复它?


RDP 默认情况下不安全,并且存在多个高风险漏洞。持续长期使用会增加网络安全事件发生的几率。它可能导致分布式拒绝服务、中间人、勒索软件和暴力攻击。


黑客利用 RDP 的方式有很多种。他们可以从网上购买被盗凭据,但如果没有这些详细信息,网络钓鱼和暴力攻击也同样有效。或者,他们利用漏洞——比如 2019 年影响 Windows 7 到 10 的漏洞——或者使用不安全的端口作为直接入口。


黑客攻击 RDP 是因为它通常允许他们从任何远程位置访问。它不必谨慎地等待数月才能访问关键系统或数据,而是为他们提供了触手可及的一切。他们可以通过快速在线搜索找到其漏洞,并轻松利用它们,从而实现低风险、高回报的局面。


以下是使 RDP 更安全的几种方法:


  • 多因素身份验证:MFA 要求用户在单独的安全设备上验证登录尝试。这样一来,即使有有效的被盗凭据或成功的暴力攻击,黑客也不会幸运地利用 RDP。


  • 防火墙:当用户有防火墙时,RDP 在互联网上的安全性如何?如果服务器在服务器后面,黑客就不能使用 Shodan 来查找和利用不安全的端口。如果人们想让它们保持开放,这是必要的。


  • 自签名证书:自签名证书是一种保护信息完整性的公钥证书。人们可以使用它来限制 RDP 功能,从而限制黑客在系统中横向移动的能力。


  • 网络级验证:网络级验证使用凭据安全支持提供商(CredSSP)(远程验证的安全协议)在允许连接之前验证用户的身份。


  • 跳转主机:跳转主机是介于计算机和目标服务器之间的服务器。它阻止访问,以便管理员可以验证用户的身份,防止黑客进入。


  • 虚拟专用网络:使用 VPN 的 RDP 安全性如何?由于它对远程用户与其组织网络之间的网络流量进行加密,因此大大提高了保护。


  • 最小特权原则:这种方法只允许系统或数据访问的特定实例。即使黑客成功利用 RDP,也会阻止他们访问文件或通过网络进行进一步的攻击。


思考

安全问题是永无止境的。考虑到任何漏洞都会在网上公开。尽管网络安全存在弱点,但持续的预防性护理对于维护网络安全至关重要。这也是零信任当下比较火爆的原因之一。


3、T 学习技术技巧


Wireshark 常用过滤器表达式汇总


3.1 抓包过滤器语法和实例

抓包过滤器类型 Type(host、net、port)、方向 Dir(src、dst)、协议 Proto(ether、ip、tcp、udp、http、icmp、ftp 等)、逻辑运算符(&&与、|| 或、!非)

1.  协议过滤

比较简单,直接在抓包过滤框中直接输入协议名即可。

只显示 TCP 协议的数据包列表


tcp
复制代码


只查看 HTTP 协议的数据包列表


http
复制代码


只显示 ICMP 协议的数据包列表


icmp
复制代码


2.  IP 过滤

过滤主机为 192.168.1.104 的数据包


host 192.168.1.104
复制代码


过滤源主机为 192.168.1.104 的数据包


src host 192.168.1.104
复制代码


过滤目的主机为 192.168.1.104 的数据包


dst host 192.168.1.104
复制代码


3.  端口过滤

过滤端口为 80 的数据包


port 80
复制代码


过滤源端口为 80 的数据包


src port 80
复制代码


过滤目的端口为 80 的数据包


dst port 80
复制代码


4.  逻辑运算符 &&与、|| 或、!非

抓取主机地址为 192.168.1.80、目的端口为 80 的数据包


src host 192.168.1.104 && dst port 80 
复制代码


抓取主机为 192.168.1.104 或者 192.168.1.102 的数据包


host 192.168.1.104 || host 192.168.1.102 
复制代码


不抓取广播数据包


!broadcast 
复制代码


3.2 显示过滤器语法和实例
1.  比较操作符

比较操作符有

== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于

2.  协议过滤

比较简单,直接在 Filter 框中直接输入协议名即可。注意:协议名称需要输入小写。

只显示 TCP 协议的数据包列表


tcp
复制代码


只查看 HTTP 协议的数据包列表


http
复制代码


只显示 ICMP 协议的数据包列表


icmp
复制代码



3.  ip 过滤

显示源地址为 112.53.42.42 的数据包列表


ip.src ==112.53.42.42 
复制代码


显示目标地址为 112.53.42.42 的数据包列表


ip.dst==112.53.42.42
复制代码


 显示源 IP 地址或目标 IP 地址为 112.53.42.42 的数据包列表


ip.addr == 112.53.42.42
复制代码



4.  端口过滤

 显示源主机或者目的主机端口为 80 的数据包列表


tcp.port ==80
复制代码


只显示 TCP 协议的源主机端口为 80 的数据包列表


tcp.srcport == 80
复制代码


只显示 TCP 协议的目的主机端口为 80 的数据包列表


tcp.dstport == 80
复制代码



5.  http 模式过滤

  只显示 HTTP GET 方法的


http.request.method=="GET"
复制代码



6.  逻辑运算符为 and/or/not

过滤多个条件组合时,使用 and/or。

比如获取 IP 地址为 192.168.0.104 的 ICMP 数据包表达式为


ip.addr == 192.168.0.104 and icmp
复制代码



7.  按照数据包内容过滤

假设我要以 ICMP 层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。



右键单击选中后出现如下界面



选中后在过滤器中显示如下



后面条件表达式就需要自己填写。如下我想过滤出 data 数据包中包含"abcd"内容的数据流。关键词是 contains,完整条件表达式为


data contains "abcd"
复制代码


3.3 常见用显示过滤需求及其对应表达式
1.  数据链路层

筛选 mac 地址为 04:f9:38:ad:13:26 的数据包


eth.src == 04:f9:38:ad:13:26
复制代码


筛选源 mac 地址为 04:f9:38:ad:13:26 的数据包-


eth.src == 04:f9:38:ad:13:26
复制代码


2.  网络层

筛选 ip 地址为 192.168.1.1 的数据包


ip.addr == 192.168.1.1
复制代码


筛选 192.168.1.0 网段的数据


ip contains "192.168.1"
复制代码


3.  传输层

筛选端口为 80 的数据包


tcp.port == 80
复制代码


筛选 12345 端口和 80 端口之间的数据包


tcp.port == 12345 && tcp.port == 80
复制代码


筛选从 12345 端口到 80 端口的数据包


tcp.srcport == 12345 && tcp.dstport == 80
复制代码


4.  应用层

特别说明: http 中 http.request 表示请求头中的第一行(如 GET index.jsp HTTP/1.1) http.response 表示响应头中的第一行(如 HTTP/1.1 200 OK),其他头部都用 http.header_name 形式。

筛选 url 中包含.php 的 http 数据包


http.request.uri contains ".php"
复制代码


筛选内容包含 username 的 http 数据包


http contains "username"
复制代码


4、S 分享技术文章


企业上云是指企业通过互联网将企业的基础设施、管理及业务部署到云端上,即可利用网络便捷地获取云计算服务商提供的计算、存储、软件、数据等服务,从而提高资源配置效率、降低信息化建设成本、促进共享经济发展、加快新旧转换。


企业应用上云,按其使用云产品的深入程度分为云托管模式(IaaS 上云)云原生模式(PaaS 上云)两种类型。IaaS 解决了物理机资源的资源管理和资源供给问题,通过对计算、存储和网络的统一和抽象化实现基础资源的统一化供给。IaaS 没有跨越开发和运维之间的鸿沟,开发人员仍然需要关注运行在操作系统上的各种基础中间件。PaaS 的目标是为应用提供运行所需的各种基础软件,提供实际业务的开发运行环境,从而让业务系统的开发更加简便、高效。


对于基础设施上云,我们一般称之为“云托管模式”,企业只是把原本部署在 IDC 机房服务器上的应用改为部署在云上虚拟机(或容器)中,应用的架构基本没有发生任何改变,上云的改造成本低、风险低。与传统的自建 IDC 机房相比,企业直接利用云厂商提供的基础设施具有更高的成本优势,以及高可用性、安全性和弹性等优势,云托管极大地简化和降低了提供 IT 服务的复杂性和成本,减少企业的 IT 运维人员投入。


业务应用在云上的演进方向是,通过云上现有的服务构建系统,基于云产品来做技术选型,使应用开发、工具链、CI/CD、运行托管、运维诊断都在云上完成。


PaaS 云为我们完成了除应用本身之外几乎所有的配置管理工作,我们所关心的只是与自身应用相关的开发部署运维管理,对应用的管理也变成了只是一条指令或者一个按钮就可以完成的事情。PaaS 云平台也都将其作为服务提供给我们,开箱即用。其次,PaaS 云还将系统冗余变成了常规功能。


PaaS 云将底层的基础运行环境标准化为容器,缩短了代码开发到应用部署所花费的时间,降低了软件开发运维的成本


云原生的架构平台,增加了高可用性,更好的扩展性,同时打造了一体化的监控体系。基于微服务的业务设计,将基础服务原子化,部署方式灵活且响应速度快、迭代周期短。

发布于: 3 小时前阅读数: 6
用户头像

InfoQ签约作者 2018-11-30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
ARTS打卡第四周_ARTS 打卡计划_穿过生命散发芬芳_InfoQ写作社区