• linux基础安全


    一、用户防护

    Chage  -l  用户名   查看用户账号有效期信息

    Chage  -E   时间   用户名   给用户设置过期时间

    /etc/login.defs  文件保存许多默认设置

    Passwd  -l  用户名  临时锁定用户

    Passwd  -S  用户名  查看用户状态

    Passwd  -u  用户名  解锁用户

    /etc/issue   用户登陆信息(包括操作系统和内核版本号)

    二、文件防护

    Lsattr  文件名

    Chattr  +a  文件名   可以追加  

    备注:这里追加只能是用echo >>  来追加,用vim打开追加会报错

    Chattr  -a   文件名   解锁文件

    Chattr  +i   文件名   锁定文件(不允许修改,删除),只能查看

    Chattr  -i  文件名   解锁文件

    更多操作可以man  chattr查看

    三、用户提权

    Su - 用户名  切换到该用户

    Su - 用户名  -c  命令”   以该用户的身份执行命令,非交互的(可用于写脚本)

    Whoami   查看当前用户身份

    Su  -  不加用户就是切到root

    Su  -  -c  “命令’  切换成管理员执行命令,这个要输入管理员的密码

    Sodu命令

    /etc/sudoers  两种方法修改

    1、vim   /etc/sudoers    打开之后有颜色高亮显示,缺点是配置文件写错不会报警

    2、Visudo 回车            打开都是一样的颜色,优点是配置文件写错会报警

    Example

    需求:给sofadm 用户执行 systemctl的权限

    1、which  systemctl  查询一下命令所在的路径

    /usr/bin/systemctl

    2、Vim  /etc/sudoers

    找到模板

    意思是:允许root用户,以所有身份,执行任何命令

    在下边添加一行

    Sofadm    ALL=(root)    /usr/bin/systemctl

    3、测试一下su  -  sofadm  切换到该用户

    Sudo  -l  查看一下可以执行的命令

    Sudo  Systemctl  restart sshd   启动不报错

    备注:命令可以用感叹号表示不予许做

    !  /usr/bin/passwd  root  表示不能给root用户改密码

    多个命令之间可以用逗号隔开   

    也可以用*表示,比如 /usr/sbin/user*  表示以user开头的命令都授权

    /user/sbin/user*  *  root  第二个*表示命令中选项

    可以为sudo 设置log日志,以便跟踪sudo执行操作

    /etc/sudoers 中添加一行   Defaults  logfile = “/var/log/sudo”  文件名可以自定义

    总结:su - 需要知道管理员密码

    Sudo 不需要知道管理员密码,但是前提是管理员已经分配权限才能执行

    四、Selinux

    安全上下文标签  cp 是会把原来文件标签变成之后文件夹下标签

    Mv 是会保留原来文件的标签

    Example

    查看标签  ls  -Z  文件

    改变文件标签:  chcon  -t  新标签  文件

    或者chcon  --reference=/var/ftp/d1.tar.gz  /var/ftp/d2.tar.gz

    比如:/root下创建一个文件cphttpd根目录下,程序就没有权限读取,如果是mv过去就有权限读取(阿里云ecs一般都没有开启selinux

    五、加密与解密

    Md5sum  文件名    md5校验码,用来查看文件内容是否有变化

    Vimdiff   文件1  文件2   比较两个文件的不同

    对称加密

    Gpg  -c  文件  加密   会在当前目录下生成一个文件.gpg的加密文件

    Gpg  -d  文件.gpg >  文件名   解密

    非对称加密步骤

    1、本机生成密钥对

    gpg --gen-key    生成

    gpg --list-keys   查看

    2、Export导出公钥

    gpg -a --export  UserA > /tmp/UserA.pub    -a 表示ASCALL码,UserA表示生成密钥时填的姓名

    3、Scp公钥到目标主机

    scp /tmp/UserA.pub 192.168.4.5:/tmp/ 

    4、目标主机import导入公钥

    gpg --import /tmp/UserA.pub

    gpg --list-keys   查看

    5、目标主机使用导入的公钥加密数据

    gpg -e -r UserA love.txt       -e表示加密,-r表示使用哪个公钥   会生成.gpg文件

    6、目标主机scp加密的问价到本机,本机使用私钥解密

    scp love.txt.gpg 192.168.4.100:/root

    gpg -d love.txt.gpg > love.txt

     

    非对称加密的签名机制步骤

    1、本机创建文件并用私钥签名

    tar zcf log.tar /var/log             //建立测试软件包

    gpg -b log.tar                     //创建分离式数字签名

    2、scp文件和签名一起发送给目标主机

    scp log.tar* 192.168.4.5:/root        //将签名文件与签名传给UserB

    3、目标主机使用公钥验证签名的真实性

    gpg --verify log.tar.sig log.tar

    六、AIDE入侵检测

    备注:该软件不会防止入侵,只能检测

    步骤

    1、装包,光盘自带

    Yum   -y  install  aide

    2、配置文件位置/etc/aide.aonf  做测试可以修改一下配置文件,只检测/root

    找到配置目录的行,ctrl + v ,然后下键到期,点击大写的I ,输入# ,然后按esc 注释之后添加一行  /root  DATAONLY

    3、做检测并且把生成的new文件拷贝到其他地方存放好

    Aide  --init

    存放路径:/var/lib/aide/aide.db.new.gz initialized

    4、new文件拷贝过来并且改名字把new去掉,然后做检测

    Mv    拷贝过来的路径/aide.db.new.gz initialized    /var/lib/aide/aide.db.gz initialized

    Aide  --check

    七、namp扫描

     # nmap [扫描类型] [选项] <扫描目标 ...>

    //常用的扫描类型// -sSTCP SYN扫描(半开)

    // -sTTCP 连接扫描(全开)

    // -sUUDP扫描

    // -sPICMP扫描

    // -A,目标系统全面分析

    //-p  21-22  ip  扫描指定ip的指定端口

    八、抓包

       

    A--------------交换机(路由器)--------------B

    前提:要在AB的路线上或者在A或者B上才能抓包,也就是包要经过抓包的位置

    Example:抓ftp

    1、A上装包

    Yum -y install tcpdump

    2、A抓包

    Tcpdump  -A  -h  ip  and  tcp  port  21  -w  ftp.log  

    -A  是抓的包用ASCALL码显示,不然都是乱码

    -w  是抓的包保存在文件中,会自动创建

    3、B上连接服务,输入账号密码

    ftp  ip

    4、A上查看

    Tcpdump  -r  ftp.log  |  egrep -i “(user|pass)”

    Egrep 是支持扩展正则

    -i   是忽略大小写

    //监控选项如下:

    // -i,指定监控的网络接口

    // -A,转换为 ACSII 码,以方便阅读

    // -w,将数据包信息保存到指定文件

    // -r,从指定文件读取数据包信息

    //tcpdump的过滤条件:

    // 类型:hostnetportportrange

    // 方向:srcdst

    // 协议:tcpudpipwlanarp、……

    // 多个条件组合:andornot

    When nothing seems to help, I go look at a stonecutter hammering away at his rock, perhaps a hundred times without as much as a crack showing in it. Yet at the hundred and first blow it will split in two, and I know it was not that blow that did it, but all that had gone before. -- Jacob Riis
  • 相关阅读:
    write to logfile
    open and read a file content to a variable
    strategy
    Android 开机启动程序
    消息队列
    卡机音乐功能实现
    Android 2.0 开机动画文件分析
    多线程实例
    消息队列
    多线程实例
  • 原文地址:https://www.cnblogs.com/xhwy-1234/p/11739585.html
Copyright © 2020-2023  润新知