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

安全-Linux基线核查项点

Linux基线加固/整改

1.限制超级管理员远程登录

修改远程管理程序ssh的配置文件

vi /etc/ssh/sshd_config

PermitRootLogin no

重启sshd服务

systemctl restart sshd

2. 修改默认密码生存周期

一个好的密码时间策略如下:

vi /etc/login.defs

PASS_MAX_DAY 90 最长使用期限

PASS_MIN_DAY 0 最短使用期限

PASS_MIN_LIN 8 密码最小长度

PASS_WARN_AGE 7 最长期限到期前7天提醒修改密码

3. 设置密码强度策略

目的:规范使用高强度密码,延长被爆破的时间

修改pam认证文件

vi /etc/pam.d/system-auth

添加如下内容

password requisite pam_cracklib.so

try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minclass=3 minlen=8

centos7设置密码复杂性

vi /etc/security/pwquality.conf

#添加如下内容

authconfig --passminlen=8 --update    密码最短8位

authconfig --enablereqlower --update    包含一个小写

authconfig --enablerequpper --update    包含一个大写

authconfig --enablereqdigit --update       包含一个数字

authconfig --enablereqother --update     包含一个字符

4. 设置强制密码历史(修改后的密码不能和密码历史相似)

目的:防止被社工字典爆破

修改pam认证文件

vi /etc/pam.d/system-auth

#添加内容

password sufficient pam.unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

5.限制硬件资源

目的:限制用户对系统资源的使用,避免DDOS攻击

vi /etcsecurity/limits.conf

加入以下内容
* soft core 0

* hard core 0

* hard rss 5000

* hard nproc 20

这些行的意思是:“core 0”表示禁止创建core文件;“nproc 20”把最多进程数量限制到20;“rss 5000”表示除了root之外,其他用户都最多只能用5M内存。这些都只对登录到系统中的用户有效。通过这些限制,就能更好地控制系统中的用户对进程、core文件和内存的使用情况。星号“*”表示的是所有登录到系统的用户。 

6.对用户使用ls、rm设置别名

目的:让ls随时看清文件属性,让rm需要确认后删除目标实施方法

修改当前用户的登录启动脚本

vi ~/.bashrc

#追加别名命令

alias ls=“ls -alh”

alias rm=“rm -i”

7. 禁止任何人su为root账户

目的:避免任何人使用su切换到root,减少提权风险

修改su的配置文件

vi /etc/pam.d/su

#加入以下内容

auth sufficient /lib/security/pam_rootok.so

auth required /lib/security/pam_wheel.so

group=wheel

如果需要su切换,将用户加入wheel组

gpasswd -a username wheel

8. 启用日志记录功能,使用日志服务器

目的:增加审计记录,分布保存日志

修改应用服务器日志配置文件

vi /etc/rsyslog.conf

#确认关键日志审计是否存在

*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.*                              /var/log/secure

并添加两行转发日志信息

*.info;mail.none;authpriv.none;cron.none     @IP地址      (一个@是udp,两个@@是tcp)
authpriv.*                                  @IP地址

重启服务

systemctl restart rsyslog

设置日志服务器的配置文件

vi /etc/rsyslog.confss

开启接收日志功能

$ModLoad imudp
$UDPServerRun 514
$template Romote,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log"  //远程日志路径
:fromhost-ip,!isequal,"127.0.0.1" ? Remote             //本地日志不存储远程文件

重启服务

systemctl restart rsyslog

PS:记得要关闭iptables(iptables -F)

9.重要日志权限不应该高于640

目的:防止日志泄露敏感信息

ls -la /var/log/

chmod -R 640 /var/log

 10.关闭非加密远程管理telnet

目的:降低被抓包后获取系统关键信息

修改telnet配置文件

vi /etc/xinetd.d/telnet

#修改内容为

disable=yes

11. 使用加密的远程管理ssh

目的:使用安全套接字层加密传输信息,避免被侦听到敏感信息

修改配置文件

vi /etc/ssh/sshd_config

#禁止root登录,修改默认端口,开启v2版本

PermitRootLogin no
Port 10022
Portocol 2

重启服务

systemctl restart sshd

12.固化常用DNS解析

目的:降低被DNS劫持的可能

修改hosts文件:vi /etc/hosts

#加入解析信息

61.59.123.22 www.baidu.com

