zoukankan      html  css  js  c++  java
  • 【应急响应】Linux安全加固

    一、补丁管理

    1、查看系统信息

    uname -a

    2、配置yun源

    CentosOS 可以直接升级
    RHEL系列可以配置使用CentosOS源

    3、升级软件包

    yum –y update

    二、安全工具

    三、日志审计

    1、操作日志系统

    2、相关命令

    who
    last

    1

    四、内核参数

    1、内核参数

      vi /etc/sysctl.conf

    net.ipv4.icmp_echo_ignore_broadcasts = 1 #忽略ICMP广播
    net.ipv4.icmp_echo_ignore_all = 1 #忽略ICMP echo请求
    net.ipv4.ip_default_ttl = 128 #修改TTL为128 
    #sysctl -p

    2、开启syncookies

    编辑/etc/sysctl.conf文件

    添加
    net.ipv4.tcp_syncookies = 1  
    net.ipv4.tcp_max_syn_backlog = 4096  
    net.ipv4.tcp_fin_timeout = 30  
    net.ipv4.tcp_synack_retries = 3  
    然后运行
    sysctl -p 

    五、网络服务

    1、SSH安全配置

        (1)禁止root登录

    PermitRootLogin no

      (2)绑定端口、协议和IP地址

    Port 22  
    Protocol 2  
    ListenAddress 192.168.1.1  

      (3)允许密码错误次数

    MaxAuthTries=3

    2、配置tcp_wrappers,限制允许远程登陆系统的IP范围

    编辑/etc/hosts.deny

    添加sshd:ALL

    编辑/etc/hosts.allow

    添加sshd:192.168.0.0/255.255.255.0

    六、账号管理

    1、密码文件passwd

    cat /etc/passwd

    2、密码文件shadow

    cat /etc/shadow

    3、用户管理

    添加/删除组
    groupadd、groupdel  
    
    添加/删除用户
    useradd、userdel  
    
    锁定/解锁用户
    passwd -l、passwd -u

    4、空密码用户

    (1)禁止root远程登录,只允许特定用户SSH登录

      编辑/etc/ssh/sshd_config,添加

     AllowUsers user1 user2 
     PermitRootLogin no

    (2)只允许特定的用户组执行su获得root权限

        编辑/etc/pam.d/su文件,将一下代码的注释符去掉

    #auth required pam_wheel.so use_uid 

    5、口令强度检查

    --retry=N:修改密码时,出现错误的次数
    --minlen=N:密码最少字符数
    --dcredit=N:至少有N个数字
    --ucredit=N:至少有N个大写字符
    --lcredit=N:至少有N个小写字符
    --ocredit=N:至少有N个其他字符

      编辑/etc/pam.d/system-auth

    password requisite pam_cracklib.so try_first_pass retry=3

    6、口令生存周期

    vi /etc/login.defs

    PASS_MAX_DAYS 99999 90  
    PASS_WARN_AGE 7 10

    7、认证失败后锁定

    编辑/etc/pam.d/system-auth文件,在auth required pam_env.so 后面添加

    auth required pam_tally.so onerr=fail deny=5 unlock_time=1800 

    8、禁止空密码用户登录

    编辑/etc/pam.d/system-auth文件

    auth sufficient pam_unix.so nullok try_first_pass  
    password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok

    七、文件权限

    1、文件权限

    ls -l /etc

    格式:权限(属主,属组,其他)链接数 属主 属组 大小 最近修改时间 文件名

     修改权限和属主:

    # chmod u+x,g+w,o+r /tmp/abc  
    # chown test:test /tmp/abc

    2、SetUID

    ls -l /bin/ping

    (1)设置SetUID

    # chmod u+s /tmp/abc  
    # ls -l /tmp/abc 

    (2)查找SetUID文件

    find / -perm -4000 -type f -print

    (3)文件系统属性

    lsattr  install.log

    根据不同的标志位设置不同的权限

    lsattr  列出文件属性
    chattr 修改文件属性
    chattr +i install.log

    3、文件系统属性

    文件系统属性
    a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日文件安全,只有root才能设定这个属性。
    c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
    d:即no dump,设定文件不能成为dump程序的备份目标。
    i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件系统的安全设置有很大帮助。
    j:即journal,设定此参数使得当通过mount参数:data=ordered或data=writeback 挂载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为data=journal,则该参数自动失效。
    s:保密性地删除文件或目录,即硬盘空间被全部收回。
    u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.

    4、完整性检查

    (1)md5sum

    #cat record.sh
       md5sum /etc/shadow >>md5.txt  
       md5sum /bin/ls >>md5.txt  
       md5sum /bin/netstat >>md5.txt  
    #cat md5.txt 
       e3faf4e266e8062b62357eb944a718f0  /etc/shadow
       e3faf4e266e8062b62357eb944a718f0  /etc/shadow
       4feb28d49aeb1c51fb827c7733ebf436  /bin/ls
       a3939f9a264880611f2ac7f255e339c6  /bin/netstat
    #md5sum -c md5.txt 
    /etc/shadow: 确定
    /etc/shadow: 确定
    /bin/ls: 确定
    /bin/netstat: 确定

    5、设置Bash保留历史命令的条数

      vi /etc/profile

    HISTSIZE=5  
    HISTFILESIZE=5 

    6、设置登录超时

      vi /etc/profile

    TMOUT=180

    7、设置root用户的umask为077

      编辑/root/.bash_profil

    添加umask 077

    8、防止误使用Ctrl+Alt+Del重启系统

      vi /etc/inittab

    注释:ca::ctrlaltdel:/sbin/shutdown -r -t 4 now

    111

  • 相关阅读:
    金蝶KIS 13.0专业版破解方法破解安装流程 金蝶KIS 13.0专业版安装流程
    android利用zbar二维码扫描-(解决中文乱码及扫描区域定义)
    Android 电子邮件发送成功与失败的提示
    WebView的应用 持续积累
    [LeetCode]Implement Stack using Queues
    android开发 Fragment嵌套调用常见错误
    【剑指Offer学习】【面试题55:字符流中第一个不反复的字符】
    UIWebView的使用,简单浏览器的实现
    php 发送与接收流文件
    IHttpModule在webconfig中的注册
  • 原文地址:https://www.cnblogs.com/sqyysec/p/7720114.html
Copyright © 2011-2022 走看看