Skip to content

Eternal Center

  • Single Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Other (其它)
    • Ideas (思路)
    • Language (语言)
    • Project (项目)
  • Eternity (永恒)
    • Creations (创作)
    • Classics (经典)
    • Chronicle (编年史)
    • News (消息)

Category: System Login Security (系统登录安全)

Posted on July 28, 2022July 29, 2022

Linux 防范黑客入侵的思路

黑客发现阶段

黑客在入侵前往往会先对整个网络进行扫描,尝试发现我们的系统。在这个阶段我们可以尝试的防范措施有:

1) 关闭 ICMP 协议,让黑客无法通过 ping 发现我们的系统
2) 关闭所有不需要的端口
3) 通过防火墙只让允许访问的 IP 地址访问对应的端口
4) 让防火墙使用 drop 操作丢掉所有没有被允许的访问请求

黑客列举阶段和黑客立足阶段

黑客在发现了我们的系统之后。会根据我们系统和软件的版本,列举不同的破解方法并进行取舍,并最终会选择一种或多种方法进行尝试。在这两个阶段我们可以尝试的防范措施有:

1) 不使用盗版的系统和软件
2) 不使用有漏洞的系统和软件
3) 尽量将所有的系统和软件升级到最新的版本
4) 删除所有非必须的软件
5) 在用户尝试登录系统时,取消显示系统的版本
6) 删除或禁用所有不需要的用户
7) 让所有的用户都使用复杂的密码
8) 定期检查和修改所有用户的密码
9) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
10) 限制错误密码尝试的次数,以防止暴力破解
11) 定期检查系统防火墙策略
12) 定期检查系统开启的所有端口
13) 定期检查系统开启的所有进程
14) 定期查看 /var/log/message 中的尝试登录失败的日志记录

黑客保持持久性阶段

黑客在成功进入系统以后,会尝试为自己下次进入系统准备方法,以让入侵保持持久性。在这个阶段我们可以尝试的防范措施有:

1) 定期检查系统中的所有用户的名称和数量
2) 定期检查系统中所有拥有 root 权限的名称和数量
3) 定期检查和修改所有用户的密码
4) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
5) 定期检查系统防火墙策略
6) 定期检查系统开启的所有端口
7) 定期检查系统开启的所有进程
8) 缩小重要文件的权限
9) 定期检查所有用户的登录日志
10) 通过 auditd 服务监控所有重要配置文件,并定期检查监控日志

黑客掩盖痕迹阶段

黑客让入侵保持持久性后,会尝试掩盖自己的痕迹。在这个阶段我们可以尝试的防范措施有:

1) 定期检查系统中的所有用户的名称和数量
2) 定期检查系统中所有拥有 root 权限的名称和数量
3) 定期检查和修改所有用户的密码
4) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
5) 定期检查系统防火墙策略
6) 定期检查系统开启的所有端口
7) 定期检查系统开启的所有进程
8) 缩小重要文件的权限
9) 定期检查所有用户的登录日志,注意日志的时间是否连贯
10) 通过 auditd 服务监控所有重要配置文件,并定期检查监控日志,注意日志的时间是否连贯

Posted on July 17, 2022August 31, 2022

[步骤] Linux 密码的安全 (本地和 SSH 输错密码次数的限制) (pam_tally2.so 版) (CentOS Linux 7 & RHEL 7 版)

正文:

步骤一:让 sshd 使用可插入身份验证模块

1.1 修改 sshd 的配置文件

# vim /etc/ssh/sshd_config

将以下内容:

......
#UsePAM no
......

修改为:

......
UsePAM yes
......

1.2 让修改的 sshd 配置文件生效

# systemctl restart sshd

步骤二:让本地登录和 sshd 登录使用密码认证

2.1 确认 /etc/pam.d/login 配置文件

# cat /etc/pam.d/login | grep system-auth

确保包含以下内容:

auth       substack     system-auth
account    include      system-auth
password   include      system-auth
session    include      system-auth

2.2 确认 /etc/pam.d/sshd 配置文件

# cat /etc/pam.d/sshd | grep password-auth

