使用Pritunl构建企业远程接入系统
pritunl是一个开源的企业级分布式远程接入服务器。它的社区版就是单机版,开源、免费,同时支持图形化的管理界面。它在高级版中可以通过RADIUS服务支持Openldap或者Active Directory的用户管理,只不过需要每个月70$的授权费用。
官方文档
Github项目地址
部署# 系统环境为AlmaLinux 8.8# 系统需要关闭selinux,以下使用root账户进行安装tee /etc/yum.repos.d/mongodb-org-6.0.repo << EOF[mongodb-org-6.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-6.0.ascEOFtee /etc/yum.repos.d/pritunl.repo << EOF[pritunl]nam ...
如何编写Shell脚本
从这里开始书写格式#!/bin/bash# 解释器<<COMMENTAuthor: sujxDate: 2023-09-23Version: 1.0Description: This is my first script.COMMENT# 多行注释echo "Hello World!"# 单行注释
执行方式
脚本没有执行权限 [sujx@LEGION:~]$ bash first.shHello World![sujx@LEGION:~]$ source first.shHello World!
脚本有可执行权限 [sujx@LEGION:~]$ chmod +x first.sh[sujx@LEGION:~]$ ./first.shHello World![sujx@LEGION:~]$ /home/sujx/first.shHello World!
开启子进程执行 [sujx@LEGION:~]$ cat sleep.sh#!/bin/bashsleep 1000[sujx@LEGION:~]$ chmod +x sleep.sh[sujx@LE ...
使用Webmin管理DNS
在企业生产实践中,对于经常进行DNS解析变动的测试环境,Bind9的维护是个不大不小的问题。运维开发通常需要提交相关请求之后,还需要SSH到解析服务器上去进行配置修改,就要开xshell然后登陆找配置项进行变更。为了节约脑力和时间,通过已经添加到导航面板的web gui书签跳转到域名管理平台再进行管理就要快捷一点点。
WebMin为了方便管理DNS解析,我们可以使用Google SRE工程师Jamie Cameron开发的Webmin。这个工具是用perl语言编写的很强大的Linux主机管理面板,支持Linux主机环境的通用程序配置,包括Bind、Apache、MySQL等等。这位老哥还编写了管理虚拟化宿主机和类似cpanle的虚拟主机管理web平台。
安装# 下载安装脚本curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh# 添加官方repo地址sh setup-repos.sh# 执行安装并安装perl的功能模块dnf makecachednf ins ...
快速构建实验环境的基础服务
在单机试验环境中,经常需要配置DNS解析、生成SSL证书、保存或者拉取配置脚本,这些操作往往散布到各个节点的实际操作中,较为繁琐且容易出错,所以创建一个虚机镜像来提供统一的服务就是有需求的。以下就是通过在VM上部署实现相关功能的操作实践。
类别
内容
功能
基础架构服务
主机名
infra.contoso.com
IP
192.168.10.254
配置
2core 2G mem 40GB disk
承载服务
DNS以及DNS缓存、时间服务、SSL证书生成和下载、git服务、导航页、Ansible控制台、主机管理
包管理安装主机准备基础环境准备主机环境的准备执行准备:RockyLinux9的主机部署
# 系统更新dnf makecachednf update -y# 由于主机模板只给了20G硬盘,所以需要扩容dnf install cloud-utils-growpart-0.33-1.el9.x86_64growpart /dev/sda 2lvextend -l +100%free /dev/rl/rootxfs_growfs /dev/rl/ro ...
Ansible管理平台AWX的部署
概念K3sK3s 是一个轻量级的 Kubernetes 发行版,非常简单易用而且轻量。只需要一个简单的安装脚本即可把 K3s 安装到主机。
AWXAWX是由Redhat运营的Ansible自动化运营平台Ansible Tower的上游项目,是将Ansible的管理和维护通过可视化的WEB GUI来进行展现。借用Ansible Tower的一张图来表示其具体架构:相关的内容可见以下链接:
Ansible
AWX
由于Ansible AWX平台自v18之后,不在支持单机或者docker部署,要求必须部署到Kubernetes中,为了简化部署环境和步骤,现采用单节点的K3s来作为基础环境部署AWX。
部署环境准备# 本次部署基于RockyLinux 9.2# 主机配置为2core CPU/4GB MEM/40GB Disk# 需要提前部署Dokcer和Kubectl# 设置防火墙firewall-cmd --set-default-zone=trustedfirewall-cmd --reload# 关闭selinuxsed -i 's/enforceing/disabled& ...
安服仔的自我修养
从首都图书馆无意间翻到的一本工具书《深信服安全服务工程师实战》,我实在惊讶于深信服把售前资料从内部文档库里面输出一个PDF就拿来卖钱了。虽然里面有不少的销售话术和广告推销以及前后重复的内容,但不失其为本好的一次性工具书,对于了解乙方的现阶段企业安全建设的思路还是有帮助的。
风险评估风险评估是对一个事件后者事物可能造成的影响或损失造成的影响或损失的程度进行量化。
评估目的
资产识别
平衡安全风险与成本
风险识别
建设指导
业务保障
评估模型评估方式
自我评估
上级主管或者业务主管发起的、基于法规或标准的强制性检查活动
外协专业安全服务组织进行
评估原则
标准化原则
业务主导原则
规划性原则
保密性原则
最小影响原则
互动性原则
评估方法类别
基于知识的分析方法
定性分析方法
定量分析方法
方法
访谈调研
人工审计
工具扫描
渗透测试
评估范围技术评估范围
物理环境
网络结构
主机及数据系统
应用系统
业务流程
管理评估维度
安全管理制度
文档,包括策略、制度、规程、表格、记录
安全管理机构
安全管理的岗位设置、人员配备、授权和审批、沟通
人员安全管理
信息系统用 ...
备份系统Bacula的部署和使用
Bacula 是一款开源的跨平台网络备份工具,提供基于企业级的CS的备份解决方案,可以对数据进行备份、恢复、以及完整性校验。
组件
Director:中央控制程序,管理所有组件
Console:管理控制台
Storage Daemon:负责文件的实际存储和读取,同时对接存储硬盘或者磁带
Catalog:数据库,建立备份文件和存储路径建立索引,支持MySQL、PG和SQLite
File Daemon:客户端程序,负责执行文件的备份、还原和文件传输
部署准备数据库# 安装dnf makecachednf update -ydnf install -y mariadb mariadb-server mariadb-server# 指定客户端和服务端使用utf8来访问mariadbcat > /etc/my.cnf.d/charset.cnf <<EOF[mysqld]character-set-server = utf8mb4[client]default-character-set = utf8mb4EOF# 拉起服务systemctl enable --now m ...
使用Kind快速部署Kubernetes实验环境
其实就是Docker上面跑了一个Docker
概念Kindkind 即 Kubernetes In Docker,顾名思义,就是将 k8s 所需要的所有组件,全部部署在一个docker容器中,是一套开箱即用的 k8s 环境搭建方案,适用于快速构建本地开发和测试环境。kind 由以下组件构成:
Go packages implementing cluster creation, image build, etc.
A command line interface (kind) built on these packages.
Docker image(s) written to run systemd, Kubernetes, etc.
kubetest integration also built on these packages (WIP)kind 使用 kubeadm 创建和启动群集节点。kind 使用 containerd 作为容器运行时,所以弃用 Dockershim 对 kind 没有影响。
部署环境准备# 本次部署基于RockyLinux 9.2# 主机配置为2c ...
CI/CD初步
现在利用已有的k8s环境部署一套CI/CD环境
DevOps理解CI/CD,持续集成和持续交付的基本过程包括如下几个步骤:
软件更新或者迭代——Gitlab
新版软件打包成镜像——Jenkins
新的镜像在k8s中集成——Registry
当代码提交到gitlab之后,会立马触发jenkins将新代码编译成镜像,然后再在kmaster上部署新的镜像。
镜像仓库Registry部署# 部署docker并修改docker启动参数[root@Gitlab ~]# vim /usr/lib/systemd/system/docker.service# 新增--insecure-registry=192.168.10.9:5000 -H tcp://0.0.0.0:2376 ExecStart=/usr/bin/dockerd --insecure-registry=192.168.10.9:5000 -H tcp://0.0.0.0:2376 -H fd:// --containerd=/run/containerd/containerd.sockExecRelo ...