描述: 为了实现根据访问者访问我们的网站时根据其IP显示其所属地,也为获取不同地区访问者的IP地址等相关信息为目的,所以在搜索引擎中查找解决方案,在网络上查询到如下几种方案Nginx+GeoIP2、使用收费 IP 识别接口、DNS 根据地域解析,然后经过多方面考究,最终还是使用Nginx+GeoIP2解决方案。
效果 图片 安装geoip模块 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx.pid \ --user=nginx \ --group=nginx \ --with-stream \ --with-threads \ --with-file-aio \ --with-http_v2_module \ --with-http_mp4_module \ --with-http_sub_module \ --with-
ps:我看网上说可以自定义403页面然后直接“return 403”就可以跳转到自定义页面了,
xtables-addons是一款基于国家GeoIP信息来识别网络流量,用于netfilter/iptables的过滤器扩展。其采用了模块化设计理念,并通过内部的xt_geoip模块实现信息过滤。 在你的Linux系统上,可以很方便的自行编译或通过RPM包安装的方式来构建xtables-addons,而无需重新编译内核或是iptables,构建完成后即可立即使用而无需重启服务或系统。
安装geoip模块 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx.pid \ --user=nginx \ --group=nginx \ --with-stream \ --with-threads \ --with-file-aio \ --with-http_v2_module \ --with-http_mp4_module \ --with-http_sub_module \ --with-http_ssl
安装GEeoip库 安装完成之后,GeoIP数据库会被安装在/usr/share/GeoIP/GeoIP.dat. [root@vultr ~]# yum -y install geoip-devel [root@vultr openresty-1.13.6.1]# ls /usr/share/GeoIP/GeoIP.dat /usr/share/GeoIP/GeoIP.dat 安装openresty(Nginx) [root@vultr openresty-1.13.6.1]# ./configure -
openresty+lua+redis+geoIp过滤ip功能上线后,发现有些ip无法识别,导致ip被拦,无法业务接口,从而造成一部分用户流失,其中可能包含"大哥"。
地理定位查询的的数据库比较多,而且大多都开放一些free的版本,国内的有纯真数据库等,但是他只提供文本的地理位置信息,不提供经纬度数据。国外的有MaxMind的GeoIP数据库、IP2Location数据库等,它们提供经纬度数据,本文简单介绍下,MaxMind的GeoIP,此数据库用于国家的查询。 首先,在MaxMind官网下载所需资源 GeoIP数据库下载地址:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.d
最近碰到了Elasticsearch GeoIpDownloader相关的一个异常,花费了不少精力排查,故此记录一下,希望碰到同样问题的童鞋们少走弯路。
首先我们实现IP地址分布地图可视化需要用到的技术是Elasticsearch + kibana,下面IP数据云的小编具体讲解一下操作,另外如果需要现成的IP地址数据,也可以通过IP数据库进行查询。
目前针对于跨国业务,所以国内外访问的服务可能是不同的(至少不是同一个页面),但域名想要同一个域名,于是想到要区分开访问区域。
一、问题背景二、聊一嘴ip库三、解决方案四、下载安装openresty五、验证效果六、geoIp自动更新七、参考
GoAccess主页 http://goaccess.prosoftcorp.com/
[喵咪开源软件推荐(3)]全球IP库-GeoLite2-City #w-blog博客 哈喽大家好啊!喵咪开源软件推荐(3)终于和大家见面了,这次我们来说说什么呢?大家有没有遇到过这样一个场景,当你出国
MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数字版权管理。目前使用 GeoIP 更多是配合Nginx或Apache服务器进行日志分析获取网站访问量地域分布状况
两个已知知识点一整合不就是基于 Elasticsearch + Kibana 的可视化展示方案吗?
Nginx 是一个很强大的高性能Web和反向代理应用。原先一直停留在apt install nginx 的阶段,直到开始深入了解其模块等,才发现:nginx厉害!!nginx除了基础功能以外还有很多有趣且实用的模块。因为nginx内置了许多变量(http://nginx.org/en/docs/varindex.html 部分是模块实现)、逻辑运算、指令,组合起来,就可以实现强大的功能。
假设一家商业网站开发了软件产品,他们希望知道都是来自哪里的用户下载或更新我们的软件,并进行可视化分析。
ip地址是我们用来记录用户访问信息的一个重要标识,一方面我们可以用来防止某一个IP地址带来的大量DDOS攻击,通过判断来阻止此IP访问,这是其中一种手段。另外一个用途是用来定位,通过IP地址来获取用户的地理位置信息,我们可以描绘出大量的用户主要分布在哪些区域。
在 Linux 下,有dig、nslookup、traceroute等多种非常实用的网络调试工具。
最近有朋友说,查看nginx访问日志,发现大量的恶意扫描,分析发现比正常业务访问量都大,且IP大部分来自国外,服务器用的按量付费,这刷的都是白花花的银子,想问下有没有解决方案
说明 目前Kibana默认自带的地图全部是英文,更换高德地图对地图汉化 修改配置 编辑kibana配置文件kibana.yml,最后面添加 tilemap.url: 'http://webrd02.i
版本平滑升级,和添加模块操作类似 准备模块 这里以 nginx-push-stream-module 为例,模块我放在 /data/module 下,你也可以放在其他位置
安装 [url]http://sourceforge.net/projects/awstats/[/url] 下载安装包后: GNU/Linux:tar zxf awstats-version.tgz awstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到 cgi-bin/目录下:/home/apache/cgi-bin/awstats/ mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats 把图标等文件目录复制到WEB的HTML文件发布目录下,例如:/home/apache/htdocs/ 下发布 更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下 升级国内主要 搜索引擎和蜘蛛定义,安装GeoIP的应用库:C [url]http://www.maxmind.com/download/geoip/api/c/[/url] 解包,编译安装 perl -MCPAN -e ‘install “Geo::IP”‘ 或者使用纯Perl包 perl -MCPAN -e ‘install “Geo::IP::PurePerl”‘ 下载GeoIP/GeoIPCityLite包:解包并部署到awstats目录下:
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
https://github.com/oschwald/geoip2-golang用来解析
图片来自 Pexels 想要实现这个功能有很多方法,下面我就来介绍基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站。 ①安装 geoip2 扩展依赖: [root@fxkj ~]# yum install libmaxminddb-devel -y ②下载 ngx_http_geoip2_module 模块: [root@fxkj tmp]# git clone https://github.com/leev/ngx_http_geoip2_module.git [ro tmp]# ③解压模块到指定路径 我这里解压到 /usr/local 目录下: [root@fxkj tmp]# mv ngx_http_geoip2_module/ /usr/local/ [root@fxkj local]# ll ngx_http_geoip2_module/ total 60 -rw-r--r-- 1 root root 1199 Aug 13 17:20 config -rw-r--r-- 1 root root 1311 Aug 13 17:20 LICENSE -rw-r--r-- 1 root root 23525 Aug 13 17:20 ngx_http_geoip2_module.c -rw-r--r-- 1 root root 21029 Aug 13 17:20 ngx_stream_geoip2_module.c -rw-r--r-- 1 root root 3640 Aug 13 17:20 README.md ④安装 nginx 模块 首先说明下环境,我的 nginx 版本是 1.16,在网上查了下安装 ngx_http_geoip2 模块至少需要 1.18 版本及以上,因此此次安装我是升级 nginx1.18,添加 ngx_http_geoip2 模块。 下载 nginx 1.18 版本: [root@fxkj ~]# yum install libmaxminddb-devel -y 解压 nginx1.18 软件包,并升级为 nginx1.18,添加 ngx_http_geoip2 模块。 需要注意:
GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息。它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API。GeoIP2可以用于许多不同的应用程序,例如网站分析、广告定位和身份验证。GeoIP2提供了许多不同的信息,例如国家、城市、邮政编码、经纬度、时区等等。它还可以使用IPv6地址进行查询。
nginx geoip geoip2 模块,集成了最新的免费 maxmind geoip mmdb 数据,可以使用nginx去获取访问IP具体归属国家地区,或者根据地区去进行流量分发功能
GeoIP2 是一个强大的离线数据库,该数据库内定义并记录了目前所有主机的IP地址和所在位置,通过传入某个IP地址,即可精确的定位到主机的位置,再结合谷歌地图可完美的画出坐标。
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。
昨天用Nginx的方法实现了类似的功能,今天另外给大家推荐一个简单的方法,如果你的站点程序是使用的WordPress,那么可以直接在后台搜索插件:iQ Block Country
注意:分流引用是有先后触发顺序的。合理的排序很重要。一些代理工具有本地规则生效顺序为先本地后远程,本地/远程从上到下匹配
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
awstats 一、首先修改httpd.conf httpd-vhost.conf 把log模式由common改成combined vi /usr/local/apache2/conf/httpd.conf vi /usr/local/apache2/conf/extra/httpd-vhost.conf /usr/local/apache2/bin/apachectl restart
先来说说为啥要写这篇文章,之前小编看了下 nginx 的访问日志,发现每天有好多国外的 IP 地址来访问我的网站,并且访问的内容基本上都是恶意的。因此我决定禁止国外 IP 来访问我的网站
通过rsyslog转发云服务器系统日志到GrayLog进行日志分析系统安全日志,结合GeoIP2地址数据库就可以获取SSH暴力破解攻击者IP的地理位置信息
有些需要将一些数据基于地址位置进行分析,比如哪些区域比较活跃,在什么时间范围内活跃,但是后端仅能获取ip地址,因此需要将ip地址转换为地理位置,幸运的是我们有开源的工具可以使用,maxmind/GeoIP2-java使用GeoLite2-City.mmdb库就可以由ip分析得到对应的经纬度,下面给出具体操作步骤:
[root@test src]# wget http://prdownloads.sourceforge.net/awstats/awstats-6.95.tar.gz [root@test src]# tar zxvf awstats-6.95.tar.gz [root@test src]# mv awstats-6.95 /usr/local/awstats [root@test src]# mkdir /var/lib/awstats [root@test awsta
对于想在短时间内快速的生成小站点访问情况的统计数据,一般会选择使用sed、awk、grep三剑客,但是对于要对数据的展示就需要填充到已有开发面板中,比较耗时费力,当然对于也可以使用ELK/EFK专业日志分析平台来做,但搭建缓慢,服务笨重,不是小站点的首选,这里介绍一个使用C语言研发的轻量级日志分析工具GoAccess[1],性能稳定,可作为小站点日志分析统计的首选。
先来说说为啥要写这篇文章,之前小编看了下nginx 的访问日志,发现每天有好多国外的IP地址来访问我的网站,并且访问的内容基本上都是恶意的。因此 我决定 禁止国外IP 来访问我的网站
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://freeloda.blog.51cto.com/2033581/1346412
CustomLog ” /var/log/httpd/access_log” combined
dig、nslookup、traceroute 等都是非常实用的网络调试工具,Nali 是一个可以自动解析这些工具 stdout 中的 IP 并附上所属 ISP 和地理信息,对这些已是瑞士军刀般的工具可谓如虎添翼。
这篇文章介绍的是单独监控nginx 日志分析再进行可视化图形展示,并在用户前端使用nginx 来代理kibana的请求响应,访问权限方面暂时使用HTTP 基本认证加密用户登录。(关于elk权限控制,我所了解的还有一种方式-Shield),等以后有时间了去搞下。下面开始正文吧。。。
很多恶意的网络行为,会很明显的在ip位置中凸显出来,比如一个域名,经常访问的大多数人应该位置于中国大陆,可以是最近出现了美国纽约的ip与该域名的文件通信。
我们大学阶段上网络课用过,公司阶段如果涉及网络协议开发也会大量用到 Wireshark。
node1:elasticsearch6.4+filebeat node2:kibana6.4+grafana+filebeat node3:logstash+nginx+filebeat+Redis 由于es很消耗内存,所以我只把es单独运行在一个主机上,并设置主分片为1,副本分片为0,每周定时删除上周的索引数据
网站的客户和受众人群都是国内的,不想让国外访问;或者站长监测到国外肉鸡一直有扫描或攻击。这时就需要对境外IP进行进行过滤和屏蔽;对IP进行过滤屏蔽一般有两种方法:加白和加黑。
本节我们接着上一节主题的来讲,在上面的章节中,我们将日志标准输入--标准输出后,发现日志,按照我们lostash配置文件的内容将Message日志分成了5个字段。那么我们来分析一下这个过滤输出结果:
领取专属 10元无门槛券
手把手带您无忧上云