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

猜你喜欢

转载自www.cnblogs.com/xhwy-1234/p/11739585.html