精华内容
下载资源
问答
  • linux安全加固

    2018-11-27 18:57:28
    linux等保三级安全加固操作手册和说明文档,批量执行加固脚本。
  • Linux安全加固

    2019-04-08 16:24:00
     安全加固是企业安全中及其重要的一环,其主要内容包括账号安全、认证授权、协议安全、审计安全四项,今天首先学习Linux下的系统加固(CentOS)。 0x01 账号安全  这一部分主要是对Linux账号进行加固。 与账号...

    0x00 简介

      安全加固是企业安全中及其重要的一环,其主要内容包括账号安全、认证授权、协议安全、审计安全四项,今天首先学习Linux下的系统加固(CentOS)。

    0x01 账号安全

      这一部分主要是对Linux账号进行加固。

    与账号相关的文件

    /etc/passwd    -- 记录了系统中各用户的一些基本属性,root可写,所有用户可读
    
    /etc/shadow    -- 记录了所有用户的密码
    
    /etc/group     -- 记录了用户组属性

    修改密码策略

      vim /etc/login.defs

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

    设置密码强度

      vim  /etc/pam.d/system-auth,将

    password requisite  pam_cracklib.so

      修改为至少包含一个数字、一个小写字母、一个大写字母、一个特殊字符、且密码长度>=8:

    password requisite  pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8  

      Ubuntu中vi /etc/pam.d/common-password。

    限制用户登陆

      vim  /etc/hosts.deny,若禁止192.168.0.1对服务器进行ssh的登陆,添加如下内容

    sshd : 192.168.0.1  

    限制登陆次数

      应对暴力破解,我们可以限制登陆次数为5,超过5次登陆失败就锁定vim /etc/pam.d/sshd,在 #%PAM-1.0 的下面,加入下面的内容,表示当密码输入错误达到3次,就锁定用户150秒,如果root用户输入密码错误达到3次,锁定300秒。

    auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300

      锁定用户的管理:

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

    0x02 认证授权

      认证授权主要是验证你是谁,你能够做什么。

    文件目录权限

      在用户登陆中非常重要的三个文件

      /etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r— 权限值为644

      /etc/shadow 只有root可读 –r--------  权限值为400

      /etc/group 必须所有用户都可读,root用户可写 –rw-r—r— 权限值为644

    chmod 644 /etc/passwd
    chmod 400 /etc/shadow
    chmod 644 /etc/group

    检查是否存在除root之外UID为0的用户:

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

      检索出来的非root用户用userdel命令全部删除。

    检查是否使用PAM认证模块禁止wheel组之外的用户suroot

    [root@centos ~]# #vim /etc/pam.d/su       # 新添加以下两行
    
    auth            sufficient      pam_rootok.so
    
    auth            required        pam_wheel.so use_uid

      注意:auth与sufficient之间由两个tab建隔开,sufficient与动态库路径之间使用一个tab建隔开

      然后,:usermod -G wheel username    #username为需要添加至wheel组的用户名称,将用户添加到wheel组。注意,第一步加固表明只有wheel组中的用户才能使用su命令切换到root用户,因此必须将需要切换到root的用户添加到wheel组,以使它可以使用su命令成为root用户,如果系统不存在wheel组,则新增,新增方法:groupadd wheel。

      PAM(Pluggable Authentication Module)是一个可插入式认证模块,在Linux系统中,各种不同的应用程序都需要完成认证功能,为了实现统一调配,把所有需要认证的功能做成一个模块(认证机制特别复杂的除外,如:https),当特定的程序需要完成认证功能的时候,就去调用PMA的认证模块。

    文件与目录缺省权限控制

    [root@centos ~]#cp /etc/profile /etc/profile.bak
    
    [root@centos ~]# vim   /etc/profile
    
    umask 027
    
    [root@centos ~]#source  /etc/profile

    0x03 协议安全

      协议加固主要阻止入侵者远程获取服务器的权限。

    SSH安全
      SSH是一个协议,利用它可以登录到一个远程系统或远程执行系统命令,默认允许root登录,并且sshv1存在缺陷,我们应该在sshd_config禁止root访问和使用sshv2来让ssh更加安全。vim /etc/ssh/sshd_config 修改为:

    PermitRootLogin    no

    telnet安全

      早期的Linux默认开启telnet服务,telnet,ftp,rlogin都是明文传输的协议,如果必须使用telnet,则需要进行安全配置:

    /etc/xinetd.d/telnet
    disable=yes

    禁止匿名ftp

      [root@wenzhiyi ~]# vim  /etc/vsftpd/vsftpd.conf

      anonymous_enable=NO    #如果存在anonymous_enable则修改,如果不存在则手动增加

    预防Flood攻击

    [root@centos ~]# vim  /etc/sysctl.conf
    
    [root@centos ~]# net.ipv4.tcp_syncookies = 1
    
    [root@centos ~]# sysctl  -p  #让命令生效

    禁止ping

    # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 开启
    # echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all  关闭

    0x04 审计安全

      日志就是计算机系统、设备、软件等在某种情况下记录的信息。具体的内容取决于日志的来源

    检查是否记录安全事件日志

    [root@wenzhiyi ~]# vim  /etc/syslog.conf 或者 /etc/rsyslog.conf,在文件中加入如下内容: 
    
    *.err;kern.debug;daemon.notice     /var/log/messages
    
    [root@wenzhiyi ~]# chmod 640 /var/log/messages
    
    [root@wenzhiyi ~]#  service rsyslog restart 

    建立日志服务器

      日志服务器的好处在于,每个工作服务器将自己的日志信息发送给日志服务器进行集中管理,即使有人入侵了服务器并将自己的登录信息悄悄删除,但由于日志信息实时与日志服务器同步,保证了日志的完整性。以备工作人员根据日志服务器信息对服务器安全进行评测。

      在客户端修改配置文件/etc/rsyslog.conf

      想把哪种类型的日志文件发送给服务端,你就把他原来的对应的目录改成: @日志服务器ip

      然后重启rsyslog服务:

     systemctl  restart  rsyslog

      在服务器端打开 /etc/rsyslog.conf 配置文件,将后两行注释给去掉

     

      然后重启rsyslog服务,开启防火墙,这样就完成了日志服务器的搭建。

    systemctl  restart  rsyslog
    firewall-cmd  --add-port=514/tcp

     

    转载于:https://www.cnblogs.com/richardlee97/p/10671322.html

    展开全文
  • linux 安全加固

    2019-09-10 14:56:13
    linux 安全简单加固: 1.关闭LKM echo 1 >/proc/sys/kernel/modules_disabled or sysctl -w kernel.modules_disabled = 1 vi /etc/sysctl.conf 2.限制/dev/mem more /boot/config-3.10.0-862.el7.x86_64 |grep ...

    linux 安全简单加固:
    1.关闭LKM
    echo 1 >/proc/sys/kernel/modules_disabled
    or
    sysctl -w kernel.modules_disabled = 1
    vi /etc/sysctl.conf

    2.限制/dev/mem
    more /boot/config-3.10.0-862.el7.x86_64 |grep  DEVMEM
    设置 CONFIG_STRICT_DEVMEM=y

    3.内核参数调整
    3.1 开启ASLR
    设置 /proc/sys/kernel/randomize_va_space 为2
    kernel.randomize_va_space = 2
    隐藏内核符号表,设置为1
     /proc/sys/kernel/kptr_restrict
    kernel.kptr_restrict = 1
    内核映射最小地址 ,启动设置为65536
    /proc/sys/vm/mmap_min_addr
    vm.mmap_min_addr = 65536

    4.禁用NAT
    echo 0 >/proc/sys/net/ipv4/ip_forward
    ipv4.ip_forward = 1


    5.bash 日志
    设置命令 只读 history 
    readonly  HISTFILE
    readonly  HISTFILESIZE
    readonly  HISTSIZE
    readonly  HISTCMD
    readonly  HISTCONTROL
    readonly  HISTGNORE

    history 文件添加时间戳
    export HISTTIMEFORMAT='%F %T'

    更改HISTFILE为其他文件:
    HISTFILE=/usr/local/log/cmd

    加固history 历史文件只能追加,
    chattr +a .bash_history


    6.禁掉系统中所有其他shell,一般包括csh,tcsh,ksh。
    # chmod 750 csh
    # chmod 750 tcsh
    # chmod 750 ksh

    7.可写目录不解析,解析目录不可写
    chmod 755 目录
    若为777 则修改属主为用户
    chown 777 nginx.nginx 目录

    日志文件目录添加禁止直行脚本
    location ~* ^/data/cgisvr/log/.*\.(php|php5)$ {
    deny all;
    }

    java 禁止解析jspx,修改conf/web.xml
    <url-pattern>*.jspx<url-pattern>


    7.过滤特定文件类型
    server
    {
        listen 88;
        server_name XXXXX;
        root /data/softs/dev_tools;
        index admin.html index.html index.html;
        autoindex on;
        charset utf-8;
        #charset gbk;
        location / {
        
         }
         location ~* \. log|class|inc|bak${
         rewrite ^ http://www.XXXXX.com permanent;
         }
    }

    8.设置密码失效时间
    在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如:
    vi /etc/login.defs
    PASS_MAX_DAYS 180
    需同时执行命令设置root密码失效时间:
    chage --maxdays 180 root
    9.设置密码修改最小间隔时间
    在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7:
    vi /etc/login.defs
    PASS_MIN_DAYS 7
    需同时执行命令为root用户设置:
    chage --mindays 7 root
    10.密码复杂度检查
    编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如:
    vi /etc/security/pwquality.conf
    minlen=10
    minclass=3
    11.检查密码重用是否受限制
    在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。
    vi /etc/pam.d/password-auth
    remember=5 
    vi /etc/pam.d/system-auth

    12.设置SSH空闲超时退出时间
    编辑/etc/ssh/sshd_config,将 ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。
    vi /etc/ssh/sshd_config
    ClientAliveInterval 600
    ClientAliveCountMax 2

    展开全文
  • Linux安全加固优化

    2020-10-27 11:27:19
    手把手教你,Linux安全加固和Linux安全优化 ,还有漏洞修补模块,文档都有详细的教程。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,679
精华内容 3,471
关键字:

linux安全加固

linux 订阅