Skip to content
遇见王斌 edited this page Jan 15, 2021 · 14 revisions

目录

1 tools

1.1 DenyRootLogin

功能:禁止 root 用户登陆

1.2 CreateUser

功能:创建普通用户,并添加 sudoer 权限

1.3 AuditAction

功能:添加 linux 操作审计操作

  • 管理员用户执行时,用户操作记录在 /var/log/Command_history.log
  • 普通用户执行时,用户操作记录在 ~/.Command_history.log(隐藏文件)

/var/log/Command_history.log日志文件如果需要删除时,会提示没有权限,这个就是 chattr 对文件实现的保护功能了,需要执行

chattr -a /var/log/Command_history.log
chmod 777 /var/log/Command_history.log

手动操作时可以通过将下面信息加到 .bashrc

export HISTORY_FILE=~/.Command_history.log
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}")  #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>${HISTORY_FILE}'

1.4 Change_sshdport

功能:更改 sshd 端口

1.5 account_timeout

功能:添加用户超时退出功能

1.6 rmtrash

功能:替代 rm 命令,进行删除文件时,会移至回收站

2 其他

2.1 锁定多次登陆失败的用户

修改如下文件:
/etc/pam.d/sshd    (远程 ssh)
/etc/pam.d/login    (终端)


在第一行下即#%PAM-1.0 的下面添加:
auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200

各参数解释:

deny               设置普通用户和 root 用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time        设定普通用户锁定后,多少时间后解锁,单位是秒;
even_deny_root     也限制 root 用户;
root_unlock_time   设定 root 用户锁定后,多少时间后解锁,单位是秒;


手动解除锁定:
例如,查看 test 用户的错误登陆次数:
pam_tally2 –u test
例如,清空 work 用户的错误登陆次数,
pam_tally2 –u work –-reset

2.2 设置密码复杂度

/etc/pam.d/common-password
找到同时有 “password” 和 “pam_cracklib.so” 字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。

普通用户设置密码时生效

2.3 设置只能由某台机器或 IP 进行 ssh 登陆

一个 IP 请求连入,linux 的检查策略是先看 /etc/hosts.allow 中是否允许,如果允许直接放行;如果没有,则再看 /etc/hosts.deny 中是否禁止,如果禁止那么就禁止连入。

设置方法

编缉 /etc/hosts.allow 文件,添加

# ssh 允许 IP
192.168.220.1

# ssh 允许 IP 段
sshd:192.168.220.*

编辑 /etc/hosts.deny 文件,添加

sshd:ALL

Clone this wiki locally