zoukankan      html  css  js  c++  java
  • 系统安全及应用

    、系统账号清理

    1、将非登录用户的shell设为/sbin/nologin;

    2、锁定长期不使用的账号;

    3、删除无用账号;

    4、锁定账号文件passwd,shadow

    二、chattr命令的用法

    1、“+”:在原有参数设定基础上,追加参数;

    2、“-”:在原有参数设定基础上,移除参数;

    3、“=”;更新为指定参数设定。

    “A”:文件或目录的atime(access time)不可被修改(modified),可以有效预防例如手提电脑,磁盘I/O错误的发生;

    “S”:硬盘I/O同步选项,功能类似sync;

    “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。

    各参数选项中常用到的是“a”和“i”。“a”选项强制只可添加不可删除,多用于日志系统的安全设定,而“i”是更为严格的安全设定,只有superuser(root)或具有CAP_Linux_IMMUYABLE处理能力(标识)的进程能够施加该选项。

    chattr命令的应用举例:

    1、设定文件/etc/passwd /etc/shadow文件不能被修改、删除、创建链接并验证

    2、解锁并yanzheng

    三、密码安全控制

    1、设置密码有效期;

    2、要求用户下次登陆修改密码。

    vi /etc/login.defs

    ……

    PASS_MAX_DATS 30

    (适用于新建用户)

    chage –M 30 aaa  (适用于已有用户)

    chage –d 0 aaa (强制在下次登录时更改密码)

    四、命令历史限制

    1、减少记录的命令条数;

    vi /etc/profile

    HISTSIZE=200

    2、注销时自动清空历史命令。

    vi ~/.bash_logout

    history -c

    clear

    history –c

    该命令可以清空本次登入的所有输出命令,但不清空.bash_history文件,所以下次登陆后,旧命令还将出现,历史命令是存在于当前用户根目录下的./bash_history文件。

    echo > $home./bash_history 

    每个用户根目录下都有一个.bash_history文件用于保存历史命令,当每次注销时,本次登陆所执行的命令将被写入该文件。所以可以直接清空该文件,下次登录上次保存的命令将消失,清空效果将在下次登陆生效。

    五、使用su命令切换用户

    1、用途:Substitute User 切换用户;

    2、格式:su  目标用户

    六、密码验证

    1、root——任意用户  不验证密码;

    2、普通用户——其他用户  验证目标用户的密码。

    七、限制使用su命令的用户

    1、将允许使用su命令的用户加入wheel组;

    2、启用pam_wheel认证模块。

    八:PAM安全认证流程

    控制类型也称做Control Flags,用于PAM验证类型的返回结果。

    1、required验证失败时仍然继续,但返回Fail;

    2、requisite验证失败时立即结束整个验证过程,返回Fail;

    3、sufficien验证成功则立即返回,不再继续,否则忽略结果并继续;

    4、optional不用于验证,只显示信息(通常用于session类型)

    九、PAM验证的构成

    1、看某个程序是否支持PAM认证,可以用ls命令

    例:查看su是否支持PAM模块认证

    2、查看su的PAM配置文件

    1、每一行都是一个独立的认证过程;

    2、每一行可以区分为三个字段

    认证类型,控制类型,PAM模块及其参数

    PAM认证类型包括四种:

    认证管理(authentication management):接受用户名称和密码,进而对该用户的密码进行认证;

    账号管理(account management):检查账户是否被允许登陆系统,账号是否已经过期,账号的登陆是否有时间段的限制等;

    密码管理(password management):主要用来修改用户的密码;

    会话管理(session management):主要是提供对会话的管理和记账。

    十、PAM认证原理

    1、一般遵循的顺序:

    Service(服务)——PAM(配置文件)——pam_*.so

    2、首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证

    3、用户访问服务器时,服务器的某一服务程序把用户的请求发送到PAM模块进行认证

    4、不同的应用程序所对应的PAM模块是不同的

    十一、su命令的安全隐患

    1、默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登陆密码,带来安全风险;

    2、为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换。

    十二、PAM可插拔式认证模块

    1、是一种高效而且灵活便利的用户级别的认证方式;

    2、也是当前Linux服务器普遍使用的认证方式。

    十三、使用sudo机制提升权限

    1、sudo命令的用途及用法

    (1)、以其他身份(如root)执行授权的命令

    (2)、用法:sudo 授权命令

    2、配置sudo授权

    3、4个ALL代表的含义

    (1)、从左到右第一个ALL代表的是用户;

    (2)、从左到右第二个ALL代表的是机器;

    (3)、从左到右第三个ALL代表的是新用户身份(sun_as_user,如root);

    (4)、从左到右第四个ALL代表的是命令。

    sudo –l可以查看结果

    4、查看sudo操作记录

    (1)、需启用Defaults logfile配置;

    (2)、默认日志文件:/var/log/sudo

    十四、GRUB限制

    1、使用grub2-mkpasswd-pdkdf2生成密钥;

    2、修改/etc/grub.d/00_header文件,添加密钥记录;

    3、生成新的grub.cfg配置文件

    十五、限制root只在安全终端登陆

    1、安全终端配置:/etc/securetty

    十六、禁止普通用户登陆

    1、建立/etc/nologin文件

    2、删除nologin文件或重启后恢复正常

    十七、Joth the Ripper,简称JR

    1、一款密码分析工具,,支持字典式的暴力破解;

    2、通过对shadow文件的口令分析,可以检测密码强度;

    3、官方网站:http://www.openwall.com/john/

    操作过程:

    十八、网络扫描

    rpm  -ivh  /mnt/Packages/nmap-****.rpm  安装nmap软件包

    nmap  -sT  (tcp连接扫描) 127.0.0.1、192.168.4.0/24192.168.4.100-200

          -sU  (UDP扫描) 127.0.0.1、192.168.4.0/24192.168.4.100-200

          -sP  (icmp连接扫描) 127.0.0.1、192.168.4.0/24192.168.4.100-200

          -sS  (tcp syn连接扫描) 127.0.0.1、192.168.4.0/24192.168.4.100-200

          -p  (指定端口扫描) 127.0.0.1、192.168.4.0/24192.168.4.100-200

  • 相关阅读:
    天涯何远 咫尺相依
    Load runner 11在多台测试机上执行一个场景的方法
    利用MVC4新特性为站点添加移动视图
    让django像Asp.Net Mvc一样自动匹配Controller和Action
    使用TFS API前提条件:SDKs
    ubuntu手动安装jdk并配置jetty
    [zz] Install rpm in Ubuntu
    64位ubuntu下安装32位jdk
    [zz] Ubuntu11.04安装谷歌输入法
    SpringCloud gateway lb//方式+ nacos 503 三种解决方案
  • 原文地址:https://www.cnblogs.com/tianzhendengni/p/13814452.html
Copyright © 2011-2022 走看看