kubernetes - 如何使用 Kubernetes 和 NodePort 服务(如 postfix)进行类似 fail2ban 的设置
问题描述
我的设置是一个运行完整后缀(smtps、imaps、pop3s)的 K8S 集群。此后缀通过 NodePort 服务公开:
kind: Service
apiVersion: v1
metadata:
name: postfix
namespace: vmail
spec:
ports:
- name: smtp
protocol: TCP
port: 25
targetPort: smtp
nodePort: 30621
- name: smtps
protocol: TCP
port: 465
targetPort: smtps
nodePort: 31331
- name: submission
protocol: TCP
port: 587
targetPort: submission
nodePort: 30726
selector:
app.kubernetes.io/instance: postfix
app.kubernetes.io/name: postfix
clusterIP: 10.105.60.138
type: NodePort
externalIPs:
- *****
sessionAffinity: None
externalTrafficPolicy: Local
到目前为止一切都很好。
但是,我正在对 smtpd AUTH 进行暴力攻击,这并不意外。
在我的旧设置中,postfix 在安装了fail2ban的服务器上运行,负责处理这些事情。
我的问题是:什么是/是/一个好的和简单的解决方案?
也许是一些重要的背景:集群安装在一些 vserver 上,使用 flannel,没有单独的 LoadBalancer。这只是一个小的 k8s 设置。
解决方案
推荐阅读
- python - 将信息从 dict 传递到 snakemake 会导致缺少输入文件错误
- python - 在 Tkinter 中更改标签和同时更改具有相同内部函数的变量有什么区别?
- pine-script - 使用变量设置直线的 x 点
- git - Github 分叉存储库搞砸了
- r - 如何识别函数输出,以便我可以做出“漂亮的输出”和/或减少输出量
- python - 启用 MFA 的 Office 365 SharePoint 列表上的 Python 读/写
- ios - SwiftUI .sheet() 的主体在解雇后被评估并且不呈现
- node.js - Supervisord 可以通过调用 node.js 进程的 Health API 或执行 shell 命令来进行健康检查吗?
- java - Flyway 迁移仅在 linux 服务器上失败
- python - 如何在geodjango中转换英里公里