黑客和入侵检测
可能受攻击的层次
网络攻击(站在局域网中)
1.Get access to intranet
2.DOS attack
3.IP spoofing
4.Capture credentials
保护:
防火墙
VPN
IDS
系统攻击(操作系统级别)
1.系统漏洞
2.病毒软件
3.间谍软件
保护:
对外时,不用的服务需要关闭
打补丁,需要注意会不会影响服务,不是热补丁,可能需要重启服务
服务需要加密
第三方认证kerbos
应用攻击
1.SQL注入
2.脚本攻击
3.应用本身的BUG
保护:
过滤输入
多捕获异常
应用层防火墙(监控任何敏感区域)
原始日志记录
日志、定时任务、内核模块
入侵检测软件aide(Advanced Intrusion Detection Environment)
主配置文件/etc/aide.conf
主要利用hash监控各种文件
默认大多数/etc/*文件内容没更不报警,只有文件权限发生变化时才会触发,如果有某个文件写死了,以后也不会改变,那么需要添加进特定的检查标准,例如刚刚刚创建的文件
配置完所有的文件,及定义好aide配置文件,需要对关键文件进行取hash存盘初始化 --> aide --init
把new去掉,就成为原始数据库
aide 检查 --> aide [-c]
如果需要对监控的文件修改,则需要重新生成数据,并去掉new aide -u
如果怀疑系统被污染,最好的办法重装,aide只是证明被黑了,最好不要尝试修复
密码学
加密和认证,发起者和传输过程是否安全
加密认证一定要基于密钥形式
认证用非对称加密,加密传送用对称加密
对称加密
gpg会在用户家目录生成一个文件.gnupg/,放加密文件和数据库文件
Message authentication code
非对称加密
一对公钥和私钥
需要两个用户做实验,useradd bob;useradd alex
认证过程:
bob拿alex的公钥和自己的私钥对数据进行加密,alxe拿自己的私钥先解一次密,然后在拿bob的公钥解密,最终取得数据
数据非对称加密:bob拿alex的公钥加密数据,alex拿自己的私钥解密取得数据
gpg生成钥匙对
在家目录会有一个文件夹生成~/.gnupg
私钥做数字签名
gpg --list-keys 查看密钥
获取对方公钥对私钥签发的文件进行核实
对于CA认证来说,客户端和服务器都要有CA的数字签名
pem_key_csr_crt
pem文件通常上半部分是私钥,下半部分是证书,还是分开的,只是放一起,习惯用法
key为私钥文件,csr为证书申请文件,crt为自签名证书文件
自签名证书颁发
对于证书过期问题
需要提前导入证书。管理CRL证书列表,防止宣布失效的伪证书,污染网络
DNS 安全
软件包安装
bind bind-utils bind-chroot(该软件可以将dnf服务*在某个目录里)
配置文件
/etc/named.conf var/named/*
企业版5模板
caching-nameserver package
自定义acl
acl 'mylist' { 127/8; 192.168.0/24; other-aclist; key"server1-slave1"; };
用TSIG对主辅DNS服务进行保护,防止信息被篡改,没有加密(现在可以加密)
软件包安装完成自动生成dnssec-keygen对称钥匙
只需要服务器端和客户端配置文件中定义钥匙即可
同步时不用IP地址,使用钥匙传输同步数据
将2个文件*.key and *.private >> /var/named/chroot/etc/named.conf,使用信息完记得删除行
将原来由IP地址的形式改为key
服务器在zone中添加,客户端中在配置添加块信息
View
可以定义views,让辅服务器只能取走部分限制资源,从而保护分离或者提高同步速度的作用
有了view就不能定义zone了
NIS 安全
集中式安全认证
1.通过帐号信息检索该帐号是否存在
2.对用户做验证
3.依赖RPC服务
NIS安全性问题
portmap双方可以询问对方信息,无安全性
最好工作在局域网中,不要广播NIS要指定NIS,不要将密码的哈希传输在NIS中
使用第三方认证kerberos
可以使用 make -C /var/yp/ 指定执行某目录下的makefile文件
生成mynisX文件夹
或者使用 authconfig-gtk 图形化配置
NIS域名和DNS无关!!
Kerberos认证,使用密码来加密认证信息,服务器使用密码解密获取认证信息
KDC票据tickets分发中心
KDC掌握所有用户密码和服务密码
kerberos realm 为主机域大写,确保唯一性
单点登录
只要登录验证一下服务,就会拿到tickets,同一个kerberos域中的所有服务都不需要再次登录,依靠票据就能通过验证
Principals
可以给用户定义一个身份
tom/admin@EXAMPLE.COM
可以指定服务的主机名
ftp/server1.example.com@EXAMPLE.COM
每个用户和服务都是principals
帐号信息需要在NIS服务器上准备一份,还要在kerberos域中准备一份
Services store passwrod in a keytab file
编辑需要认证的客户和服务的kerberos配置文件中
配置DNS服务
biff这个用户在kerberos域中为管理员,当时不运行他修改其他管理的信息
配置SSH服务添加kerberos认证
特别注意
一般来说当你从NIS域中的一台服务器登录到另一台服务器,不会顺便把你的tgt票据传过去,这样会导致你站在另一台服务器登录别的服务器的还
要再次输入密码,不能达到单点登录的效果,一般来说客户端有个开关能实现稍带票据,对于SSH服务来说,在/etc/ssh/ssh_config
这样可以实现,站在任何一台NIS服务器上不停的跳跃,只需要一条凭据不需要输入密码
两个小工具gssftp and krb5-workstation
kerberos客户端管理tickets票据
kerberos与sshd安全策略
1.为了防止黑客不停的向KDC索取TGT,并暴力破解,KDC不会无偿的向客户端发送TGT,需要手动配置。唯一要求客户端支持域认证功能
2.为了防止黑客黑了真KDC,自己伪装假的KDC,发送假的TGT登录客户端主机。KDC可以用hostname生成principal信令状,客户端保存仅限与局域网,在公共网络上不可能允许所有的hostname principals 放在你本地
3.openssh 安全
出现过 protocol 1 协议被破解过,不安全。一般只开 protocol 2
/etc/ssh/下文件是主机第一次开机自动生成的,称之为SSH的ID
每次第一次登录服务器,都会向你询问SSH ID号
1 -rw-r--r--. 1 root root 242153 Nov 12 2016 moduli 2 -rw-r--r--. 1 root root 2208 Nov 12 2016 ssh_config 3 -rw-------. 1 root root 4361 Nov 12 2016 sshd_config 4 -rw-r-----. 1 root ssh_keys 227 Dec 5 13:32 ssh_host_ecdsa_key 5 -rw-r--r--. 1 root root 162 Dec 5 13:32 ssh_host_ecdsa_key.pub 6 -rw-r-----. 1 root ssh_keys 387 Dec 5 13:32 ssh_host_ed25519_key 7 -rw-r--r--. 1 root root 82 Dec 5 13:32 ssh_host_ed25519_key.pub 8 -rw-r-----. 1 root ssh_keys 1675 Dec 5 13:32 ssh_host_rsa_key 9 -rw-r--r--. 1 root root 382 Dec 5 13:32 ssh_host_rsa_key.pub
NFS 安全
NFSv3 是内核级实现的,如果NFS出现管理一般不能使用restart等一系列动作使服务正常运行,要重启主机
NFSv3 正常运行会有两个有内核调动的线程
特别注意
NFS文件挂载时,如果有嵌载文件系统时,默认需要一个一个全部挂载后才能看到。
NFS提供crossmnt和nohide参数,将一个目录下的任意文件系统暴露出来
NFSv3随机端口多,防火墙不容易管控,可以锁定端口
可以使用下面命令查看本机使用端口+服务
1 rpcinfo -p <hostname>
使用NFSv4版本
NFSv4的挂载 +bind特性
bind能将一个目录挂载到另一个目录下
fsid=0 代表创建一个NFS虚拟根目录,这样黑客获取nfs文件句柄也不会对整个文件系统造成伤害
NFS + kerberos
idmapd
提供用户名和ID号的匹配,不用像NFSv3依赖用户ID号,如果两个用户的ID不匹配NFSv3认为不是一个用户,NFS只要用户名一样认为一个用户
如果不小心写错了一个principals,可以使用一下命令删除
NFS+kerberos客户端配置
SMTP 安全
rhel5邮件服务
配置DNS黑洞必须要使DNS解析至你管理的域中,并且在域中添加相关A记录才能是SMTP和DNS配合使用
特别注意
sendmail 服务转换成 postfix 服务,两者都是邮件发送服务器,有冲突。
转换的时候不能简单stop服务,底层有很多软连接指向sendmail,要使用特殊命令切换
POSTFIX 还增添了新功能 过滤 真对主题内容过滤
还可以针对附件进行检查
mutt简单使用
# mutt -a 可以发送附件 echo 'I'm a hacker! open it ' | mutt -a black_plug.exe -s 'greeting' root@server.example.com
dovecot
dovecot 轻量级邮件接收服务
dovecot EXAMPLE:自签名证书实例
.pem 文件是私钥和CRT证书申请的组合
HTTP 安全
RHEL5.6 web server相当于httpd
1 yum groupinstall -y "web server"
apache 控制访问IP
更多权限控制
除了apache根目录控制,还要对旗下的所有子目录控制
修改/etc/httpd/httpd.conf
apache + kerberos 认证验证加密
目前只能在firefox实现
apache 现在添加加密目录,使用帐号登录验证
第一次创建用户文件时要加-c,否则会创建失效。以后就不需要加-c了,否则就会覆盖,丢失以前的帐号了
https CA认证制作制作证书
以上参考 yeslab.org 教学视频