Category: Linux

iptables 禁止 port scan

当维护一个服务器或网络时,可能会遭遇来自不良攻击者的 port scan 攻击。这种攻击通常会扫描目标网段中所有可用的 port,以寻找可以利用的漏洞和弱点。为了保护您的系统和数据安全,您可以使用 iptables 来禁止 port scan 攻击。 以下是一些常用的 iptables 规则可以帮助您防止 port scan 攻击。 1. 只允许特定的 port 被扫描 您可以使用以下指令指定只允许特定的 port 被扫描: iptables -A INPUT -p tcp –dport …

Shell Script 限制执行时间

在撰写 Shell Script 时,有时会遇到需要限制程式执行时间的情况,例如防止程式无限执行或避免程式占用过多系统资源等。以下是一些常用方法可以帮助您限制 Shell Script 的执行时间。 1. 使用 timeout 命令 timeout 命令可以限制某个命令或脚本的执行时间,当时间到期时它会向该命令或脚本发送 SIGTERM 信号以终止其执行。例如: timeout 10s ./myscript.sh 这条命令将执行 myscrip.sh 脚本,并限制其执行时间为 10 秒。 2. 使用 ulimit 命令 ulimit 命令可以限制某个使用者对系统资源的使用,包括 …

Ubuntu 22.04 LTS 安装 iostat

iostat 是检视 block devices I/O 统计资料的工具,对于监测硬盘工作状态、检查效能瓶颈及硬盘工作状况十分有用。以下是在 Ubuntu 22.04 LTS 安装 iostat 的方法及使用。 iostat 默认已经放在 Ubuntu 的 base repository 的 stsstat 套件内,执行以下指令安装: $ sudo apt install sysstat 执行以上指令安装 iostat 后便可以使用,以下是 …

建立 subdomain 的 MX 及 TXT 纪录

一个网域下会建立副域名很常见, 只要建立 A record 或 CNAME record 即可。另一个情况是对 subdomain 建立 MX 及 TXT 纪录, 例如网域是 mydomain.ltd, 分别想建立 @local.mydomain.ltd 及 @member.mydomain.ltd 的电邮。 除非有其他原因, 否则便不用额外建立一个 subdomain 的 zone, 可以在原来网域的 zone 内加入相关 …

Shell Script 建立临时档案

在写 Shell Script 时, 有时需要建立临时档案, 很多时会用 temp 或 tmp 这类副档名实现。但如果这些档案名称和其他 process 的临时档案名称相同, 便会错误地覆写其他临时档案的内容。 在 Linux 系统可以用 mktemp 工具, 它可以很简单地建立, 使用及移除不会重复档名的临时档案。 执行 mktemp 时, 它们默认会出档案名称及路径: $ mktemp /tmp/tmp.94uGx1HYiS 如果没有指定路径, 临时档案的的位置是 …

Fail2Ban 配合 CloudFlare 封锁 IP

Fail2Ban 是阻挡暴力攻击的工具,例如发现指定次数的登入失败后,会自动把远端的 IP 地址封锁,在设定的时间过后才会对封锁的 IP 开放。Fail2Ban 的用途非常广泛,除了一般的 SSH 登入及电邮登入外,也可以对一些针对网页的攻击进行封锁。 但如果网页使用了 CloudFlare 的话,那 Fail2Ban 只会封锁 CloudFlare 的 IP,而 CloudFlare 的那么多,很多时即使封锁了几个 IP,攻击者还是可以继续进行攻击及扫描漏洞。 要解决这个问题,可以使用 CloudFlare 的 API,在 Fail2Ban 设定把要封锁的 IP 传送给 CloudFlare,在 …

Ubuntu 20.04 设定硬盘 Quota 配额

Quota 是用作限制使用者或群组使用的碟硬空间, 如果没有设定 Quota 限制, 使用者可以无上限地储使用硬盘空间。以下是在 Ubuntu 20.04 设定 Quota 的步骤。 在设定使用者的 Quota 前, 需要先安装 quota 套件, 可以用 apt 安装: $ sudo apt install quota 然后检查 Ubuntu 的 kernel …