墨菲定律说如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。所以也告诫我们做任何事都要确保它的正确性和安全性。接下来介绍几种安全的linux小工具。
Aide 数据库监控
配置文件:/etc/aide.conf
Aide的数据库存储在/var/lib/aide/下面,一旦初始化数据库就会自动生成数据库文件,然后检查监控的数据是否发生了改变,如果发生了更改会检查出来,但是这个数据库不保存日志类的经常变动的文件信息。
第一步:配置想要监控的参数,调用它自己定义的监控参数
例如: fn = p+u+acl+sha256
第二步:写入你自己想要监控的文件,不想要监控的文件,删除掉它自己的定义的需要监控的文件。
例如 : /etc fn
!/etc f1
第三步:初始化数据库 aide --init
如果想要检查数据库,就必须要把数据库aide.db.new.gz 更改成aide.db.gz
第四步: 修改监控 的文件的内容或者权限。
第五步:如果不想要对指定的文件监控,可以再次修改配置文件里的监控文件。然后更新数据库,再把数据库的名字修改一就可以了。
编译安装dropbear
dorpbear是一个使用ssh服务的小工具,里面有服务端端里面有dropbear服务,客户端工具有dbclient,scp服务。是一个小型的服务连接的小工具。
1.安装开发包组:
这一步一般只要源码安装过,所以不用安装了。
2.下载源码包dropbear-2017.75.tar.bz2
3.解包tar xvf dropbear-2017.75.tar.bz2
4.进入安装的包的路径下,查看安装的帮助文档INSTALL,README,里面都有详细的介绍。
5.一般都是自己指定配置文件和安装路径,还有一些自己不想用的功能都可以查看./configure --help.
6.查看自己的安装的目录,里面的文件是否都齐全。
7.如果想要运行这个服务,还要查看路径有没有被包含,可以自己把路径加入到PATH.
8.查看配置文件是否生成,在自己的指定目录下,如果没有就查看README。
9.在README中发现如果要启用这个服务必须要激活配置文件
10.进入指定的配置文件/etc/dropbear这个目录,激活密钥。
11.开启服务,首先开启充当服务端的服务。指定端口号,并且-F后台运行,自己还能做其他的事情
14.查看客户端的工具是否可以使用,dbclient发现连接别人也是可以的。
15.scp工具的使用,需要在指定的路径下,创建一个软链接就可以使用了。
创建CA和证书
第一步:查看openssl的配置文件 cat /etc/pki/tls/openssl.cnf
第二步:首先需要找两个主机一个充当颁发证书的机构,一个是申请证书的机构。注意颁发的机构首先需要给自己认证就是自签名。
第三步:CA自签证书
生成私钥
cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem -des 2048 )
第四步:生成自签名证书
openssl req -new -x509 key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
第五步:颁发证书
1.在请求证书的主机上生成私钥,可以不用加密。
2.生成证书申请文件,日期可写可不写,因为CA决定期限
openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out etc/pki/tls/test.csr
4.CA签署证书,并将证书颁发给请求者,证书的名字可以自己指定。
touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
6.生成两个一样的证书文件。
第六步:查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE(证书所在路径) -noout -text|issuer|subject|serial|dates
第七步:CA把颁发的证书传送回去。
第八步:如果想要一个申请颁发两个证书,就要改数据库文件。
第九步:吊销证书,首先查看吊销的的证书编号,然后吊销,再对外发布吊销的证书。
ssh客户端的X协议
图形解析:上图可以看出当centos7连接6的时候走的是ssh协议,并且充当的是客户端,并且是X协议的服务端。
验证说明:xclock
解析:因为7上并没有这个小程序,xclock这个程序是X协议的图形化程序,7打开这个程序的时候就是充当X协议的服务端,通过划图形,连接显卡来显示6上的程序,而6是X协议的客户端。
基于key认证
实验准备:准备三台主机,一台客户端,一台服务端,一台盗取客户端私钥的主机
第一步:在客户端上生成密钥对
ssh-keygen -t rsa [-p ''] [-f "~/.ssh/id_rsa"]
第二步:把公钥文件传输给远程服务器
ssh-copy-id [-i [identity_file]] [user@]host
第三步:测试登陆服务器
第四步:把密钥传输给其他的主机也可以,不用验证。
第五步:当客户端私钥被其他的主机盗走。
第六步:就会出现盗走私钥的主机通过客户端的主机登陆服务器不需要验证。
第七步:为了安全对私钥加密一下比较好,生成私钥的时候没加密,可以后来加密(当然在没有被盗走之前)
第八步:为了方便不想记住加密的密钥密码,可以交给代理记住密钥的密码。
交给代理挺安全,如果你断开连接,再次登录需要密码验证,也就是再次重复第八步的动作。
sudo授权管理
配置文件/etc/sudoers,自己的配置可以写在/etc/sudoers.d/下面,通过visudo命令编辑配置文件,具有语法检查功能,所以建议用visudo编辑配置文件
visudo -f /etc/sudoers.d/test
visudo c 检查语法
时间戳文件: /var/db/sudo
日志文件: /var/log/secure
授权的规则格式:
授权规则格式:
用户 登入主机=(代表用户,有权限的用户) 命令
示例:
root ALL=(ALL) ALL可以写上路径
示例:
sudo的小命令
sudo [-u user] COMMAND
-V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号
示例: -p ”password on %h for user %p:"
别名的定义和使用:
别名有四种类型: User_Alias, Runas_Alias, Host_Alias, Cmnd_Alias
别名格式: [A-Z]([A-Z][0-9]_)*
别名定义:
Alias_Type NAME1 = item1, item2, item3 : NAME2 =item4, item5
例子:
例子2;NOPASSWD可以实现使用sudo的时候不用输入用户的口令
例3.User_Alias ADMINUSER = adminuser1,adminuser2
Cmnd_Alias ADMINCMD = /usr/sbin/useradd,
/usr/sbin/usermod, /usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root
ADMINUSER ALL=(root) NOPASSWD:ADMINCMD,PASSWD:/usr/sbin/userdel
例4.Defaults:wang runas_default=tom
wang ALL=(tom,jerry) ALL
关于linux安全验证问题就分享这么多了,在linux系统中安全和加密是很重要的一环,所以在平时的工作学习中切记不能忽视!
本文出自 “12994186” 博客,请务必保留此出处http://13004186.blog.51cto.com/12994186/1970394