13. 不响应ICMP请求

目的:不对ICMP请求作出响应,避免泄露信息

修改网络策略布尔值

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

14. 禁止处理无源路由

目的:防止被无源数据包利用,防止ARP攻击

检查是否开启了路由功能

sysctl -n net.ipv4.conf.all.accept_source_route

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

15.FTP使用黑白名单限制

检查黑名单是否包含高危账户

cat /etc/ftpusers

root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4

使用白名单文件

cat /etc/user_list

#配置文件中是否存在

user_deny=NO

userlist_enable=YES

16. FTP设置上传文件后的默认权限

目的:防止被上传执行脚本

检查主配置文件/etc/vsftpd.conf是否存在如下内容

write_enable=YES

local_umask=022

anon_umask=022

17.去掉FTP的banner信息

目的:防止泄露服务信息

检查主配置文件/etc/vsftpd/vsftpd.conf是否存在如下内容

#存在下面这行,则要删掉

ftpd_banner=“Authorized users only. All activity may be monitored and reported.” 

18. 检查账户目录中是否存在高危文件.netrc、.rhosts(使用第三方远程软件时会生成这些记录文件)

目的:防止被使用远程登录漏洞

检查账户家目录中是否存在远程主机文件

for DIR in `cut -d":" -f6 /etc/passwd`; do
if [ -e $DIR/.netrc ]; then
echo "$DIR/.netrc"
fi
done//无返回值表示正常

19.隐藏系统提示信息

目的:避免通过系统提示信息获取系统状态

#查看登录banner信息

cat /etc/issue

#清空banner文件

echo > /etc/issue

20. 设置登录超时注销

目的:防止疏忽导致命令行被他人使用

#修改/etc/profile

vi /etc/profile

#在HISTSIZE下面加入

TMOUT=180

生效

source /etc/profile

21.关闭ctrl+alt+del重启功能

目的:防止误操作重启服务器

# 修改配置文件

vi /usr/lib/systemd/system/ctrl-alt-del.target

注释所有内容

 22.检查是否存在空口令账号

不应该存在空口令的账号。

#检查是否有输出账号,若有输出则该账号为空口令账号

awk -F: ‘($2 == “”) { print $1 }’ /etc/shadow

23. 检查除root账户以外是否存在uid为0的账户

uid为0的账户应只有root

#检查输出条目是否只有root

awk -F: ‘($3 == 0) { print $1 }’ /etc/passwd

相关文章:

  • uni-app项目实战笔记2--使用swiper实现纵向轮播图
  • 专业天猫代运营托管公司推荐
  • 力扣HOT100之技巧:287. 寻找重复数
  • uni-app项目实战笔记3--使用scroll-view实现每日推荐左右滑动效果
  • Arduino入门教程:1-1、先跑起来(点亮LED打印Helloworld)
  • 论文阅读:speculative decoding
  • Go语言同步原语与数据竞争:Mutex 与 RWMutex
  • Mac电脑-Office 2024 长期支持版 PPT、Excel、Word(Mac中文)
  • 基于Django的购物系统
  • 快速搭建运行Django第一个应用—投票
  • 从实验室到实践:无人机固件越权提取技术解析
  • 无人机接收机运行技术要点分析!
  • 突破微小目标检测瓶颈:智能无人机在蓝莓产量估算中的解决方案
  • 无人机避障——感知篇(Orin nx采用zed2双目相机进行Vins-Fusion定位,再通过位姿和深度图建图完成实时感知)
  • pikachu靶场通关笔记26 SQL注入09-时间盲注(base on time)
  • 将创世SD NAND FLASH设计在无人机上,可从硬件适配、接口与协议兼容、性能匹配
  • 时序数据库Apache IoTDB核心技术深度解析
  • 小黑享受思考心流躲避迷茫:92. 反转链表 II
  • FFmpeg 压缩视频文件
  • 中国第七次人口普查100m网格化人口数据集(Tif/分省/分市)
  • 赣州住房与城乡建设厅网站/天津关键词排名推广
  • 通过云主机建设网站/友链互换平台推荐
  • 博远手机销售管理系统app/seo怎么搞
  • 做网站 珠海/网站推广系统
  • 手表网站 二手/搜狗站长管理平台
  • 网络管理系统平台/青岛seo关键词优化排名