Bridge firewall that allows ssh in, and allows htt
Bridge firewall that allows ssh in, and allows http/https out, but nothing else... ebtable ruleset isn't working ![]()
I'm trying to make a bridge firewall that allows ssh in, and allows http/https out, but nothing else... ebtable ruleset isn't working ![]()
This is what I have so far. When I set the default policy to allow everything gets through, when deny nothing gets through:
Here is the net setup: squid/sshserver --> eth1 [firewall] eth0 ---> Internet
What is supposed to be allowed:
ssh server (port 22 TCP) <--eth1 [firewall] eth0 <--- Internet<br />
ssh/squidserver --> eth1 [firewall] eth0 --> Internet (ports 80 and 443 TCP)
What is supposed to be disallowed
(spoofed ip w/o proper squidserver mac address going out)
(anything else coming in)
(probably anything else going out aswell (maybe allow dns, dhcp)
Here is the ruleset right now:
ebtables -L
Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 8, policy: DROP
-p IPv4 --ip-proto icmp -j DROP
-p IPv4 -i eth0 -o eth1 --ip-dst 192.168.0.22 --ip-proto tcp --ip-dport 22 -j ACCEPT
-p IPv4 -i eth1 -o eth0 --ip-src 192.168.0.22 --ip-proto tcp --ip-sport 22 -j ACCEPT
-p IPv4 -d 0:8:d:54:13:c9 -i eth0 -o eth1 --ip-dst 192.168.0.22 --ip-proto tcp --ip-sport 80 -j ACCEPT
-p IPv4 -s 0:8:d:54:13:c9 -i eth1 -o eth0 --ip-src 192.168.0.22 --ip-proto tcp --ip-dport 80 -j ACCEPT
-p IPv4 -d 0:8:d:54:13:c9 -i eth0 -o eth1 --ip-dst 192.168.0.22 --ip-proto tcp --ip-sport 443 -j ACCEPT
-p IPv4 -s 0:8:d:54:13:c9 -i eth1 -o eth0 --ip-src 192.168.0.22 --ip-proto tcp --ip-dport 443 -j ACCEPT
-p IPv4 -i eth0 --ip-src 192.168.0.22 -j DROP
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Here are the commands used:
###The invisible bridge way:
/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 eth0
/usr/sbin/brctl addif br0 eth1
/sbin/ip link set br0 up
/sbin/ip link set eth0 up # don't ask me why
/sbin/ip link set eth1 up # don't ask me why
#/sbin/ip addr add 192.168.0.6 brd + dev br0
#/sbin/route add default gw 192.168.0.1 dev br0 ##Only needed if eth2 hasn't allready set default gateway
# ebtables...
# example rule: block all ICMP
ebtables -F FORWARD
ebtables -P FORWARD DROP
ebtables -A FORWARD -p ip --ip-proto icmp -j DROP ## block all ICMP
#ebtables -A FORWARD -i eth0 -j DROP
##Here We allow SSH to pass through to the ssh server
#Incoming Connection From Internet #ebtables -i eth0 -o eth1 -p ip --ip-proto tcp --ip-destination-port 22 --ip-destination ip-of-the-ssh-server -j ACCEPT
#Reply by the server To Internet   #ebtables -i eth1 -o eth0 -p ip --ip-proto tcp --ip-source-port 22 --ip-source ip-of-the-ssh-server -j ACCEPT
ebtables -A FORWARD -i eth0 -o eth1 -p ip --ip-proto tcp --ip-destination-port 22 --ip-destination 192.168.0.22 -j ACCEPT
ebtables -A FORWARD -i eth1 -o eth0 -p ip --ip-proto tcp --ip-source-port 22 --ip-source 192.168.0.22 -j ACCEPT
##Allow squid server to access HTTP and HTTPS servers on standard ports.
#Incoming Packets From HTTP Server on Internet#   ebtables -i eth0 -o eth1 -p ip --ip-destination squidserver -d macaddress-of-squidserver --ip-proto tcp --i$
#Outgoing Packets From Clients on School Network# ebtables -i eth1 -o eth0 -p ip --ip-source squidserver -s macaddress-of-squidserver --ip-proto tcp --ip-des$
#Incoming Packets From HTTP Server on Internet#   ebtables -i eth0 -o eth1 -p ip --ip-destination squidserver -d macaddress-of-squidserver --ip-proto tcp --i$
#Outgoing Packets From Clients on School Network# ebtables -i eth1 -o eth0 -p ip --ip-source squidserver -s macaddress-of-squidserver --ip-proto tcp --ip-des$
##Anti-spoofing rule (Only matches the IP address of squidserver, not MAC address)
ebtables -A FORWARD -i eth0 -o eth1 -p ip --ip-destination 192.168.0.22 -d 00:08:0D:54:13:C9 --ip-proto tcp --ip-source-port 80 -j ACCEPT
ebtables -A FORWARD -i eth1 -o eth0 -p ip --ip-source 192.168.0.22 -s 00:08:0D:54:13:C9 --ip-proto tcp --ip-destination-port 80 -j ACCEPT
ebtables -A FORWARD -i eth0 -o eth1 -p ip --ip-destination 192.168.0.22 -d 00:08:0D:54:13:C9 --ip-proto tcp --ip-source-port 443 -j ACCEPT
ebtables -A FORWARD -i eth1 -o eth0 -p ip --ip-source 192.168.0.22 -s 00:08:0D:54:13:C9 --ip-proto tcp --ip-destination-port 443 -j ACCEPT
##Anti-spoofing rule (Only matches the IP address of squidserver, not MAC address)
ebtables -A FORWARD -i eth0 -p ip --ip-source 192.168.0.22 -j DROP
#ebtables -A FORWARD -i eth0 -j DROP
#ebtables -A FORWARD -p ip -j DROP ## block everything else
#ebtables -A FORWARD -i eth0 -o eth1 -p ip -j DROP
The bridge works, but the filtering is either all or nothing ![]()
Categories
- All Categories
 - 158 LFX Mentorship
 - 158 LFX Mentorship: Linux Kernel
 - 850 Linux Foundation IT Professional Programs
 - 389 Cloud Engineer IT Professional Program
 - 186 Advanced Cloud Engineer IT Professional Program
 - 88 DevOps Engineer IT Professional Program
 - 156 Cloud Native Developer IT Professional Program
 - 152 Express Training Courses & Microlearning
 - 149 Express Courses - Discussion Forum
 - 3 Microlearning - Discussion Forum
 - 7.2K Training Courses
 - 50 LFC110 Class Forum - Discontinued
 - 74 LFC131 Class Forum
 - 56 LFD102 Class Forum
 - 258 LFD103 Class Forum
 - 27 LFD110 Class Forum
 - 50 LFD121 Class Forum
 - 3 LFD123 Class Forum
 - 1 LFD125 Class Forum
 - 19 LFD133 Class Forum
 - 10 LFD134 Class Forum
 - 19 LFD137 Class Forum
 - 1 LFD140 Class Forum
 - 73 LFD201 Class Forum
 - 8 LFD210 Class Forum
 - 6 LFD210-CN Class Forum
 - 2 LFD213 Class Forum - Discontinued
 - LFD221 Class Forum
 - 128 LFD232 Class Forum - Discontinued
 - 3 LFD233 Class Forum
 - 5 LFD237 Class Forum
 - 25 LFD254 Class Forum
 - 749 LFD259 Class Forum
 - 111 LFD272 Class Forum - Discontinued
 - 4 LFD272-JP クラス フォーラム - Discontinued
 - 16 LFD273 Class Forum
 - 468 LFS101 Class Forum
 - 4 LFS111 Class Forum
 - 4 LFS112 Class Forum
 - 5 LFS116 Class Forum
 - 9 LFS118 Class Forum
 - 2 LFS120 Class Forum
 - LFS140 Class Forum
 - 12 LFS142 Class Forum
 - 9 LFS144 Class Forum
 - 6 LFS145 Class Forum
 - 6 LFS146 Class Forum
 - 7 LFS147 Class Forum
 - 21 LFS148 Class Forum
 - 17 LFS151 Class Forum
 - 6 LFS157 Class Forum
 - 91 LFS158 Class Forum
 - 1 LFS158-JP クラス フォーラム
 - 14 LFS162 Class Forum
 - 2 LFS166 Class Forum - Discontinued
 - 9 LFS167 Class Forum
 - 5 LFS170 Class Forum
 - 2 LFS171 Class Forum - Discontinued
 - 4 LFS178 Class Forum - Discontinued
 - 4 LFS180 Class Forum
 - 3 LFS182 Class Forum
 - 7 LFS183 Class Forum
 - 2 LFS184 Class Forum
 - 41 LFS200 Class Forum
 - 737 LFS201 Class Forum - Discontinued
 - 3 LFS201-JP クラス フォーラム - Discontinued
 - 23 LFS203 Class Forum
 - 141 LFS207 Class Forum
 - 3 LFS207-DE-Klassenforum
 - 3 LFS207-JP クラス フォーラム
 - 302 LFS211 Class Forum - Discontinued
 - 56 LFS216 Class Forum - Discontinued
 - 60 LFS241 Class Forum
 - 51 LFS242 Class Forum
 - 39 LFS243 Class Forum
 - 17 LFS244 Class Forum
 - 8 LFS245 Class Forum
 - 1 LFS246 Class Forum
 - 1 LFS248 Class Forum
 - 124 LFS250 Class Forum
 - 3 LFS250-JP クラス フォーラム
 - 2 LFS251 Class Forum
 - 163 LFS253 Class Forum
 - 1 LFS254 Class Forum - Discontinued
 - 3 LFS255 Class Forum
 - 15 LFS256 Class Forum
 - 2 LFS257 Class Forum
 - 1.4K LFS258 Class Forum
 - 12 LFS258-JP クラス フォーラム
 - 142 LFS260 Class Forum
 - 165 LFS261 Class Forum
 - 45 LFS262 Class Forum
 - 82 LFS263 Class Forum - Discontinued
 - 15 LFS264 Class Forum - Discontinued
 - 11 LFS266 Class Forum - Discontinued
 - 25 LFS267 Class Forum
 - 27 LFS268 Class Forum
 - 38 LFS269 Class Forum
 - 11 LFS270 Class Forum
 - 202 LFS272 Class Forum - Discontinued
 - 2 LFS272-JP クラス フォーラム - Discontinued
 - 2 LFS274 Class Forum - Discontinued
 - 4 LFS281 Class Forum - Discontinued
 - 30 LFW111 Class Forum
 - 265 LFW211 Class Forum
 - 190 LFW212 Class Forum
 - 17 SKF100 Class Forum
 - 2 SKF200 Class Forum
 - 3 SKF201 Class Forum
 - 800 Hardware
 - 200 Drivers
 - 68 I/O Devices
 - 37 Monitors
 - 104 Multimedia
 - 175 Networking
 - 92 Printers & Scanners
 - 85 Storage
 - 765 Linux Distributions
 - 82 Debian
 - 67 Fedora
 - 20 Linux Mint
 - 13 Mageia
 - 23 openSUSE
 - 149 Red Hat Enterprise
 - 31 Slackware
 - 13 SUSE Enterprise
 - 356 Ubuntu
 - 472 Linux System Administration
 - 39 Cloud Computing
 - 71 Command Line/Scripting
 - Github systems admin projects
 - 96 Linux Security
 - 78 Network Management
 - 102 System Management
 - 48 Web Management
 - 74 Mobile Computing
 - 19 Android
 - 42 Development
 - 1.2K New to Linux
 - 1K Getting Started with Linux
 - 388 Off Topic
 - 121 Introductions
 - 178 Small Talk
 - 28 Study Material
 - 877 Programming and Development
 - 312 Kernel Development
 - 547 Software Development
 - 1.8K Software
 - 270 Applications
 - 183 Command Line
 - 5 Compiling/Installing
 - 988 Games
 - 320 Installation
 - 109 All In Program
 - 109 All In Forum
 
Upcoming Training
-   
  			August 20, 2018
  			
Kubernetes Administration (LFS458)
 -   
   	    August 20, 2018
   	     
Linux System Administration (LFS301)
 -   
  	  August 27, 2018    
			
Open Source Virtualization (LFS462)
 -   
			August 27, 2018
			
Linux Kernel Debugging and Security (LFD440)