我想知道是否有人可以帮我使用下面的iptables规则: 我们希望允许任何和所有本地始发(如在运行iptables的服务器上)stream量。 DNS,HTTP等…所有这一切。 任何由运行iptables的服务器启动的连接都应该被允许。 目前我们基本上使用OUTPUT默认策略ACCEPT。 它是否正确? input被封锁,所以我假设这意味着连接(除了我们允许的连接)不能启动,因为它们会在我们的端点击OUTPUT策略之前被丢弃? 对不起,我的iptables技能很弱;) 非常感谢你。
我们有一个局域网,一个Linux Box被用作一个Internet网关。 在这个网关上,我们安装了Intranet邮件服务器(sendmail),fetchmail,proxy和DNS。 专线连接到此网关,并在此框上configuration静态IP。 对于生长10-15天,已经注意到有一些网站根本不工作。 如果我将这个连接和IPconfiguration到一个独立的Windows PC,所有这些网站都可以被访问,没有任何问题。 我无法浏览几个网站,也无法ping通它们,但我可以使用nslookupparsing地址。 我的LANconfiguration如下: 使用ifconfig: enp2s0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500 inet 192.168.1.41 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::52e5:49ff:fe1b:daa8 prefixlen 64 scopeid 0x20<link> ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet) RX packets 67331121 bytes 8458827280 (7.8 GiB) RX errors 0 dropped 2138 overruns 0 frame 0 TX packets 66307928 bytes 58607952676 (54.5 GiB) TX […]
我有几台Linux机器作为我的networking的路由器/防火墙,我有一个运行所有iptables命令来设置我的规则的脚本。 在我看来,这似乎是一个非常愚蠢的做法。 你怎么做到这一点? 有configuration文件的程序有点容易pipe理吗? 它有一个GUI或Web界面?
我正在为虚拟专用服务器的防火墙工作,我正在研究的其中一个端口扫描器。 TCP标志用于保护。 我有2个问题。 规则: -p tcp –tcp-flags SYN,ACK,FIN,RST SYN -j DROP 第一个参数表示检查具有标志SYN的数据包第二个参数表示确保设置标志ACK,FIN,RST SYN 而当这种情况(有一个匹配),丢弃的TCP数据包 第一个问题: 我理解RST和RST / ACK的含义,但在第二个参数RST SYN中正在使用。 RST SYN和RST和SYN RST有什么区别? 在三次握手中是否有“SYN RST”标志? 第二个问题是关于之间的区别 -p tcp –tcp-flags SYN,ACK,FIN,RST SYN -j DROP 和 -p tcp –tcp-flags ALL SYN,ACK,FIN,RST SYN -j DROP 什么时候应该全部使用? 当我使用ALL,这是否意味着如果与SYN标志的TCP数据包没有ACK“和”FIN“和”RST SYN标志设置,将不会有匹配?
我想select社区的大脑关于Linux服务器安全,特别是暴力攻击和使用fail2ban vs定制iptables 。 这里有一些类似的问题,但是没有一个能够让我满意。 总之,我试图确定最好的解决scheme,以保护暴露在互联网(运行通常的服务,SSH,网页,邮件)的Linux服务器,从暴力攻击。 我有一个体面的服务器安全处理,即通过不允许root或密码login,更改默认端口,确保软件是最新的,检查日志文件,只允许某些主机访问服务器和利用安全性lockingssh审计工具,如Lynis ( https://cisofy.com/lynis/ ),一般安全合规性,所以这个问题不一定就是这样,尽pipeinput和build议总是受欢迎的 。 我的问题是我应该使用哪种解决scheme(fail2ban或iptables),我应该如何configuration它,还是应该使用两者的组合来抵御暴力攻击? 关于这个主题有一个有趣的回应( Denyhosts vs fail2ban vs iptables-防止暴力login的最好方法? )。 对我个人而言,最有趣的答案是( https://serverfault.com/a/128964),iptables 路由发生在内核中 ,而fail2ban则使用用户模式工具来parsing日志文件。 Fail2ban当然使用iptables,但是它仍然需要parsing日志文件并匹配模式,直到执行一个动作。 那么使用iptables并使用限速 ( https://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/ )在一段时间内从IP上删除请求的时间,在特定的时间内连接尝试过多,而不pipe它尝试连接的协议是什么? 如果是这样,那么有一些有趣的想法使用drop vs reject这些包( http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject ),对此有什么想法? Fail2ban允许自定义configuration的forms,能够编写自定义“ 规则 ”的服务,可能无法在默认configuration中解决。 它很容易安装和设置,function强大,但如果我试图实现的所有服务/协议超过一个x数量的两个失败的访问尝试是“ 阻止 ”从服务器的IP是一个矫枉过正的时间? 这里的目标是打开每日logging报告,而不必滚动浏览尝试失败的连接到服务器的页面。 感谢您花时间。
我有一个VirtualBox VM(主机和来宾Ubuntu Maverick)。 我的VPN提供商使用OpenVPN来设置TUN。 我想设置一些东西,这样来自虚拟机的stream量只能通过VPN,而且如果虚拟专用网(VPN)发生故障,它就会被丢弃(发生)。 build议? 我的iptables-fu有点弱 我尝试过的:使用VirtualBox的“主机专用networking”,它给主机上的vboxnet0环回接口给客户端,但是无法获得iptables / routes权限。 我想避免虚拟机上的NAT,因为我已经双重NAT(ISP和家庭路由器),一个级别将让我的头stream行。 其他可能性:切换到TAP(如何?)和桥接到VM。 在虚拟机内部创buildVPN,并过滤除VPN之外的所有eth0stream量连接iptables(如下所示) 奖励要点:如果您可以告诉我如何在主机和客户机上使用不同的VPN出口点,而无需通过主机的VPN对来宾进行双重隧道传输。
我有一个在外面有一个10GBe接口的linux路由器,内部有一个保护千兆以太网接口。 我们目前的预算为2GBit / s。 如果我们超过一个月平均超过5%的速度,那么我们将收取整个10Gbit / s的容量。 美元方面有了一个提高。 所以,我想在10GBe接口上将其限制为2GBit / s。 TBFfilter可能是理想的,但是这个意见值得关注。 在除Alpha以外的所有平台上,它能够以最理想的最小突发形成高达1mbit / s的正常stream量,并以所configuration的速率准确发送数据。 我应该使用TBF还是其他一些filter来将这个速率应用到接口,我将如何去做。 我不明白这里给出的例子: Traffic Control HOWTO 特别是“例9.创build一个256kbit / s的TBF” tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps 如何计算256K比特率? […]
我把这个脚本从各个地方放在一起。 我所希望的是,一旦运行,它将执行以下操作: 暂停端口80和443的所有“新”HTTPstream量 – 只是“暂停”他们,不要给出任何错误 当所有“进行中”请求完成时,优雅地重新启动haproxy 暂停httpstream量并像往常一样继续业务。 这是如何运行? 我错过了什么? 我们有数千个基于ip的acl规则,存储在一个haproxy引用的文件中,我们需要每分钟重新加载几次。 #!/bin/sh # hold/pause new requests iptables -I INPUT -p tcp –dport 80 –syn -j DROP iptables -I INPUT -p tcp –dport 443 –syn -j DROP sleep 1 # gracefully restart haproxy /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid) # allow new requests to come […]
我的目标是将访问docker容器的权限限制在几个公共IP地址上。 有一个简单的,可重复的过程来完成我的目标? 在使用Docker的默认选项时只理解iptables的基础知识,我发现它非常困难。 我想运行一个容器,使其对公众互联网可见,但只允许select主机的连接。 我期望设置REJECT默认的INPUT策略,然后只允许来自我的主机的连接。 但是Docker的NAT规则和链路阻碍了我的INPUT规则。 鉴于以下假设,有人可以提供一个如何实现我的目标的例子吗? 在eth0上主机公共IP为80.80.80.80 在eth1上主机私有IP 192.168.1.10 docker run -d -p 3306:3306 mysql 阻止除主机4.4.4.4和8.8.8.8之外的与主机/容器3306的所有连接 我很高兴将容器绑定到本地ip地址,但需要指导如何正确设置iptables转发规则,从而避免docker进程和主机重新启动。 谢谢!
我有一个专有的系统,将单元#1(192.168.1.1)的udpvideostream传输到单元#2(.1.2)。 我不能修改这个系统,我想克隆这个udpstream,所以我可以在不同的程序中访问它。 这个程序将做video的东西,并作为一个组播stream再次发送出去。 我希望使用三台网卡的Linux机器(现在运行Ubuntu Server 12.04)执行此操作。 通过将单元#1和#2连接到Linux机器中的两个网卡(eth0和eth1)并使用桥接,我就可以进行通信。 我的/ etc / network / interfaces看起来像: # The loopback network interface auto lo iface lo inet loopback # The external interface auto eth3 iface eth3 inet static address 192.168.10.2 netmask 255.255.255.0 # The bridge interface auto br0 iface br0 inet manual bridge_ports eth0 eth1 这工作,并通过使用tcpdump我已经确认udp数据包从#1到达,并正在朝着#2端口6000。 下一步,我希望将工作是使用iptables克隆所有udp数据包从192.168.1.1转到端口6000#2。 我不是很熟悉iptables,但在阅读在线和手册后,我认为这将工作: iptables […]