UOS系统安全加固+漏洞处理
UOS系统安全加固
一、密码强度
1.图形化环境
l cp /etc/deepin/dde.conf /etc/deepin/dde.conf.old
l cat /etc/deepin/dde.conf
[Password]
STRONG_PASSWORD = true 启用强密码
PASSWORD_MIN_LENGTH = 8 密码最小长度
PASSWORD_MAX_LENGTH = 511 密码最大长度
VALIDATE_POLICY = "1234567890;abcdefghijklmnopqrstuvwxyz;ABCDEFGHIJKLMNOPQRSTUVWXYZ;~`!@#$%^&*()-_+=|\{}[]:"'<>,.?/"
VALIDATE_REQUIRED = 3密码强度策略,最少三组
PALINDROME_NUM = 4密码中不能包含类似 '12344321
WORD_CHECK = 1密码字典检查
MONOTONE_CHARACTER_NUM = 3即密码中不能包含 '123' ,'321','qwe' 等单调字符
CONSECUTIVE_SAME_CHARACTER_NUM = 3连续字符检测
DICT_PATH =
FIRST_LETTER_UPPERCASE = false
2.服务器中常用的配置
根据操作系统版本安装相关模块
104X:使用pam_deepin_pw_check.so ,103X:pam_cracklib.so,102X:pam_pwquality.so
这个模块优先度高于 /etc/deepin/dde.conf
l apt install libpam-pwquality -y
l cp /etc/pam.d/common-password /etc/pam.d/common-password.old
l vi /etc/pam.d/common-password
将“password requisite”该行改成如下内容:
password requisite pam_pwquality.so retry=3 enforce_for_root minlen=8 minclass=4 maxsequence=3 maxrepeat=3
3.设置密码过期时间
l cp /etc/login.defs /etc/login.defs.old
l vi /etc/login.defs
PASS_MAX_DAYS 90 ##设置密码最多可多少天不修改
PASS_MIN_DAYS 2 ##设置密码修改之间最小的天数
PASS_WARN_AGE 7 ##设置密码失效前多少天通知用户
二、限制登录
1.图形化界面下限制本地登录的设置
l cp /usr/share/dde-session-shell/dde-session-shell.conf /usr/share/dde-session-shell/dde-session-shell.conf.old
l vi /usr/share/dde-session-shell/dde-session-shell.conf
lockLimitTryNum:定义开始锁定的次数,一般密码输错5次开始锁定账户
lockWaitTime:定义开始锁定后,每输错一次都将重新设置等待时间,该字段可写1~5个数字,每个数字分别代表连续输错6,7,8…次密码后锁定的时间,分别为3分钟、5分钟、15分钟…….如果超过次数上限则沿用最后一个数字所示的锁定时间
2.禁止root本地和远程ssh登录
l cp /etc/pam.d/common-password /etc/pam.d/common-password.bak
l vi /etc/pam.d/common-password
添加 auth required pam_succeed_if.so user != root quiet_success
修改ssh配置文件
l cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
l sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
l systemctl restart ssh
3.限制用户远程登录
输错3次则锁定600秒,
l cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
l sed -i '1s/^/auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600 \n/' /etc/pam.d/sshd
账户锁定后解锁需要使用其他用户登录后执行
l sudo pam_tally2 -u 用户名 -r
三、防火墙
操作系统默认未安装防火墙,需要先安装,执行如下命令
l apt install –y ufw
安装好以后开启开机自启动
l systemctl enable ufw
启动防火墙
l systemctl start ufw
l ufw default deny 默认拒绝任何访问
l ufw allow 22 放开22端口 ,ufw delete allow 22 删除放开22端口
l ufw allow from 192.168.1.0/24 to any port 80放行192.168.1.0网段的主机访问本机端口80
l ufw status 查看端口开启情况
l ufw enable 启用ufw
l ufw disable 关闭ufw
四、备份日志
l crontab –l 查看定时任务
l crontab -e
分 时 日 月 周 命令
30 0 1 * * /usr/bin/tar czf /logbackup/`date +\%Y\%m\%d\%H`.tar.gz /var/log/
五、漏洞扫描
1.未使用的软件的漏洞
漏洞扫描后先查看有哪些软件的漏洞,例如可能出现httpd、squid、samba、tomcat等漏洞,处理方法是首先确认哪些软件是不使用的,将其卸载,例如服务器没有提供web服务,则将httpd删除 ,命令为apt remove apache2,其他的类似。
2.在使用的软件的漏洞
剩下的在使用的服务出现的漏洞处理方法为首先查看系统中漏洞软件版本和操作系统内核版本,例如
l 查看openssh版本命令为 apt policy openssh
l 查看系统内核信息命令为 dpkg -l |grep linux-image
l 查看UOS系统版本命令为 cat /etc/os-version
l 登录https://src.uniontech.com/index.php?m=&c=page&a=index ,搜索相关漏洞编号例如CVE-2022-0685 查看受影响的范围以及修复方法
六、控制服务访问的源地址范围
通过hosts.allow或hosts.deny设置
1.检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入。
2.对/etc/hosts.allow和/etc/hosts.deny的配置不用重启就立即生效,但不管重启不重启当前已有会话都不会受影响;
配置不允许192.168.100.1使用 ssh登入,在hosts.deny添加行。例:sshd:192.168.100.1
七、常见问题
1.密码强度不够:
错误范例:Abc1234!
2.账户被锁
解锁这项需要执行两条命令:
l rm /var/lib/deepin/authenticate/limit-states.json
l sudo systemctl restart deepin-authenticate.service
六、vi的使用
vi编辑器有两种模式:输入状态 和 命令状态
l 命令状态下
字母i 意思是切换到输入模式,以输入字符
l 输入状态下
直接打字输入,同时键盘的上下左右方向键可以使用调整位置。
l 输入完成后需要按esc键回到命令状态。
然后按出冒号 : ,然后输入wq即为保存文档并退出,q!为不保存文档退出。