创建Nessus的Docker镜像 / 一键部署Nessus

Nessus支持很多种环境, docker vm 主机 aws等等, 这里主要介绍两种:

  • 自己构建docker镜像, 也可以使用官网的,
  • 使用一键脚本, 文章末尾提供一键脚本

参考: https://www.iculture.cc/software/pig=25546

官方提供docker版本的Nessus镜像,但是没有插件
https://docs.tenable.com/nessus/Content/DeployNessusDocker.htm

docker pull tenableofficial/nessus

所以自己把插件添加进去, 在docker容器启动以后,运行下crack.sh, 就可以使用插件了

Nessus 下载地址

https://www.tenable.com/downloads/nessus

扫描漏洞模块下载地址

https://plugins.nessus.org/v2/nessus.php?f=all-2.0.tar.gz&u=4e2abfd83a40e2012ebf6537ade2f207&p=29a34e24fc12d3f5fdfbb1ae948972c6

镜像制作步骤:

  1. 拉取debian镜像,添加文件, 安装nessus
  2. 打包上传docker hub
  3. 使用
  4. 删除
    继续阅读“创建Nessus的Docker镜像 / 一键部署Nessus”

docker容器中使用chattr修改文件权限报错 "chattr: Operation not permitted while setting flags on ***"

docker中默认是禁止 CAP_LINUX_IMMUTABLE
像chattr这些命令,是无法正常使用的,
如果使用 chattr +i file 会提示
chattr: Operation not permitted while setting flags on ***
要正常使用chattr等命令, 需要开启 CAP_LINUX_IMMUTABLE

docker run -it --cap-add LINUX_IMMUTABLE xxx

如果提示没有chattr命令,需要安装e2fsprogs

yum -y install e2fsprogs

CKS 模拟真题 Killer.sh | Question 17 | Audit Log Policy

Task weight: 7%

Use context: kubectl config use-context infra-prod

Audit Logging has been enabled in the cluster with an Audit Policy located at /etc/kubernetes/audit/policy.yaml on cluster2-controlplane1.

Change the configuration so that only one backup of the logs is stored.

Alter the Policy in a way that it only stores logs:

  • From Secret resources, level Metadata
  • From "system:nodes" userGroups, level RequestResponse

After you altered the Policy make sure to empty the log file so it only contains entries according to your changes, like using truncate -s 0 /etc/kubernetes/audit/logs/audit.log.


继续阅读“CKS 模拟真题 Killer.sh | Question 17 | Audit Log Policy”

CKS 题库 8、沙箱运行容器 gVisor

file

Context

该 cluster 使用 containerd 作为 CRI 运行时。containerd 的默认运行时处理程序是 runc
containerd 已准备好支持额外的运行时处理程序 runsc (gVisor)。

Task

使用名为 runsc 的现有运行时处理程序,创建一个名为 untrusted 的 RuntimeClass。
更新 namespace server 中的所有 Pod 以在 gVisor 上运行。
您可以在 /cks/gVisor/rc.yaml 中找到一个模版清单。


继续阅读“CKS 题库 8、沙箱运行容器 gVisor”

ESXI7磁盘格式区别 及 厚置备 精简置备 互转

1. 精简置备(thin)

无论磁盘分配多大,存储大小为实际占用大小,对于IO频繁的应用会导致性能下降

2. 厚置备 延迟置零(默认)

默认创建格式,预先分配空间,有写操作才按需要将其置零

3. 厚置备(thick)

分配号空间并进行置零操作,有IO操作时无需等待直接执行

转换之前关闭虚拟机

一. 精简置备 转 厚置备

找到对应的虚拟磁盘,然后右键 "扩充磁盘"

二. 厚置备 转 精简置备

1. 通过vCenter 迁移或者克隆 虚拟机, 新的虚拟机磁盘格式为 精简置备
2. 通过命令进行转换
注意: 对应目录下有两个vmdk的文件 一个是NAME.vmdk 一个是NAME-flat.vmdk, 需要操作的是NAME.vmdk
vmkfstools -i 源磁盘文件名.vmdk  -d thin 目标文件名.vmdk
3. 虚拟机 "取消注册"

4. 修改对应的vmx文件


除vmdk后缀文件外的其他文件,建议全部移动到新建bak文件夹

5. 重新注册虚拟机

开启Esxi7 ssh

依次点击"管理" -> "服务" -> 搜索"TSM" -> 启动 "TSM" 和 "TSM-ssh"

安装 growpart 扩容工具

growpart 扩容工具可以 进行热扩容,不需要重启服务器

安装

  • debian/ubuntu

    apt-get  install  cloud-guest-utils
  • CentOS

    yum install  cloud-utils-growpart

如果提示没有,可以使用搜索命令搜索

搜索

  • Debian/Ubuntu
    apt search growpart

    file

  • CentOS
    yum search growpart

    file

resize2fs /dev/sdb1升级提示 Bad magic number in super-block while trying to open /dev/sdb1

使用growpart扩容后,执行

resize2fs /dev/sdb1

报错
实际情况中可能需要根据自己的实际路径修改 /dev/sdb1 /dev/sdb2 或者类似lvm路径

resize2fs: Bad magic number in super-block while trying to open /dev/sdb1
Couldn't find valid filesystem superblock

原因是:分区格式非ext3 ext4,可能是xfs或者其他

使用mount 查看对应的分区格式

mount | grep /dev/sdb1

如果分区是xfs,则需要使用下面命令进行扩容

xfs_growfs /dev/sdb1

如果没有出错则扩容成功

Kubernetes(K8s) 仓库国内加速(阿里云) k8s.gcr.io无法访问

K8s容器仓库地址为 k8s.gcr.io ,在国内是无法正常访问的,

无法正常pull kube-apiserver,kube-controller-manager等,

我们可以通过阿里云来 进行加速

registry.cn-hangzhou.aliyuncs.com/google_containers/

查看默认镜像列表

kubeadm config images list

结果

k8s.gcr.io/kube-apiserver:v1.24.2
k8s.gcr.io/kube-controller-manager:v1.24.2
k8s.gcr.io/kube-scheduler:v1.24.2
k8s.gcr.io/kube-proxy:v1.24.2
k8s.gcr.io/pause:3.7
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/coredns/coredns:v1.8.6

使用下面命令进行批量拉取

for i in `kubeadm config images list | cut -d / -f 2 ` ;\
   do sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$i ; \
done

因为coredns是二级目录,所以需要重新打下标签

sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:latest registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:latest

配置kubernetes(k8s) 国内源/阿里源

参考:

阿里云:
https://developer.aliyun.com/mirror/kubernetes
清华:
https://mirrors.tuna.tsinghua.edu.cn/help/kubernetes/
官方主页:
https://kubernetes.io/

配置方法

Debian / Ubuntu

sudo apt-get update && sudo apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

CentOS / RHEL / Fedora

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0 # 这里关闭了gpgkey检查,如需请更改为1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
sudo setenforce 0
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo  systemctl start kubelet

ps: 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用

sudo yum install -y --nogpgcheck kubelet kubeadm kubectl

安装