加密基础
- NISI定义的数据安全
- 保密性:数据保密性,隐私性
- 完整性:数据完整性,系统完整性
- 可用性:能正常获取其中信息
- 安全攻击
- 被动攻击:窃听
- 主动攻击:伪装(利用telnet伪装身份发邮件,利用dig查找邮件服务器),重放,消息篡改,拒绝服务
- 安全机制
- 加密,数据签字,访问控制,数据完整性,认证交换,流量填充,路由控制,公正
- 安全服务
- 认证;访问控制;数据完整性,不可否认性
- 数据保密性:连接保密性;无连接保密性;选择域保密性;流量保密性
- 不安全网络协议
- 密码算法和协议
- 对称加密;公匙加密;单向加密;认证协议
- DES已经被破解;3DES;Blowfish;Rc6;IDE6收费;常用AES
- 特性 1加密解密使用同一个密匙。2 将原始数据分割成固定大小块
- 缺陷:1密匙过多,2密匙分发
- gpg -c 加密 -d 解密 -o生成文件
- 公匙加密: 密匙成对出现,公匙加密只能私匙解反之亦然
- 公匙公开给所有人pubkey
- 私匙自己留存,secret key
- 功能:
- 数子签名,主要用于接收方确认发送方身份 CA数子证书
- 密匙交换,发送方用对方公匙加密一个对称密匙发给对方
- 数据加密(太长没人来用,只用来公匙加密)
- 算法:
- RSA,DSA只能用于认证。ELGamal商业
- 单向加密:只能加密,不能解,提取数据指纹
- 特性:输出定长,雪崩效应
- 算法:md5 sha1 。。。。。
- 功能:完整性
- 数据传递过程加密
- 先用单向加密提取特征码,用自己私钥加密特征码;附加数据后面,再利用对称秘钥进行加密,利用秘钥要换使对方获知秘钥,利用对方公匙加密对称秘钥
- 密钥交换 IKE
- 公匙加密 利用算法DH
- 双方同时对已知的一个数进行运算,然后彼此交换后再次运算
- PKI:public key infrastructure
- 签证机构:CA 注册机构:RA 证书结构:CRL 证书库取库
- X.509:定义证书结构及标准
- 版本号;序列号;签名算法ID;发行者名称;有效期限;主体名称;主体秘钥;发行者唯一标识;主体唯一标识;扩展;发行者签名
- 对称加密;公匙加密;单向加密;认证协议
- SSL
- ssl/tls 基于ip地址来实现
- 在tcp/ip应用层和传输层之间加的半层;如果不适用就是HTTP传输文本;使用就是HTTPS传输二进制
- 分层:1基础算法原语的实现;2各种算法的实现;3:组合算法的半成品 4 成品软件
- ssl的连接过程
- openssl :开元项目
- 三个组件:openssl多用途命令工具 libcryto公共加密库 libssl库实现ssl及tls
- 单向加密 dgst 哈希
- openss dgst -md5 filename
- 生成用户密码
- openssl passwd -1 -salt 【SALT】
- 生成随机数
- openssl rand -base64 -hex num num标识字节,-hex每个字符4位
- 生产密匙dui
- openssl genrsa -out filename num(2048)
- 提取公匙
- openssl rsa -in filename -pubout
- 随机数生成器
- 记录键盘敲击和磁盘io读写中断来存入熵池
- /dev/random 仅从熵池返回随机数,随机数用尽,堵塞
- /dev/urandom 从熵池返回随机数,用尽后用软件模拟
- 证书申请流程
- 生成申请请求;RA核验,CA签发;证书获取
- 建立私有CA
- 配置openssl的文件:/etc/pki/tls/openssl.cnf
- 1 :创建CA所需要的文件 在/etc/pki/CA下创建
- touch index.txt echo 01 >serial 输入初始证书编号
- 注意index.txt必须为空否则会报错
- 2:CA自签证
- 配置规定的CA密匙和证书存放位置
- 生成密匙 (umask 077;openssl genrsa -out private/cakey.pem 2048 )
- openssl req -new -x509 -key private/cakey.pem -days 7300 -out cacert.pem
- -new新证书请求 -x509专用ca生成自签证书 -key生成请求的私钥文件 -days n证书期限 -out证书路径
- 配置规定的CA密匙和证书存放位置
- 3:需要生成证书的机器发出请求
- 先生成对称密匙;利用密匙生成证书请求格式为.csr后缀;发送给ca服务器
- openssl req -new -key httpd.key >httpd.csr
- 注意请求;国家和省,公司的名字要一致;其他随意
- 先生成对称密匙;利用密匙生成证书请求格式为.csr后缀;发送给ca服务器
- 4:ca盖章
- 使用ca服务器盖章后发还给请球者,将生成的证书放在certs文件夹里
- openssl ca -in /tmp/httpd.csr -out certs/httpd.crt -days 365 证书放在/etc/pki/CA/certs/
- 签证后文件生成.crt后缀文件;https只用到密匙和证书
- 查看证书信息
- openssl x509 -in certs/httpd.crt -noout -text|-subject|-serial
- 吊销证书
- openssl ca -revoke certs/httpd.crt
- 生成吊销编号(第一次) echo 01 >/etc/pki/CA/crlnumber
- openssl ca -gencrl -out crl.pem 发布到吊销数据库
- ssl/tls 基于ip地址来实现
- openSSH
- ssh安全的远程登录,22/TCP
- OpenSSH :ssh的开源实现;dropbear:另一个开源实现
- telnet 23/TCP 不安全连接
- 安装telnet server
- 启动服务 chkconfig telnet on
- service xinnetd restart xinnetd是个超级守护进程用来通知服务开启服务
- 启动服务 chkconfig telnet on
- 安装telnet server
- ssh协议版本
- v1基于CRC-32的MAC;不安全
- v2双方主机协议选择安全的MAC方式,使用DH算法密匙交换,基于RSA或DSA实现身份验证
- 两种用户登录认证 基于password 基于key
- 注意 连接主机发生变化时或其他主机冒充时会连接失败(首次连接会获取公匙存在家目录下的.ssh/known_hosts)
- 配置文件
- 客户端配置文件 ssh /etc/ssh/ssh_config
- 服务器端 sshd /etc/ssh/sshd_config
- 常用参数
- prot listenaddress监听ip
- 限制用户登录 AllowUsers use1 use2 AllowGroups
- ssh命令
- -v调试模式显示连接细节 -X支持显示图形 -t
- ssh服务安全
- 不要使用默认端口;禁止protocol version 1 ;限制可登录用户 ;设置空闲会话时长
- 利用防火墙设置ssh访问策略; 监听特定ip ;使用基于密匙认证
- 禁止空密码登录;禁止root直接登录 ;限制ssh访问频率和并发;做好日志分析
- 日志文件 /var/log/secure
- 生成认证秘钥用于自动登录
- 主机间
- 生成秘钥对 ssh-keygen -t rsa -p ”“ -f /home/wang/.ssh/id-rsa -p对秘钥加密 -f指定文件路径 注意P是大写 .ssh文件必须存在
- 传输公钥 ssh-copy-id -i ./ssh/id_rsa.pub root@172.16.100.9
- xshall利用密匙登录
- 生成密匙复制到 .ssh/authorized_keys
- scp sftp
- -r递归复制 -q静默模式
- scp user@ip /path 远程复制到本地
- scp /path user@ip 向远程传输文件
- rsync 根据状态进行复制,如果已经有了文件未发生变化就不复制了
- -r递归复制 -p保留权限 –
- 主机间
- pssh 批处理工具(epl源)
- -h 主机文件列表 -H主机 -A手动输入密码
- 注意 未连接过的主机直接使用话报错
- PSCP.PSSH 批量复制文件到本地
- PSLURP.PSSH -L指定文件从远程主机复制到本地位置
- pslurp -H 192.168.1.10 -L /app/ /etc/passwd user 复制远端的passwd到本地app下改名为user
- PSLURP.PSSH -L指定文件从远程主机复制到本地位置
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99043