首页 > 解决方案 > 如何使用 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 设置。

标签: kubernetespostfix-mtabrute-forcefail2ban

解决方案


推荐阅读