• linux系统加固


    常规安全配置

    重要目录和文件权限:合理配置重要目录和文件权限,增强安全性

    检查方法:使用ls -l命令查看目录和文件的权限设置情况

    加固方法:对于重要目录,建议执行类似操作 chmod -R 750 /etc/rc.d/init.d/*  这样除了root可读,写,执行这个目录下的脚本

    umask值

    操作目的:设置默认的umask值,增强安全性

    检查方法:使用umask查看umask值是否为027

    加固方法:使用命令 vim /etc/profile 添加umask 027 即新创建的文件属主读写执行权限,同组用户读和执行权限,其他用户无权限。使用命令umask 027应用设置

    bash历史命令

    操作目的:设置bash保留历史命令的条数

    检查方法:使用 cat /etc/profile|查看HISTSIZE 和 HISTFILESIZE 查看保留历史命令的条数

    加固方法:vim /etc/profile 修改配置文件

    HISTSIZE=5  即保留5条命令

    登陆超时

    操作目的:设置系统登陆后,连接超时时间,增强安全性

    检查方法:使用命令 cat /etc/profile | grep TMOUT 查看tmout是否被设置

    加固方法:vim /etc/profile 修改配置文件,把TMOUT设置为180 即超时时间为3分钟

    root路径

    操作目的:检查系统root用户环境变量path设置中是否包含 “  .  ”

    检查方法:root用户环境变量path中不应包含当前目录 “ . ”,以root身份执行命令:#echo $PATH /usr/local:/sbin:/bin:/usr/bin:/root/bin:.

    加固方法:vim /etc/profile 修改echo $PATH后面的路径

    禁用无用账号

    操作目的:减少无用账号,降低风险

    检查方法:使用 cat /etc/passwd 查看口令文件,确认不必要的账号。不必要的账号,shell应该sbin/nologin

    加固方法:使用passwd -l user 锁定不必要的账号

    账号策略

    操作目的:防止口令暴力破解,降低风险

    检查方法:使用命令 cat /etc/pam.d/system-auth 查看配置文件

    加固方法:设置连续输错3次密码账号锁定2小时,vim /etc/pam.d/system-auth 修改配置文件

    auth required pam_tally.so onerr=fail deny=3 unlock_time=7200

    检查特殊账号

    操作目的:查看空口令和root权限的账号

    检查方法:使用命令 awk -F:'($3==0)'/etc/passwd 查看uid为0的账号

                 awk -F:'($2=="")'/etc/shadow 查看空口令账号

    加固方法:使用命令 passwd user 为空口令账号设定密码,uid为0的账号应该只有root 使用usermod -u uid user

    口令周期策略

    操作目的:加强口令的复杂度,降低被猜解的可能性

    检查方法:使用命令 cat /etc/login.defs | grep PASS 和 cat /etc/pam.d/system-auth 查看密码策略

    加固方法:vim /etc/login.defs 修改配置文件

    PASS_MAX_DAYS   60  新建用户的密码最长使用天数
    PASS_MIN_DAYS   0     新建用户的密码最短使用天数
    PASS_WARN_AGE   7   新建用户的密码到期提前提醒天数

    或 chage -m 0 -M 30 -E 2020-01-01- -W user(将user用户的密码长度设为30天,最短提醒天数为0 账号2020年1月1号过期,过期前7天警告用户)

    口令复杂度策略

    操作目的:加强口令的复杂程度,降低被猜解的可能性

    检查方法:使用命令 cat /etc/pam.d/system-auth | grep pam_cracklib.so 查看密码复杂度策略设置

    加固方法:建议在/etc/pam.d/system-auth文件中配置:password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 至少八位。包含一位大写字母,一位小写字母和一位数字

    限制root远程登陆

    操作目的:限制root远程telnet登陆

    检查方法:检查方法 cat /etc/ssh/sshd_config  查看PermitRootLogin是否为no

    加固方法:编辑文件 vim /etc/ssh/sshd_config

           PermitRootLogin no不允许root登陆

              Protocol 2 修改ssh使用的协议版本

              MaxAuthTries 3 修改允许密码错误次数

                            或echo "tty1" > /etc/securetty

                            chmod 700 /root

    限制能够su为root的用户

    操作目的:检查是否使用pam认证模块禁止wheel组之外的用户su为root

    检查方法:cat /etc/pam.d/su,查看是否有auth required /lib/security/pam_wheel.so这样的配置条目

    加固方法:vim /etc/pam.d/su

          在头部添加 auth required /lib/security/pam_wheel.so group=wheel

    检查Grub/Lilo密码

    操作目的:查看系统引导管理器是否设置密码

    检查方法:  cat /etc/grub.conf|grep password    查看grub是否设置密码

          cat /etc/lilo.conf|grep password    查看lilo是否设置密码

    加固方法:为grub或lilo设置密码(风险:etc/grub.conf通常会链接到/boot/grub/grub.conf)

                     vim /etc/grub.conf 添加一行 password --md5 密码

                     vim /etc/lilo.conf password=密码

    弱口令审计

    操作目的:检查系统弱口令

    检查方法:john /etc/shadow --single  john /etc/shadow --wordlist=pass.dic

    加固方法:使用passwd 用户 命令为用户设置复杂的密码

    NFS共享

    使用exportfs查看NFS输出的共享目录。使用vim /etc/exports编辑配置文件,删除不必要的共享

    限制crtl+alt+del命令

    操作目的:防止使用crtl+alt+del重启系统

    检查方法:cat /etc/init/control-alt-delete.conf

    加固方法:vim /etc/init/control-alt-delete.conf 注释两行代码

    禁ping

    echo 0 > /proc/sys/net/ipv4/icmp_echo_igore_all

    后门检测工具

    Rootkit Hunter(http://rkhunter.sourceforge.net/)

    解压后安装 ./installer.sh --layout default --install

    rkhunter --check 检测命令(自动检测)

    友情链接  http://www.cnblogs.com/klionsec

                    http://www.cnblogs.com/l0cm

                    http://www.cnblogs.com/Anonyaptxxx

                    http://www.feiyusafe.cn

  • 相关阅读:
    calc属性
    transform,transtion属性
    cursor:属性
    html页面禁止用户右键粘贴复制保存的代码
    git 删除与撤回
    git 仓库原理
    git 创建本地仓库
    git提示错误关于错误:ssh: Could not resolve hostname github.com: Name or service not known.fatal: Could not read from remote repository.
    AttributeError: module 'socket' has no attribute 'SO_REUSEPORT'
    python paramiko模块sftp异常:paramiko.ssh_exception.SSHException: EOF during negotiation
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/10757155.html
Copyright © 2020-2023  润新知