常用文档资料查询

  1. vim编辑文本后,如何取消带的颜色
    执行:set nohls

2.grep -v (–invert-match 选项 将是不匹配的行的总数) 查询取反 grep -i (–ignore-case) 忽略大小写

3.shell中break ,continue,exit 的区别
continue:不会结束所有循环,仅仅跳出当前循环,转而进入下一轮循环
break:跳出所有循环,终止后面执行的所有循环(break n 表示跳出循环的层数,如果省略 n,则表示跳出当前的整个循环。break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环)
exit:退出脚本

4.tomcat日志加密与解密
加密:echo -n “Qlfflddnsdud2020” | openssl aes-256-cbc -salt -in 加密文件名 -out 加密文件名.enc -pass stdin
解密:echo -n “Qlfflddnsdud2020” | openssl aes-256-cbc -d -in 加密后的文件 -out 输出到指定路径的文件名 -pass stdin

5.关于aws产品计费中预付部分费用与预付全费的区别?
预付全费:一次付清
预付部分费用:预付部分费用,但实例使用过程中仍然按小时计费。例如一年实际使用费用=预付部分费用+每小时费用 X 24 X 365,略贵于预付全费。

6.两种修改UUID的方式(问题分析:从PRD共享AMI到STG环境启动后,/etc/fstab 文件中开机自动挂载的nfs不存在,应对处理方式)
将STG中对应的卷挂载到正常的EC2,修改配置文件后,再挂载回原始主机
1)不使用uuid挂载(推荐推荐):mount -o nouuid /dev/nvme1n1p2 /mnt
2)创建uuid并修改文件系统uuid值:uuidgen
xfs_admin -U 4e27616e-37a5-4b94-a517-b7b8cc6c7cf5 /dev/nvme1n1p2

7.blkid
blkid 可以查看已经制作好的文件系统的信息

8.SSH
部署好基于ssh秘钥的方式进行管理
a)创建秘钥对
ssh-keygen -t rsa
b)分发公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@IP
ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下的authorized_keys文件中
c)分发公钥时,接收方非默认22端口
ssh-copy-id -i /home/用户名/.ssh/id_rsa.pub -p 端口 接收方用户名@接收方ip

9.SSL与TLS的区别
TLS与SSL的差异

版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。
报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用了RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的是异或运算。但是两者的安全程度是相同的。
伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。
报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。
certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
加密计算:TLS与SSLv3.0在计算主密值(master secret)时采用的方式不同。
填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度要达到密文块长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击。

TLS的主要增强内容

TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS 在SSL v3.0 的基础上,提供了以下增强内容:

更安全的MAC算法
更严密的警报
“灰色区域”规范的更明确的定义

TLS对于安全性的改进

对于消息认证使用密钥散列法:TLS 使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用的(消息认证代码)MAC 功能更安全。
增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。
改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。
一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。
特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应该发送某些警报进行记录。

ProxyPassReverse 的配置总是和ProxyPass 一致,但用途很让人费解。似乎去掉它很能很好的工作,事实真的是这样么,其实不然,如果响应中有302重定向,ProxyPassReverse就派上用场。举例说明,假设用户访问http://www.test.com/exam.php,通过转发交给http://192.168.100.22 /exam.php处理,假定exam.php处理的结果是实现redirect到login.php(使用相对路径,即省略了域名信息),如果没有配置反向代理,客户端收到的请求响应是重定向操作,并且重定向目的url为http://192.168.100.22/login.php ,而这个地址只是代理服务器能访问到的,可想而知,客户端肯定是打不开的,反之如果配置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为 http://www.test.com/login.php,即是在原请求之后追加上了redirect的路径。当客户端再次请求http: //www.test.com/login.php,代理服务器再次工作把其转发到http://192.168.100.22/login.php。

terraform创建s3存储桶:https://aws.amazon.com/cn/blogs/china/aws-china-region-guide-series-terraform1/

11shell中 =~可以理解为支持匹配正则, [[]],用于支持正则表达式

variables.tf
variable “vpc_name” {
description = “The name of the VPC”
default = “billing”
}

variable “instance_type” {
default = “m5a.2xlarge”
}

variable “jumpserver_instance_type” {
default = “t2.micro”
}

variable “web_instance_type” {
default = “m5a.xlarge”
}

variable “ami_id” {
default = “ami-0150b64b04f2dff16”
}

variable “aws_region” {
default = “cn-northwest-1”
}

variable “cidr_numeral” {
description = “The VPC CIDR numeral (172.x.0.0/16)”
}

variable “cidr_numeral_public” {
default = {
“0” = “0”
“1” = “1”
“2” = “2”
}
}

variable “cidr_numeral_private” {
default = {
“0” = “3”
“1” = “4”
“2” = “5”
}
}

variable “cidr_numeral_private_db” {
default = {
“0” = “6”
“1” = “7”
“2” = “8”
}
}

variable “cidr_numeral_private_emr” {
default = {
“0” = “9”
“1” = “10”
“2” = “11”
}
}

variable “ssh_key_name” {
description = “A master ssh key”
}

variable “jumpserver_image” {
default = {
cn-north-1 = “ami-0e21949a0d60b93e2”
}
}

variable “env” {
description = “The AWS env prd”
}

variable “availability_zones” {
description = “A comma-delimited list of availability zones for the VPC.”
}

variable “poss01_port_list” {
default = [80, 443, 57900, 20001, 20005, 35400, 20010, 20011, 20012, 21003, 25666]
}

main.tf
provider “aws” {
access_key = “”
secret_key = “”
region = var.aws_region
}

output.tf
output “vpc_id” {
value = aws_vpc.billing.id
}

output “cidr_block” {
value = aws_vpc.billing.cidr_block
}

output “private_subnets” {
value = join(",", aws_subnet.private.*.id)
}

output “public_subnets” {
value = join(",", aws_subnet.public.*.id)
}

output “private_db_subnets” {
value = join(",", aws_subnet.private_db.*.id)
}

output “nat_eip” {
value = join(",", aws_eip.nat.*.public_ip)
}

output “jumphost_eip” {
value = aws_eip.jumphost.public_ip
}

output “efs_dns_name” {
value = aws_efs_file_system.billing-efs.dns_name
}

instance.tf
resource “aws_instance” “web” {
count = length(var.availability_zones)
ami = var.ami_id
instance_type = var.web_instance_type
subnet_id = element(aws_subnet.private.*.id, count.index)
key_name = “billing-key”
vpc_security_group_ids = [aws_security_group.sg-billing-web.id]

root_block_device {
volume_type = “gp2”
volume_size = 50
delete_on_termination = true
}

ebs_block_device {
device_name = “/dev/sdb”
volume_type = “gp2”
volume_size = 200
delete_on_termination = true
}

user_data = data.template_file.init_shell.rendered

lifecycle {
ignore_changes = [
user_data,
]
}

tags = {
Name = “cniospweb0${count.index+1}”
}
}

terraform.tfvars
aws_region = “cn-northwest-1”
cidr_numeral = “16”
vpc_name = “billing”
ssh_key_name = “cn-billing-prd”
env = “prd”
availability_zones = [“cn-northwest-1a”, “cn-northwest-1b”]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值