linux的安全加固

本文介绍了如何增强Linux服务器的安全性,包括设置复杂密码和密码策略,限制登录次数,禁止root用户远程登录,更改SSH端口,使用ipset封禁IP以及利用fail2ban控制连接数。这些措施能有效提升服务器的安全防护能力。
摘要由CSDN通过智能技术生成

1.设置复杂密码

服务器设置大写、小写、特殊字符、数字组成的12-16位的复杂密码 ,也可使用密码生成器自动生成复杂密码

2.设置密码策略

修改文件/etc/login.defs
PASS_MAX_DAYS 90 密码最长有效期
PASS_MIN_DAYS 10 密码修改之间最小的天数
PASS_MIN_LEN 8 密码长度
PASS_WARN_AGE 7 口令失效前多少天开始通知用户修改密码

3. 对密码强度进行设置

编辑文件/etc/pam.d/password-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1

difok= 定义新密码中必须要有几个字符和旧密码不同
minlen=新密码的最小长度
ucredit= 新密码中可以包含的大写字母的最大数目。-1 至少一个
lcredit=新密码中可以包含的小写字母的最大数
dcredit=定新密码中可以包含的数字的最大数目 

注:这个密码强度的设定只对"普通用户"有限制作用,root用户无论修改自己的密码还是修改普通用户的时候,不符合强度设置依然可以设置成功

4.对用户的登录次数进行限制

编辑文件 /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300

pam_tally2   查看被锁定的用户
pam_tally2  --reset  -u  username      将被锁定的用户解锁

5. 进制root用户远程登录

禁止ROOT用户远程登录 。打开 /etc/ssh/sshd_config
#PermitRootLogin no
注:生效要重启sshd进程。

6. 更改ssh端口

vim /etc/ssh/sshd_config ,更改Port或追加Port
注:生效要重启sshd进程。

7. 使用ipset封IP---ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则
#apt-get install ipset
ipset默认可以存储65536个元素,使用maxelem指定数量
ipset create blacklist hash:net maxelem 1000000 #黑名单
ipset create whitelist hash:net maxelem 1000000 #白名单

//创建一条
ipset create blacklist hash:ip hashsize 4096 maxelem 1000000
在ipSet添加、删除IP
ipset add blacklist 10.10.10.xx //添加IP
ipset del blacklist 10.10.10.xx //删除IP

创建防火墙规则,在iptables添加一条记录:
iptables -A INPUT -m set --match-set blacklist src -j DROP

将ipset规则保存到文件中
ipset save blacklist -f blacklist.txt
ipset save whitelist -f whitelist.txt

删除ipset
ipset destroy blacklist
ipset destroy whitelist

导入ipset规则
ipset restore -f blacklist.txt
ipset restore -f whitelist.txt

8. fail2ban的使用-控制连接数

#apt-get install fail2ban
#systemctl start fail2ban

安装后,Fail2ban将立即开始工作,但仅适用于SSH和默认设置。现在添加我们需要的设置。整个配置在文件/etc/fail2ban/jail.conf中。我们以SSH为例,按需要更改SSH部分:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 3600
bantime = 86400
maxretry:在findtime参数指定的时间内最大错误连接数
findtime:日志文件中分析错误连接数的时间。以秒计算
bantime:阻塞时间(以秒为单位)
启动并启用Fail2ban服务
现在,在一小时内输入5个错误密码后,该地址将被封锁一天。您可以使用以下命令找到包含的保护列表:
fail2ban–client status
您可以使用以下命令查找每个服务的受阻止客户端的统计信息:
fail2ban–client status service_name

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值