awk -F: '{if ($3%2 == 1)print $1,$3}' /etc/passwd
一、判断UID是否大于等于500,若是为真就显示为普通用户,若是为假就显示为系统或管理用户react
awk -F: '{$3<500?name="普通用户":name="系统用户";print name,$1,$3}' /etc/passwd
二、显示用户id为奇数的用户。web
awk -F: '{if ($3%2 == 1)print $1,$3}' /etc/passwd
三、统计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
四、简述加密类型以及数据加密解密过程数据库
加密:限制对网络上传输数据的访问权的技术。原始数据(也称为明文,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 、sha25六、sha38四、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信息
五、搭建私有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