第九周作业
1、判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户
awk -F: '{$3<500?name="普通用户":name="系统用户";print name,$1,$3}' /etc/passwd
2、显示用户id为奇数的用户。
awk -F: '{if ($3%2 == 1)print $1,$3}' /etc/passwd
3、统计web服务访问日志中的ip访问量
独立ip访问量 awk '{print $1}' /app/httpd24/logs/access_log |sort -n|uniq -c 总访问量 awk '{print $1}' access_log|wc -l TCP连接数 netstat -ant|grep '80'|grep 'ESTABLISHED'|wc -l
4、简述加密类型以及数据加密解密过程
加密:限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。 解密:加密的逆过程,使用密钥配合加密算法,转换成明文内容。 安全机制 信息安全防护的目标 保密性 Confidentiality 完整性 Integrity 可用性 Usability 可控制性 Controlability 不可否认性 Non-repudiation 安全防护环节 物理安全:各种设备/主机、机房环境 系统安全:主机或设备的操作系统 应用安全:各种网络服务、应用程序 网络安全:对网络访问的控制、防火墙规则 数据安全:信息的备份与恢复、加密解密 管理安全:各种保障性的规范、流程、方法 安全攻击: STRIDE Spoofing 假冒 Tampering 篡改 Repudiation 否认 Information Disclosure 信息泄漏 Denial of Service 拒绝服务 Elevation of Privilege 提升权限 安全设计基本原则 使用成熟的安全系统 以小人之心度输入数据 外部系统是不安全的 最小授权 减少外部接口 缺省使用安全模式 安全不是似是而非 从STRIDE思考 在入口处检查 从管理上保护好你的系统 安全算法 常用安全技术 认证 授权 审计 安全通信 加密算法和协议 对称加密 公钥加密 单向加密 认证协议 对称加密算法 对称加密:加密和解密使用同一个密钥 DES:Data Encryption Standard,56bits 3DES: AES:Advanced (128, 192, 256bits) Blowfish,Twofish IDEA,RC6,CAST5 特性: 1、加密、解密使用同一个密钥,效率高 2、将原始数据分割成固定大小的块,逐个进行加密 缺陷: 1、密钥过多 2、密钥分发 3、数据来源无法确认 非对称加密算法 公钥加密:密钥是成对出现 公钥:公开给所有人;public key 私钥:自己留存,必须保证其私密性;secret key 特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然 功能: 数字签名:主要在于让接收方确认发送方身份 对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方 数据加密:适合加密较小数据 缺点:密钥长,加密解密效率低下 算法: RSA(加密,数字签名) DSA(数字签名) ELGamal 单向散列 将任意数据缩小成固定大小的“指纹” • 任意长度输入 • 固定长度输出 • 若修改数据,指纹也会改变(“不会产生冲突”) • 无法从指纹中重新生成数据(“单向”) 功能:数据完整性 常见算法 md5: 128bits、sha1: 160bits、sha224 、sha256、sha384、sha512 常用工具 • md5sum | sha1sum [ --check ] file • openssl、gpg • rpm -V md5sum f3 > f3.md5 # 生成md5校验信息 md5sum -c f3.md5 # 检查文件md5信息是否与原数据一致 ls|xargs md5sum {} \; > list.md5 # 批量生产md5信息
5、搭建私有CA并实现证书颁发
创建CA和申请证书 PKI:Public Key Infrastructure CA RA CRL 证书存取库 建立私有CA: OpenCA openssl 证书申请及签署步骤: 1、生成申请请求 2、RA核验 3、CA签署 4、获取证书 创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 三种策略:match匹配、optional可选、supplied提供 match:要求申请填写的信息跟CA设置信息必须一致 optional:可有可无,跟CA设置信息可不一致 supplied:必须填写这项申请信息,
1、服务器创建所需要的文件 cd /etc/pki/CA tree . ├── certs ├── crl ├── newcerts └── private # 已经有这4个文件,但都是空的 a.生成私钥,必须叫private/cakey.pem (umask 066; openssl genrsa -out private/cakey.pem 2048)
b.生成自签名证书,名称必须叫cacert.pem openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem 选项说明: -new:生成新证书签署请求 -x509:专用于CA生成自签证书 -key:生成请求时用到的私钥文件 -days n:证书的有效期限 -out /PATH/TO/SOMECERTFILE: 证书的保存路径
c.生成证书索引数据库文件 touch /etc/pki/CA/index.txt d.指定第一个颁发证书的序列号 echo 01 > /etc/pki/CA/serial
2、客户端创建所需要的文件 mkdir /data/ssl -p cd /data/ssl a.生成私钥 (umask 066; openssl genrsa -out app.key 1024)
b.利用私钥,生成证书申请 openssl req -new -key /data/ssl/app.key -out /data/ssl/app.csr
c.上传证书申请到服务器 scp /data/ssl/app.csr root@10.0.0.201:/etc/pki/CA 3.服务器验证证书申请,并颁发证书 openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt -days 365 按y颁发证书 ls newcerts/01.pem (/etc/pki/CA/serial中的初始值顺序编号) certs/app.crt # 这两个文件一模一样
4.下发证书至客户端 scp /etc/pki/CA/certs/app.crt root@10.0.0.7:/data/ssl 5.客户端上配置相关程序调用证书 查看证书中的信息: openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates openssl ca -status SERIAL 查看指定编号的证书状态 吊销证书 在客户端获取要吊销的证书的serial openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject 在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致 吊销证书: openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem 指定第一个吊销证书的编号,注意:第一次更新证书吊销列表前,才需要执行 echo 01 > /etc/pki/CA/crlnumber 更新证书吊销列表 openssl ca -gencrl -out /etc/pki/CA/crl.pem 查看crl文件: openssl crl -in /etc/pki/CA/crl.pem -noout -text