CentOS SSH 防护配置

CentOS SSH 防护配置 fail2ban 是一个 Python 写的安全工具,能够监控日志文件并在检测到可疑行为时(如连续 SSH 登录失败)自动封禁 IP。 安装 fail2ban sudo yum install epel-release -y sudo yum install fail2ban -y 配置 SSH 防护规则 创建配置文件(不要直接修改 jail.conf): sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 然后编辑: sudo vi /etc/fail2ban/jail.local 找到 [sshd] 相关配置部分,确保以下内容存在并启用: [sshd] enabled = true port = ssh logpath = %(sshd_log)s maxretry = 5 findtime = 600 bantime = 3600 含义如下: maxretry=5:5 次密码错误 findtime=600:在 600 秒(10 分钟)内出现以上错误 bantime=3600:封禁时间 1 小时(单位为秒) 启动并设置开机启动 sudo systemctl enable fail2ban sudo systemctl start fail2ban 查看当前被封的 IP(可选)...

八月 4, 2025 · 1 分钟 · Sulan

K8s Cert-Manager 证书申请

K8s Cert-Manager 证书申请 手动申请证书 namespace=<项目名称> domain=<申请证书的域名> domain_name=$(echo ${domain} | sed 's/\./-/g') # 在需要使用证书的项目(namespace)下创建Certificate 这里以 kubesphere-system 为例 cat <<EOF | kubectl apply -f - apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: cert-${domain_name} namespace: ${namespace} spec: secretName: tls-${domain_name} commonName: dnsNames: - "*.${domain}" issuerRef: name: letsencrypt-prod kind: ClusterIssuer EOF # 等待几分钟后查看证书 READY 状态 watch -n 1 "kubectl get certificate -n ${namespace}" Ingress自动证书 kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: docs-jsecode-com namespace: docs annotations: cert-manager.io/cluster-issuer: letsencrypt-prod kubesphere....

六月 20, 2025 · 1 分钟 · Sulan

HAProxy多节点配置同步脚本

HAProxy多节点配置同步脚本 HAProxy配置文件拆分 vi /usr/lib/systemd/system/haproxy.service 添加SUBCONFIG配置目录 Environment="CONFIG=/etc/haproxy/haproxy.cfg" "SUBCONFIG=/etc/haproxy/conf.d" "PIDFILE=/run/haproxy.pid" "EXTRAOPTS=-S /run/haproxy-master.sock" ExecStartPre=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -c -q $EXTRAOPTS ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -p $PIDFILE $EXTRAOPTS ExecReload=/usr/sbin/haproxy -Ws -f $CONFIG -f $SUBCONFIG -c -q $EXTRAOPTS /etc/haproxy目录结构 ubuntu@k8s-lb1:/etc/haproxy$ tree . ├── conf.d │ ├── k8s-ingress.blacklist │ ├── k8s-ingress.cfg │ ├── kafka.cfg │ ├── kafka.whitelist │ ├── ks-console.cfg │ ├── kube-apiserver.cfg │ └── sync-cfg.sh ├── errors │ ├── 400.http │ ├── 403....

六月 11, 2025 · 8 分钟 · Sulan

HAProxy黑白名单配置

HAProxy黑白名单配置 黑名单 frontend ingress-http bind *:80 mode tcp option tcplog acl blacklist_ips src -f /etc/haproxy/conf.d/k8s-ingress.blacklist tcp-request connection reject if blacklist_ips default_backend ingress-http k8s-ingress.blacklist内容 # K8s Ingress IP 黑名单 一行一个IP 或 CIDR 网段 103.0.0.0/8 白名单 frontend kafka-broker0 bind *:9092 mode tcp option tcplog acl whitelist_ips src -f /etc/haproxy/conf.d/kafka.whitelist tcp-request connection reject unless whitelist_ips default_backend kafka-broker0 kafka.whitelist内容 # K8s Kafka服务访问IP白名单 一行一个IP 或 CIDR 网段 10.0.0.0/24

六月 11, 2025 · 1 分钟 · Sulan

Ingress ModSecurity防护

Ingress ModSecurity防护 Ingress Controller 全局配置 # 编辑集群网关 添加如下配置选项 data: enable-modsecurity: "true" enable-owasp-modsecurity-crs: "true" modsecurity-snippet: | SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess On SecAuditEngine RelevantOnly SecAuditLogParts ABIJDEFHZ # Ingress 单路由配置 kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: xxxxx namespace: tools annotations: nginx.ingress.kubernetes.io/enable-modsecurity: 'false' # 关闭 nginx.ingress.kubernetes.io/modsecurity-snippet: | SecRuleEngine On #拦截恶意请求 #SecRuleEngine DetectionOnly #仅记录,不拦截 nginx.ingress.kubernetes.io/whitelist-source-range: 'x.x.x.x' 误判处理 kind: Ingress apiVersion: networking.k8s.io/v1 metadata: namespace: xxxx annotations: nginx.ingress.kubernetes.io/modsecurity-snippet: | # 移除指定ID的规则 SecRule REQUEST_URI "@rx ^/(js|cdn)/.*\.(js|css)$" "id:1000001,phase:1,nolog,pass,ctl:ruleRemoveById=959100" 辅助调试...

六月 11, 2025 · 1 分钟 · Sulan