Linux服务器配置

发布时间:2023年12月20日

Linux服务器配置

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	 #密码过期警告天数

设置SSH登录失败策略

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

禁用root账户SSH登录

# 系统管理员
# 新建服务器用户防止无法远程登录 (用户名为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
文章来源:https://blog.csdn.net/qq_21455991/article/details/135100183
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。