Howie's Notes

Machine Learning and Cyber Security

在 Linux 中创建用户可以用 useradd 或者 adduser,值得注意的是创建的用户并不一定可以登录,登录的用户肯定要有它的用户主目录、登录 Shell 等相关配置,而这两个命令之间的差异就在于此。

adduser

当使用 adduser howie 命令时,系统除了创建 howie 用户,还会自动创建用户主目录、同名用户组、登录 Shell 等,并提示输入用户密码,这一切操作都将以一个对话的形式完成。

在某些新版本的 RedHat 系 Linux 中,adduser 是 useradd 的一个软链接,即别名。

useradd

当使用 useradd howie 命令时,系统只会创建 howie 用户,而不会创建用户密码、用户主目录、同名用户组、登录 Shell 等,若要指定密码,可以接着采用 passwd howie 命令。其次,useradd 有众多参数,我们可以通过使用这些参数来达到和 adduser 一样的效果,如 useradd -d /home/howie -m -s /bin/bash howie,不过注意之后还得使用 passwd 命令创建密码,当然也可以使用 -p 参数直接设置密码,但这样会将密码直接显示在终端屏幕上,不安全。

userdel

当使用 userdel howie 命令时,系统只会删除 howie 用户,并不会删除用户主目录以及用户邮箱目录,因此可以使用 -r 参数。

云服务的模式一般有 IaaS、PaaS、SaaS 三种,既然是云服务,也即我们不用购买真实的计算设备,所有的模式都是基于此之上的。

IaaS

IaaS,Infrastructure as a Service(基础设施即服务),云服务的最底层,服务商提供操作系统、存储设施、硬件配置等资源,典型的例子是 VPS,即 Virtual Private Server(虚拟专用服务器),这类服务一般提供必要的 Shell 接口,可使用户连接到操作系统进行相关配置,常见的 VPS 厂商有 Amazon EC2、阿里云 ECS 等。

PaaS

PaaS,Platform as a Service(平台即服务),云服务的中间层,服务商提供必要的应用,用户无权访问操作系统及硬件等资源,典型的例子是虚拟空间,这类服务一般会提供必要的 Web 服务器、数据库等,用户可以直接在其上部署 Web 应用,常见的 PaaS 厂商有 Google App Engine(GAE)、Heroku 等。

SaaS

SaaS,Software as a Service(软件即服务),云服务的最高层,直接提供现成的应用供用户使用,用户所付出的精力最少,例如本站采用的 Hexo、WordPress 等。

在一般意义上而言,本文 编译与构建 的内容适用于 编译型语言 。

编译

编译(compile),一般而言是将源代码转换成汇编代码,用以实现这种过程的工具称为编译器(compiler)。但要注意,编译器在同一时刻只能转换一个编译单元,所谓编译单元是指单个的源文件。

编译器一般由相应的编程语言提供。

构建

程序通常由多个编译单元组成,倘若逐个的去编译,这多少显得有点琐碎,因此我们需要一个自动化工具用来从源代码生成用户可以使用的目标文件,而这个工具就是构建系统(build system),构建系统所作的就是构建(build),构建的过程中肯定会调用到编译。从这个意义上来说,构建的范围比编译更广。

现在的很多构建系统也包含了**包管理器(package manager)**的功能,用以解决项目依赖的问题。

Read more »

帐户与口令

此方面的加固主要为了防止针对帐户的暴力破解。

禁用或删除无用帐户:
使用命令userdel <用户名>删除不必要的帐户,使用参数-r即可删除相应用户的家目录和邮箱目录。
使用命令passwd -l <用户名>锁定不必要的帐户,解锁可使用passwd -u <用户名>。

检查特殊帐户:
使用命令awk -F: '($2=="")' /etc/shadow查看空口令帐户,若存在,则使用命令passwd <用户名>为空口令帐户设定密码。
使用命令awk -F: '($3==0)' /etc/passwd查看uid为0的帐户,确认uid为0的帐户只有root帐户。

添加口令策略:
使用命令change -m 0 -M 30 -E 2020-01-01 -W 7 <用户名>修改帐户口令策略,-m表示密码最小使用天数,-M表示密码最大使用天数,-E表示密码到期时间,-W表示密码到期前多少天提醒。或者可以直接编辑/etc/login.defs文件进行修改。

Read more »

基本配置

下面这几项应为每一个使用 Windows 的用户的最最基本安全配置:

  1. 开启 Windows 防火墙
  2. 设置用户帐户控制(UAC)为合适级别
  3. 保持 Windows 更新
Read more »

TCP 全称 Transmission Control Protocol,即传输控制协议,它为调用它的应用程序提供了一种可靠的、面向连接(connection-oriented)的服务。

TCP 连接提供的是全双工服务(full-duplex service),TCP 连接也总是点对点(point-to-point)的。

相比 UDP,TCP 主要多了 2 种服务:可靠数据传输(reliable data transfer)和拥塞控制(congestion control)。

Read more »

HTTPS 确保了客户和服务器之间通信的安全性,具体来说,这种安全性主要包括机密性、完整性和端点鉴别。

信息安全三要素

信息安全三要素即机密性(Confidentiality)、完整性(Integrity)和可用性(Availability),简称 CIA。

  • 机密性:仅有发送方和希望的接收方能够理解传输报文的内容。因为窃听者可以截获报文,这必须要求报文在一定程度上进行 加密(encrypted),使截取的报文无法被截获者所理解。机密性的这个方面大概就是通常意义上对于术语 信息安全 的理解。
  • 完整性:或称 报文完整性 或 报文鉴别,即通信双方希望确保其通信的内容在传输过程中未被改变 —— 或者恶意篡改或者意外改动。我们在可靠数据传输和数据链路协议中遇到的 检验和 技术在扩展后能够用于提供这种报文完整性。
  • 可用性:指保证信息确实能为授权使用者所用,即保证合法用户在需要时可以使用所需信息。

除了 CIA 之外,还有一点需要注意,即端点鉴别(end-point authentication),这是指发送方和接收方都应该能证实通信过程所涉及的另一方,以确信通信的另一方确实具有其所声称的身份。

Read more »
0%