确保包含以下内容:

auth       substack     password-auth
account    include      password-auth
password   include      password-auth
session    include      password-auth

步骤三:在 /etc/pam.d/system-auth-ac 配置文件中添加 pam_tally2.so 模块和相关参数

# vim /etc/pam.d/system-auth-ac

添加以下内容:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

(
补充:
1) 这里的 pam_tally2.so 代表使用 pam_tally2.so 模块
2) 这里的 silent 代表不会显示信息性的消息
3) 这里的 deny=15 代表输错 15 次后会禁止登录
4) 这里的 unlock_time=3000 代表禁止登录后 3000 毫秒后可以重新登录
5) 这里的 even_deny_root 代表 root 用户和其它用户一样会被锁住
6) 这里的 root_unlock_time=3000 代表禁止 root 用户登录后 3000 毫秒后可以重新登录
)

步骤四:在 /etc/pam.d/password-auth-ac 配置文件中添加 pam_tally2.so 模块和相关参数

# vim /etc/pam.d/password-auth-ac

添加以下内容:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

(
补充:
1) 这里的 pam_tally2.so 代表使用 pam_tally2.so 模块
2) 这里的 silent 代表不会显示信息性的消息
3) 这里的 deny=15 代表输错 15 次后会禁止登录
4) 这里的 unlock_time=3000 代表禁止登录后 3000 毫秒后可以重新登录
5) 这里的 even_deny_root 代表 root 用户和其它用户一样会被锁住
6) 这里的 root_unlock_time=3000 代表禁止 root 用户登录后 3000 毫秒后可以重新登录
)

步骤五:部分用户输错密码次数限制的排除

5.1 在 /etc/pam.d/system-auth-ac 配置文件中添加 pam_succeed_if.so 模块和相关参数

# vim /etc/pam.d/system-auth-ac

在此行:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

下面添加:

......
auth [success=1 default=ignore] pam_succeed_if.so user in mingyuzhu1:mingyuzhu2:mingyuzhu3

(补充:这里以排除用户 zhumingyu1、zhumingyu2 和 zhumingyu3 的输错密码次数限制为例)

5.2 在 /etc/pam.d/password-auth-ac 配置文件中添加 pam_succeed_if.so 模块和相关参数

# vim /etc/pam.d/password-auth-ac

在此行:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

下面添加:

......
auth [success=1 default=ignore] pam_succeed_if.so user in mingyuzhu1:mingyuzhu2:mingyuzhu3

(补充:这里以排除用户 zhumingyu1、zhumingyu2 和 zhumingyu3 的输错密码次数限制为例)

参考文献:

https://access.redhat.com/solutions/62949

Posted on July 15, 2022July 15, 2022

[步骤] Linux 非 root 用户 ping 命令使用的禁止和允许

步骤一:禁止非 root 用户使用 ping

#  sysctl net.ipv4.ping_group_range="1 0"

步骤二:允许非 root 用户使用 ping

# sysctl net.ipv4.ping_group_range="0 2147483647"

补充:当禁止禁止非 root 用户使用 ping 时,非 root 用户使用 ping 命令的报错

如果是 Rocky Linux & RHEL:

ping: socket: Address family not supported by protocol

如果是 openSUSE & SLE:

Error: ping: socket: Operation not permitted
Posted on July 14, 2022August 31, 2022

[步骤] Linux 密码的安全 (本地和 SSH 输错密码次数的限制) (pam_tally2.so 版) (openSUSE & SLE 版)

正文:

步骤一:让 sshd 使用可插入身份验证模块

1.1 修改 sshd 的配置文件

# vim /etc/ssh/sshd_config

将以下内容:

......
#UsePAM no
......

修改为:

......
UsePAM yes
......

1.2 让修改的 sshd 配置文件生效

# systemctl restart sshd

步骤二:让本地登录和 sshd 登录使用密码认证

2.1 确认 /etc/pam.d/login 配置文件

# cat /etc/pam.d/login | grep include

确保包含以下内容:

auth      include    common-auth
account   include    common-account
password  include    common-password
session   include    common-session

