Linux基本配置是指对Linux操作系统进行一系列基本设置,以确保系统正常运行并满足基本需求。这些配置可能包括网络设置、系统安全设置、用户和权限管理、文件系统管理等。
在进行Linux基本配置时,需要了解Linux操作系统的基本概念和命令行工具的使用方法。通过合理的配置,可以提高系统的安全性、稳定性和易用性,为后续的应用程序开发和运行提供良好的基础。
需要注意的是,Linux基本配置的具体内容可能因不同的Linux发行版和版本而有所不同,因此在进行配置时,建议参考具体的发行版和版本的官方文档或手册进行操作。
下述配置测试服务器采用centos7.6版本
minlen=8
密码最小长度为8个字符。
lcredit=-1
密码应包含的小写字母的至少一个
ucredit=-1
密码应包含的大写字母至少一个
dcredit=-1
将密码包含的数字至少为一个
ocredit=-1
设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root
确保即使是root用户设置密码,也应强制执行复杂性策略。
# linux服务器设置密码复杂度
# a.备份还原配置文件
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
# c.找到包含pam_pwquality.so模块的行,将原有行注释并修改为如下的新配置,密码长度最少8位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号。
echo -e '# 密码长度最少8位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号\npassword requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root'>>/etc/pam.d/system-auth && cat /etc/pam.d/system-auth
# d.重新修改root用户密码
sudo passwd root
# linux服务器设置口令定期更换策略
cp /etc/login.defs /etc/login.defs.bak
vim /etc/login.defs
# 修改文件中以下对应参数值
PASS_MAX_DAYS 90 #密码最长过期天数
PASS_MIN_DAYS 0 #登录密码最短修改时间,增加可以防止非法用户短期更改多次
PASS_MIN_LEN 8 #密码最小长度
PASS_WARN_AGE 7 #密码过期警告天数
deny
指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
lock_time
锁定多长时间,按秒为单位;
unlock_time
指定认证被锁后,多长时间自动解锁用户;
magic_root
如果用户uid=0(即root账户或相当于root的帐户)在帐户认证时调用该模块发现失败时,不计入统计;
no_lock_time
不使用.fail_locktime项在/var/log/faillog 中记录用户 ---即不进行用户锁定;
even_deny_root
root用户在认证出错时,一样被锁定(该功能慎用,搞不好就要单用户时解锁了)
root_unlock_time root
用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的
# 服务器设置登录失败以及自动连接超时策略
vim /etc/pam.d/system-auth
# 在auth列后添加
auth required pam_tally2.so deny=5 unlock_time=300
# auth required pam_faillock.so deny=3 unlock_time=300
# 设置SSH登录失败5次锁定十分钟
echo 'auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=30'>>/etc/pam.d/sshd
# 验证使用
ssh root@localhost
# 查看指定(root)用户登录失败的次数
sudo pam_tally2 --user root
# 解锁指定(root)用户并清除计数器失败次数
sudo pam_tally2 -u root -r
# 再次查证验证,这时的计算器数值为0,可远程ssh测试,现场ok
pam_tally2 --user root
# 服务器设置10分钟自动退出
# echo 'export TMOUT=600'>>/etc/profile && source /etc/profile
# 由于现场已经设置此配置故直接修改配置信息即可
sed -i "s/TMOUT=1800/TMOUT=600/" /etc/profile && source /etc/profile
# 系统管理员
# 新建服务器用户防止无法远程登录 (用户名为topnet,密码是Top@123.456,可自行修改)
useradd topnet
# 设置密码
passwd topnet
# 审计管理员audit、系统管理员system、安全管理员sec
# 安全管理员sec
useradd sec
passwd sec
# 修改用户组,开启管理员用户组,找到“#auth required /lib/security/$ISA/pam_wheel.so use_uid ”这一行,将行首的“#”去掉
vim /etc/pam.d/su
# 开启
echo 'SU_WHEEL_ONLY yes'>>/etc/login.defs
usermod -G wheel topnet
# 测试新账户是否可用,输入密码连接成功即表示可用
ssh topnet@localhost
# 删除用户 userdel -r topnet
# passwd --status topnet
# usermod --unlock topnet
# find / -name "*topnet*"
# 禁用root账户SSH登录,修改配置文件将PermitRootLogin的值改成no,并保存
vi /etc/ssh/sshd_config
### 剩余信息保护
#修改 /etc/profile文件
#修改HISTSIZE=0
#使用↑,不显示前次输入的命令
#修改/etc/ssh/sshd_config文件的
sudo
`PrintMotd yes`
# PrintLastLog yes两项
# 删除注释,将yes改为no
# 重启SSH服务(二选一)
# service sshd restart
systemctl restart sshd
# 验证重新使用root账户SSH登录失败即为设置成功
ssh root@localhost