Fail2Ban防护SSH爆破

今天发现早上登录服务器,查看日志有大量ssh登录的爆破,所以先限制root用户不允许远程登录,再使用Fail2Ban自动封锁ip限制一下。

记录如下:

离线安装包及依赖处理

很多内网环境需要离线安装软件,就需要我们在可以上网的服务器上将需要安装的软件的相应安装包及其依赖下载下来,传输到离线机器,再安装。其中下载和处理依赖关系可能比较麻烦,所以本文特做记录。

Chrome的一种截图方法

F12 打开开发者模式,选择需要截图的节点,ctrl+shift+p 打开运行栏,搜索 shot,选择 Capture node screenshot,如下图:

image-20231109145633467

如果截取手机或平板模式的图,先点击左上角的 Toggle device toolbarCtrl + Shift + M )选择合适的设备,再进行上面步骤。

PhpStorm实现跨网传输源代码

本地开发代码,需要同步到 10.21.30.81 上, 但是本地只能通过 ssh 连接到 10.21.30.80 上,不能 ssh 连接到 10.21.30.81 上,因此需要将代码通过SFTP传到 80 上,再在 80 上 scp 到 81上,太麻烦了,网络如下:

image-20231109112816186

在本机上执行

编码数据的格式

程序通常(至少)使用两种形式的数据:

  1. 内存中,数据存储在对象、结构体、列表、数组、散列表、树等中。这些数据结构针对CPU的高效访问和操作做了优化(通常使用指针)。
  2. 如果要将数据写入文件,或者通过网络发送,则必须将其 编码(encode) 为某种自包含的字节序列(如:json文档)。由于每个进程都有自己的独立的地址空间,一个进程中的指针对任何其他进程都没有意义,所以这个字节序列表示 与 通常在内存中使用的数据结构完全不同 (除了一些特殊情况外,如某些内存映射文件或直接压缩数据上的操作)

所以,两者表示之间,需要进行某种类型的翻译。

模式与兼容

修改应用程序的功能也也意味着修改其存储的数据:使用新的字段或记录类型,或者以新的方式展示现有的数据。

不同的数据模型有不同的方法应对这种变化:

  • 关系型数据库假定数据库中的所有数据都遵循一个模式:尽管可以更改这个模式(通过模式迁移,即 ALTER 语句),但是在任何时间点都有且仅有一个正确的模式。
  • 读时模式(schema-on-read,或 无模式,即 schemaless)数据库不会强制一个模式,因此数据库可以包含在不同时间写入的新老数据格式的混合。

当数据 格式(format)模式(schema) 发生变化时,通常需要对应用程序代码进行相应的更改(例如,为记录添加新字段,然后修改程序开始读写该字段)。但在大型应用程序中,代码变更通常不会立即完成:

OLTP-or-OLAP

属性事务处理系统 OLTP (OnLine Transaction Processing)分析系统 OLAP (OnLine Analytice Processing)
主要读取模式查询少量记录,按键读取在大批量记录上聚合
主要写入模式随机访问,写入要求低延时批量导入(ETL)或者事件流
主要用户终端用户,通过 Web 应用内部数据分析师,用于决策支持
处理的数据数据的最新状态(当前时间点)随时间推移的历史事件
数据集尺寸GB ~ TBTB ~ PB

起初,事务处理和分析查询使用了相同的数据库。 SQL 在这方面已证明是非常灵活的:对于 OLTP 类型的查询以及 OLAP 类型的查询来说效果都很好。尽管如此,在二十世纪八十年代末和九十年代初期,企业有停止使用 OLTP 系统进行分析的趋势,转而在单独的数据库上运行分析。这个单独的数据库被称为 数据仓库(data warehouse)