2.2 确认 /etc/pam.d/sshd 配置文件

# cat /etc/pam.d/sshd | grep include

确保包含以下内容:

auth        include     common-auth
account     include     common-account
password    include     common-password
session     include     common-session

步骤三:在 /etc/pam.d/common-auth-pc 配置文件中添加 pam_tally2.so 模块和相关参数

# vim /etc/pam.d/common-auth-pc

添加以下内容:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

(
补充:
1) 这里的 pam_tally2.so 代表使用 pam_tally2.so 模块
2) 这里的 silent 代表不会显示信息性的消息
3) 这里的 deny=15 代表输错 15 次后会禁止登录
4) 这里的 unlock_time=3000 代表禁止登录后 3000 毫秒后可以重新登录
5) 这里的 even_deny_root 代表 root 用户和其它用户一样会被锁住
6) 这里的 root_unlock_time=3000 代表禁止 root 用户登录后 3000 毫秒后可以重新登录
)

步骤四:在 /etc/pam.d/common-account-pc 配置文件中添加使用 pam_tally2.so 模块和相关参数

# vim /etc/pam.d/common-account-pc

添加以下内容:

......
account required pam_tally2.so

(补充:这里的 pam_tally2.so 代表加载 pam_tally2.so 模块)

步骤五:用户登录失败的管理

5.1 查看某个用户近期输错了几次密码

# pam_tally2 -u <user>

5.2 重制某个用户登录密码输错次数

# pam_tally2 -u <user> -r --reset

步骤六:部分用户输错密码次数限制的排除

6.1 在 /etc/pam.d/common-auth-pc 配置文件中添加 pam_succeed_if.so 模块和相关参数

# vim /etc/pam.d/common-auth-pc

在此行:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

下面添加:

......
auth [success=1 default=ignore] pam_succeed_if.so user in mingyuzhu1:mingyuzhu2:mingyuzhu3

(补充:这里以排除用户 zhumingyu1、zhumingyu2 和 zhumingyu3 的输错密码次数限制为例)

6.2 在 /etc/pam.d/common-account-pc 配置文件中添加 pam_succeed_if.so 模块和相关参数

# vim /etc/pam.d/common-account-pc

在此行:

......
auth required pam_tally2.so onerr=fail audit silent deny=15 unlock_time=3000 even_deny_root root_unlock_time=3000

下面添加:

......
auth [success=1 default=ignore] pam_succeed_if.so user in mingyuzhu1:mingyuzhu2:mingyuzhu3

(补充:这里以排除用户 zhumingyu1、zhumingyu2 和 zhumingyu3 的输错密码次数限制为例)

参考文献:

https://access.redhat.com/solutions/62949

Posted on June 25, 2022June 25, 2022

[内容] Linux 命令安全的设置

确保以下目录的所属主和所属组是 root,且其它用户没有写入权限:

# ls -ld /usr/local/bin /usr/local/sbin /usr/bin/ /usr/sbin
dr-xr-xr-x. 2 root root 53248 Jun 24 15:09 /usr/bin/
drwxr-xr-x. 3 root root  4096 Jun 21  2021 /usr/local/bin
drwxr-xr-x. 2 root root     6 Jun 21  2021 /usr/local/sbin
dr-xr-xr-x. 2 root root 20480 Jun 24 15:09 /usr/sbin

Posts navigation

Previous page Page 1 Page 2 Page 3 … Page 17 Next page

Aspiration (愿景):

Everyone can achieve self achievement and self happiness fairly

每个人都能公平地实现自我成就和自我幸福

Position (位置):

Running on Evolution Host and DigitalOcean

正在 Evolution Host 和 DigitalOcean 上运行

Logo (徽标):

Additional Information (其他信息):

About Manual Clone Contact
Disclaimer Donation Friendly Links
关于 说明书 克隆 联系
免责申明 捐赠 友情链接

Standby IP Address (备用 IP 地址):

152.69.204.95  150.230.63.10  Please configure before use / 请先配置再使用

Search Outside Website (站外搜索):

Google Wikipedia Bing
Proudly powered by LNMP Proudly powered by WordPress