当前位置: 首页 > news >正文

Ubuntu系统安全合规配置

文章目录

前言

一、Ubuntu系统密码策略

1.密码复杂度策略

2.密码生存周期策略

二、Ubuntu系统用户限制策略

1.超时,登录失败锁定

2.限制用户su到root账号

3.删除与设备运行,维护,工作无关的账号

4.普通用户授权sudo权限

5.禁止root用户远程telnet登录,限制samba访问

6.仅允许指定用户,IP,IP段通过ssh远程登录

总结


前言

Ubuntu系统作为主流的linux系统分支,目前广泛部署应用于服务器作为服务器系统使用,为了提高服务器系统的安全行,需要根据自身安全工作需求,进一步对安装的Ubuntu系统进行简单的配置,来提高安全性,本文主要是总结工作中的一些简单安全配置


一、Ubuntu系统密码策略

1.密码复杂度策略

  (1)安装PAM的cracklib模块

     #apt-get install libpam-cracklib

    (2)  设置密码复杂度(使用root用户给普通用户设置时无效,即不符合规则也可成功设置密码)

     #vim /etc/pam.d/common-password

    参考如下截图,添加如下配置:password        requisite                       pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 

参数说明:minlen=8 最短密码长度为 8 ;ucredit=-1 一个大写字母;lcredit=-1 一个小写字母;dcredit=-1 一个数字;ocredit=-1 一个特殊字符;remember=5 禁止使用最近使用过的5个密码,最近使用的密码保存在/etc/security/opasswd文件中  

2.密码生存周期策略

 #vim /etc/login.dfs

二、Ubuntu系统用户限制策略

1.超时,登录失败锁定
(1)设置登录账号超时
#vim /etc/profile
export TMOUT=600  #表示用户无操作动作10分钟后超时
#source /etc/profile
>echo "$TMOUT"
结果显示为:600(2)配置用户登录失败锁定
限制用户从tty登录失败锁定
vim /etc/pam.d/login
在第二行添加如下配置,
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600字符说明:
even_deny_root    也限制root用户;
deny              设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time       设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time  设定root用户锁定后,多少时间后解锁,单位是秒;限制ssh远程登录
#vim /etc/pam.d/sshd
第二行添加
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600
#systemctl restart sshd
或者#service sshd restart远程ssh的时候,输入密码错误超过五次但是没有提示,但是只要超过设定的值,输入正确的密码也是登陆不了的!还是要等到设定的时间在重新尝试输入正确密码进行登录认证。root账号下查看用户是否被锁和解锁命令如下:
使用#pam_tally2 -u username命令查看
使用#pam_tally2 -r -u username或者pam_tally2 -u username -r --reset命令解锁用户 
2.限制用户su到root账号
设置只允许wheel组的成员可以通过su命令切换到root账号#vim /etc/pam.d/su
在auth sufficient pam_rootok.so下添加如下配置auth required pam_wheel.so use_uid #这表明只有wheel组的成员可以使用su命令成为root用户
你可以把用户添加到wheel组,以使它可以使用su命令成为root用户#添加方法为:
#usermod –G wheel username
#为用户创建账号: 
#useradd username  #创建账号 
#passwd username   #设置密码 
#修改权限: 
#chmod 750 directory  #其中750为设置的权限,可根据实际情况设置相应的权限,directory是要更改权限的目录) ,使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。
3.删除与设备运行,维护,工作无关的账号
删除用户:
#userdel 用户名;
锁定用户:
#usermod -L 用户名
只有具备超级用户权限的使用者方可使用
解锁用户
#usermod -U 用户名  
4.普通用户授权sudo权限
(1)可以配置wheel用户组,将用户添加到wheel用户组,也可自行创建其它用户组然后配置权限,即可拥有使用sudo执行root命令的权限Ubuntu系统的/etc/sudoers文件没有默认配置wheel用户组有sudo权限#cat /etc/sudoers   需要添加配置%wheel   ALL=(ALL)     ALL 然后将要配置sudo权限的用户加入到wheel用户组#usermod -aG wheel username查看/etc/sudoers文件权限,如果只读权限,修改为可写权限# ls -l /etc/sudoers#chmod 777 /etc/sudoers#ls -l /etc/sudoers保存退出,并恢复/etc/sudoers的访问权限为440chmod 440 /etc/sudoers(2)可以给指定的用户配置sudo权限#vim /etc/sudoers   #添加如下配置,保存退出username     ALL=(ALL)       ALL补充:添加普通用户的sudo权限,可以操作root能够操作的所有指令,同时禁止其关机操作,同时取消sudo的密码交互#vim /etc/sudoersusername   ALL=(ALL)   NOPASSWD: ALL,  !SHUTDOWN参数说明:NOPASSWD是取消sudo时需要输入用户密码ALL是具有所有权限!SHUTDOWN是限制SHUTDOWN变量所限定的操作。#配置允许指定用户关机,重启操作username     ALL=(root)      /sbin/shutdown * ,/sbin/reboot *username为用户名,ALL为主机名,ALL代表所有主机,如果你想在指定主机有效,那就把ALL换成指定的主机名,(ROOT)代表以何种身份执行,root为以root身份执行,/sbin/shutdonw *代表授权shutdown * 的权限, 使用逗号来授权多个命令,因为是只读文件,更改完之后wq!保存退出
5.禁止root用户远程telnet登录,限制samba访问
(1)禁止root用户telnet登录#vim /etc/pam.d/login
auth    required     pam_securetty.so  (2)限制samba访问#vim /etc/samba/smb.conf在共享目录的配置中添加hosts allow = ip  #多个IP用空格隔开例如:[Share]public = yeshosts allow = 192.168.1.10 192.168.1.20 
6.仅允许指定用户,IP,IP段通过ssh远程登录
(1)仅允许指定用户通过ssh远程登录#vim /etc/ssh/sshd_config在空白处添加如下配置,允许指定用户远程,不限制IPAllowUsers   用户名1  用户名2(2)仅允许指定用户IP远程#vim /etc/ssh/sshd_configAllowUsers   用户名@IP保存退出,重启ssh服务
#systemctl restart ssh(3)限制IP,IP段登录先配置允许访问的IP或IP段#vim /etc/hosts.allow添加允许的IP,多个IP用英文字符逗号隔开sshd:ip1,ip2,ip3:allow例如:sshd:192.168.1.10,192.168.10.20,192.168.1.30:allow或者sshd:192.168.0.1/24,192.168.0.,192.168.1.:allow无需重启ssh服务


