| 
				
			 | 
			
			
				@@ -136,8 +136,15 @@ function configure_firewall { 
			 | 
		
	
		
			
			| 
				136
			 | 
			
				136
			 | 
			
			
				     iptables -A INPUT -i lo -j ACCEPT 
			 | 
		
	
		
			
			| 
				137
			 | 
			
				137
			 | 
			
			
				     iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT 
			 | 
		
	
		
			
			| 
				138
			 | 
			
				138
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				+    # Drop invalid packets 
			 | 
		
	
		
			
			| 
				
			 | 
			
				140
			 | 
			
			
				+    iptables -t mangle -A PREROUTING -m conntrack --ctstate INVALID -j DROP 
			 | 
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				139
			 | 
			
				142
			 | 
			
			
				     # Make sure incoming tcp connections are SYN packets 
			 | 
		
	
		
			
			| 
				140
			 | 
			
				143
			 | 
			
			
				     iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 
			 | 
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				+    iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+    # Drop SYN packets with suspicious MSS value 
			 | 
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				+    iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP 
			 | 
		
	
		
			
			| 
				141
			 | 
			
				148
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				142
			 | 
			
				149
			 | 
			
			
				     # Drop packets with incoming fragments 
			 | 
		
	
		
			
			| 
				143
			 | 
			
				150
			 | 
			
			
				     iptables -A INPUT -f -j DROP 
			 |