博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.1.1 OpenResty---5.2.1 - 5.2.2 单机部署
阅读量:6371 次
发布时间:2019-06-23

本文共 4566 字,大约阅读时间需要 15 分钟。

hot3.png

5.1.1 OpenResty

OpenResty简介

OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty 安装

yum install -y readline-devel pcre-devel openssl-devel git wget vim openssl-devel gcc curlwget https://openresty.org/download/ngx_openresty-1.9.3.2.tar.gz --no-check-certificatetar -zxvf ngx_openresty-1.9.3.2.tar.gzcd ngx_openresty-1.9.3.2./configure --prefix=/usr/local/openresty --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jitgmakegmake install

功能列表

支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝。 支持URL白名单,将不需要过滤的URL进行定义。 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)。 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403。 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)。 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。 支持URL参数过滤,原理同上。 支持日志记录,将所有拒绝的操作,记录到日志中去。 日志记录为JSON格式,便于日志分析,例如使用ELKStack进行攻击日志收集、存储、搜索和展示。

配置waf规则

git clone https://github.com/unixhot/waf.gitcp -a ./waf/waf /usr/local/openresty/nginx/conf/vim /usr/local/openresty/nginx/conf/nginx.confhttp{  lua_shared_dict limit 50m;  lua_package_path "/usr/local/openresty/nginx/conf/waf/?.lua";  init_by_lua_file "/usr/local/openresty/nginx/conf/waf/init.lua";  access_by_lua_file "/usr/local/openresty/nginx/conf/waf/access.lua";

配置信息修改

config.lua

使用lua实现waf

#5.2.1 - 5.2.2 单机部署

安全防护 – OpenRASP

OpenRASP简介

OpenRASP 是一个百度安全旗下的免费开源安全项目,全称应该是:Open­source Run­time Ap­pli­ca­tion Self-Pro­tec­tion 开源实时程序自保护系统。

更想详细了解OpenRASP:

但是目前,OpenRASP 支持 Java 和 PHP 两种开发语言,那也希望以后能支持各种类型。

软件兼容性

单机部署

yum install epel-releaseyum install java-1.8.0-openjdk* -ysystemctl stop firewalld.servicesystemctl disable firewalld.service

安装tomcat

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gzmv apache-tomcat-8.5.38 /usr/local/tomcatVim /usr/local/tomcat/bin/catalina.sh

在 OS specific support. 前面加入如下代码:

JAVA_HOME=/usr/local/java/jdk1.8.0_151JRE_HOME=$JAVA_HOME/jre

配置启动:

vim /usr/lib/systemd/system/tomcat8.service[Unit]Description=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=oneshotExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shExecReload=/bin/kill -s HUP $MAINPIDRemainAfterExit=yes[Install]WantedBy=multi-user.target

设置开机启动:

systemctl enable tomcat8systemctl start tomcat8.service

配置tomcat

vim /usr/local/tomcat/conf/tomcat-users.xml

设置tomcat访问:

vim /usr/local/tomcat/webapps/manager/META-INF/context.xml

下载漏洞平台:

tomcat部署war

安装单机版openrasp

自动安装,如果无法自动安装就进行手动安装。

java -jar RaspInstall.jar -install /usr/local/tomcat/

重启tomcat

安装出错:

https://rasp.baidu.com/doc/install/software.html

手动安装

cp -rf rasp /usr/share/tomcat/

OpenRASP 需要在 rasp 目录下释放一些动态链接库,所以还需要修改 rasp 目录的权限,e.g

chmod 777 -R rasp

对于使用 yum 安装的 tomcat,

你需要创建 /etc/tomcat/conf.d/rasp.conf,并写入以下内容

JAVA_OPTS="-javaagent:${CATALINA_HOME}/rasp/rasp.jar ${JAVA_OPTS}"JAVA_OPTS="-Dlog4j.rasp.configuration=file://${CATALINA_HOME}/rasp/conf/rasp-log4j.xml ${JAVA_OPTS}"

部署后台管理

安装OpenRASP后台管理

安装mongoldb

安装mongoreposldb

/etc/yum.repos.d/mongodb-org-4.0.repo[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.ascyum updatesudo yum install -y mongodb-orgsystemctl start mongod

安装Elasticsearch

https://www.elastic.co/downloads/elasticsearch

创建普通用户

useradd Elasticsearch
chown -R Elasticsearch Elasticsearch目录
vim /usr/local/elasticsearch/config/elasticsearch.ymlnetwork.host: 127.0.0.1http.port: 9200discovery.zen.ping.unicast.hostsdiscovery.zen.minimum_master_nodes

如果启动会出现jdk错误问题。

sysctl -w vm.max_map_count=262144

或者永久性修改

/etc/sysctl.confvim /usr/java/elasticsearch/config/jvm.options

将-Xmx2g改成-Xmx256m,也就是heap size [268435456] /1024/1024的值

如果:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]这个错误(切换到root操作)

/etc/security/limits.conf seven hard nofile 65536

修改后重新登录seven用户,使用如下命令查看是否修改成功

ulimit -Hn

启动:

/usr/local/elasticsearch/bin/elasticsearch -d

安装后台:

https://github.com/baidu/openrasp/releasesrasp-cloud.tar.gz

编辑 conf/app.conf 文件,将 PanelServerURL、AgentServerURL 里面的 127.0.0.1 替换为你的服务器IP或者域名。

修改es和mongodb

启动

./rasp-cloud -d
http://ip:8086 访问管理后台。其中,后台用户名固定为 openrasp,初始密码为 admin@123

添加客户端:

https://github.com/baidu/openrasp/releasesrasp-java.zipjava -jar RaspInstall.jar -install /path/to/tomcat -appid 9efa63c2964106740d0e99fdeadeb3991326dc95 -appsecret p29HD7aZsfTPkPOy1qG8rLzXrCwAoElzwG8ZRPdFZto -backendurl http://207.xxx.xxx.x:8086

重启tomcat

更多详细的功能

文档:

转载于:https://my.oschina.net/nova12315/blog/3056443

你可能感兴趣的文章
Haskell 在 macOS 下的环境搭建
查看>>
适配mpvue平台的的微信小程序日历组件mpvue-calendar
查看>>
【Linux学习】 Redis常用的一些指令
查看>>
Spring Cloud 中使用Feign解决参数注解无法继承的问题
查看>>
数据迁移方案 + Elasticsearch在综合搜索列表实现
查看>>
干货 | 分分钟教你用Python创建一个区块链
查看>>
Angular开发实践(八): 使用ng-content进行组件内容投射
查看>>
canvas+websocket+vue做一个完整的你画我猜小游戏
查看>>
android复习清单
查看>>
工作代码备用
查看>>
spring cloud互联网分布式微服务云平台规划分析--spring cloud定时调度平台
查看>>
说说如何配置 Webpack
查看>>
小程序中使用箭头函数的问题
查看>>
走进 JDK 之 Long
查看>>
Android打地鼠游戏的修改和优化
查看>>
Java异常
查看>>
map、reduce、filter、for...of、for...in等总结
查看>>
html2canvas-实现页面截图
查看>>
入门 | 从文本处理到自动驾驶:机器学习最常用的50大免费数据集
查看>>
笔记-从源码角度分析alloc与init的底层
查看>>