solr的访问权限管理及ubuntu下iptables的设置
Apache Solr 是一个开源的搜索服务器,该平台默认允许匿名访问,攻击者可读取平台中各类敏感信息。之前考虑过增加账号密码访问,但是没有搞定,所以采用了曲线救国的方式,设置solr服务器只允许部分IP访问。
ubuntu下iptables的设置参见: https://www.tuicool.com/articles/QvQNZbu
iptables -I INPUT -p tcp --dport -j DROP
iptables -I INPUT -s 114.55.**.*** -p tcp --dport -j ACCEPT
iptables -I INPUT -s 210.12.***.**/ -p tcp --dport -j ACCEPT
iptables -I FORWARD -p tcp --dport -j DROP
iptables -I FORWARD -s 114.55.**.*** -p tcp --dport -j ACCEPT
iptables -I FORWARD -s 210.12.***.**/ -p tcp --dport -j ACCEPT
第一条命令是插入命令,禁止所有ip访问12580端口
第二条命令是插入命令,允许线上服务器 114.55.**.*** 访问solr服务器
第三条命令是插入命令,允许公司ip段访问solr服务器
设置完成后,测试发现,公司ip和线上服务均不能访问solr服务。想起因为为了部署方便,我们的程序一直是通过域名访问的。我们把host:12580端口映射到了solr.project.company.cn。当访问solr.project.company.cn时,dns服务会把请求转发到solr服务器host:80端口,solr服务器上的nginx服务把这个请求/solr 下的请求转发到12580端口。
# /etc/nginx/conf.d/solr.conf
server {
server_name localhost;
location /solr/ {
proxy_pass http://127.0.0.1:12580;
}
}
因此要允许本机访问12580端口
iptables -I INPUT -s 127.0.0.1 -p tcp --dport -j ACCEPT
再次测试,线上服务器和公司ip都可以访问solr服务了。不过既然是通过nginx转发请求,那么仍然限制不住其他ip不加端口访问。用手机测试了一下,果然这样。
在确保没有其他服务在使用转发服务后。同样对80端口限制了ip访问,那么问题解决了。
为了是iptables的配置生效,需要保存配置,并且能够重启后自动生效。使用
# 保存
/etc/rc.d/init.d/iptables save
# 重启服务
service iptables restart
结果发现分别报:
# 保存
no such file or directory: /etc/rc.d/init.d/iptables
# 重启
iptables: unrecognized service
因为ubuntu下配置不同。
参考http://blog.phiy.me/debian-iptables-persistent/ 安装iptables-persistent
apt-get install iptables-persistent
安装过程中需要点击两次yes。这会在/etc/iptables/下生产rules.v4 和rules.v6两个文件,分别保存ipv4和ipv6下的规则。
以后再次修改的话,保存
iptables-save > /etc/iptables/rules.v4
OK。
solr的访问权限管理及ubuntu下iptables的设置的更多相关文章
- 基于角色访问控制RBAC权限模型的动态资源访问权限管理实现
RBAC权限模型(Role-Based Access Control) 前面主要介绍了元数据管理和业务数据的处理,通常一个系统都会有多个用户,不同用户具有不同的权限,本文主要介绍基于RBAC动态权限管 ...
- ODOO权限管理,在两个方面设置权限
转载参考https://zhuanlan.zhihu.com/p/29130388 在odoo中新建两个用户user1,user2 新建用户 建完了用户,记得编辑用户,设置密码. 然后以user1用户 ...
- RedHat Linux下iptables防火墙设置
一般情况下iptables已经包含在Linux发行版中.运行 # iptables --version 来查看系统是否安装iptables 启动iptables:# service iptables ...
- linux下iptables防火墙设置
各位linux的爱好者或者工作跟linux相关的程序员,我们在工作中经常遇到应用服务器端口已经启动, 在网络正常的情况下,访问不到应用程序,这个跟防火墙设置有关 操作步骤 1.检查有没有启动防火墙 s ...
- Ubuntu下Iptables的简单运用,开放/关闭端口,禁止/允许IP或IP段访问...
首先添加规则有两个参数:-A和-I,其中-A是添加到规则的末尾:-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部,由于匹配规则是从上往下,依次查找的,可能出现配置的规则冲突导致后续的规则不 ...
- vue-router的访问权限管理
路由守卫(路由钩子.拦截器) vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的. 可以不登录直接进入系统 ...
- 【转】ubuntu下安装及设置FTP服务器!!
原文网址:http://hujizhou.blog.51cto.com/514907/1290915 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- ubuntu下网络IP设置相关命令
一.使用命令设置ubuntu的ip地址 1.修改配置文件blacklist.conf禁用IPV6: sudo vi /etc/modprobe.d/blacklist.conf 2.在文档最后添加 b ...
- centos和ubuntu下使用cron设置定时任务
1.启动cron工具[ps:使用root权限] centos启动cron两种方式 a) /etc/init.d/crond start b) service crond start ubuntu启动c ...
随机推荐
- Python基础——函数入门
等待更新…………………… 后面再写
- IDEA启动软件可以选择进入项目而不是直接进入项目
1.File--->Settings 2.Appearance & behavior --->System Settings --->Reopen last project ...
- Java RMI 最简单实例
IHello.java import java.rmi.Remote; import java.rmi.RemoteException; public interface IHello extends ...
- inetd - 因特网“超级服务”
总览 inetd - [ -d ] [ -q 队列长度 ] [ 配置文件名 ] 描述 inetd通常在系统启动时由/etc/rc.local引导.inetd会监听指定internet端口是否有连接要求 ...
- zabbix修改默认字体
在zabbixweb界面里有时候显示界面为框框 所以修改默认字体 现在windows里 随便找个字体: win+R 搜fonts 然后随便复制了一个字体,传到zabbix服务器里 cp calib ...
- Codeforces 981 共同点路径覆盖树构造 BFS/DP书架&最大值
A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...
- PrimeFaces ab function
The PrimeFaces.ab function is a shortcut function for PrimeFaces.ajax.AjaxRequest. //ajax shortcut a ...
- 【POJ3162】Walking Race 树形dp+单调队列+双指针
题目大意:给定一棵 N 个节点的无根树,边有边权,现生成一个序列 d,d[i] 表示 i 号节点到树上其他节点距离的最大值.给定一个 m,求 d 序列中最大值和最小值之差不超过 m 的最长连续段的长度 ...
- Linux系统中的硬件问题如何排查?(1)
在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工作,即使是经验相当丰富的用户有时也会遇上自己搞不定的状况,本文分享一些实用的技巧与处理方法,希望有助于读者朋友理解.查明并最终搞 ...
- win10激活方法 windows 10 最简单的激活方法
1.首先,要用管理员权限打开cmd命令行窗口,可以搜索框中输入“cmd”,在出现的“命令行提示符”,图标上右击“以管理员身份运行”. 2.为了让其它激活工具的密钥清除,先卸载密钥,在命令行输入 ...