文章转载自:

http://fqnSpakm.rjrLx.cn
http://FCq1MuJ0.rjrLx.cn
http://R4LCDvhy.rjrLx.cn
http://4dqoyPcv.rjrLx.cn
http://6vrkUwCU.rjrLx.cn
http://43OWQASB.rjrLx.cn
http://sGgpD4iH.rjrLx.cn
http://WiVtMZs6.rjrLx.cn
http://rz8hKuaA.rjrLx.cn
http://To4K4aFT.rjrLx.cn
http://u3OSwiqm.rjrLx.cn
http://walm1aUQ.rjrLx.cn
http://RQJ7Hk5u.rjrLx.cn
http://fGlWCNxT.rjrLx.cn
http://GqxNoH8L.rjrLx.cn
http://zjEab2pE.rjrLx.cn
http://L6cVNm5X.rjrLx.cn
http://u0R0BpnO.rjrLx.cn
http://fxYcR2fN.rjrLx.cn
http://4iYKhezg.rjrLx.cn
http://PLrvzch2.rjrLx.cn
http://Ne5Lb9IA.rjrLx.cn
http://DAwzwuac.rjrLx.cn
http://BwQXKc0Q.rjrLx.cn
http://roRWzXwd.rjrLx.cn
http://qdBvv7Xl.rjrLx.cn
http://LgwnMy1n.rjrLx.cn
http://9URycihu.rjrLx.cn
http://Tptm2EQ2.rjrLx.cn
http://ZZGlKVDm.rjrLx.cn
http://www.dtcms.com/a/374819.html

相关文章:

  • Chrome 核心事件循环揭秘:TaskSequenceManager 与 MessagePump 的设计与实现
  • Perforce QAC 2025.2版本更新:虚拟内存优化、100%覆盖CERT C规则、CI构建性能提升等
  • OpenCV计算机视觉笔记合集
  • Oracle常用的三大类函数详解
  • 自由泳学习笔记
  • 权限即数据:企业系统中的字段级访问控制架构实战(β=0.6)
  • 研学旅游产品设计实训室:赋能产品落地,培养实用人才
  • Android vs iOS 启动/内存/渲染 对照表
  • WAF如何应对金融领域的网络威胁和黑客攻击
  • YOLOv11改进大全:从卷积层到检测头,全方位提升目标检测性能
  • 机器学习04——决策树(信息增益、信息增益率、ID3、C4.5、CART、剪枝、连续值缺失值处理)
  • Javaweb - 14.6 - Vue3 数据交互 Axios
  • LeetCode 单调栈 739. 每日温度
  • Spark面试题及详细答案100道(71-80)-- 配置与部署
  • UDP特点及报文结构
  • ollama离线部署加载Qwen3-0.6b模型
  • 零基础12周精通Linux学习计划
  • Linux Shell 条件测试与 if 语句全解析
  • C语言内存精讲系列(九):深化详述 int 3(附录:int3 调试关键工具与实战案例)
  • 案例开发 - 日程管理 - 第六期
  • TCP 三次握手、四次挥手
  • 问题排查:之前运行正常的系统,突然批量接口报 404
  • 【Java实战㊱】Spring Boot邂逅Redis:缓存加速的奇妙之旅
  • Spring Cache 多租户缓存隔离解决方案实践
  • Mybatis-12 第三方缓存-EhCache
  • 【C++】特别的程序错误处理方式——异常机制
  • 嵌入式设备上mqtt库的使用
  • 【Linux基础知识系列:第一百二十六篇】使用dd命令进行磁盘复制
  • 从零到一使用Linux+Nginx+MySQL+PHP搭建的Web网站服务器架构环境——LNMP(上)
  • 使用虚拟机Ubuntu搭建mosquito服务器 使esp32、上位机通信