diff --git a/README.md b/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/ROUTER.sh b/ROUTER.sh index 37327ba..06e7fd4 100644 --- a/ROUTER.sh +++ b/ROUTER.sh @@ -1,104 +1,69 @@ -# NETWORKS: -# DMZ: 23.214.219.128/25 -# Internal: 192.168.10.0/24 -# -# MACHINES: -# DNS2: 192.137.16.75 -# EDEN 193.138.212.1 -dns2="87.248.214.99" -eden="87.248.214.100" +IF_DMZ="enp0s8" +IF_INT="enp0s9" +IF_EXT="enp0s10" +NET_DMZ="23.214.219.128/25" +NET_INT="192.168.10.0/24" +IP_EXT_FW="87.248.214.97" +IP_DMZ_FW="23.214.219.254" +IP_INT_FW="192.168.10.254" +IP_DMZ_DNS="23.214.219.130" +IP_DMZ_SMTP="23.214.219.131" +IP_DMZ_WWW="23.214.219.132" +IP_DMZ_VPN_GW="23.214.219.133" +IP_DMZ_MAIL="23.214.219.134" +IP_INT_FTP="192.168.10.2" +IP_INT_DATASTORE="192.168.10.3" +IP_DNS2="193.137.16.75" +IP_EDEN="193.136.212.1" -# ============================== -# Router 1 -# INTERFACES: -# - Internet: 87.248.214.97 -# - DMZ: 23.214.219.254 -# - Internal: 192.168.10.254 -# ============================== +sudo yum install epel-release -y +sudo yum install suricata -y +sudo suricata-update -# ============================== -# DMZ /25 -# IP: -# - dns : 23.214.219.130 -# - smtp : 23.214.219.131 -# - www : 23.214.219.132 -# - vpn-gw: 23.214.219.133 -# - mail: 23.214.219.134 -# ============================== +sudo ifconfig $IF_DMZ $IP_DMZ_FW netmask 255.255.255.128 +sudo ifconfig $IF_INT $IP_INT_FW netmask 255.255.255.0 +sudo ifconfig $IF_EXT $IP_EXT_FW netmask 255.255.255.0 -# ============================== -# Internal -# IP: -# ftp: 192.168.10.2 -# datastore : 192.168.10.3 -# DHCP Client : 192.168.10.4-5 -# ============================== - -sudo ifconfig enp0s8 23.214.219.254 netmask 255.255.255.128 -sudo ifconfig enp0s9 192.168.10.254 netmask 255.255.255.0 -sudo ifconfig enp0s10 87.248.214.97 netmask 255.255.255.0 - -sudo yum install iptables-services -y -sudo systemctl stop firewalld -sudo systemctl disable firewalld -sudo systemctl mask firewalld -sudo systemctl enable iptables sudo iptables -F sudo iptables -t nat -F sudo iptables -t mangle -F sudo sysctl -w net.ipv4.ip_forward=1 -iptables -P INPUT DROP -iptables -P FORWARD DROP -iptables -P OUTPUT ACCEPT + +sudo iptables -P INPUT DROP +sudo iptables -P FORWARD DROP +sudo iptables -P OUTPUT ACCEPT + +sudo modprobe nf_conntrack_ftp +sudo modprobe nf_nat_ftp + +sudo iptables -A FORWARD -j NFQUEUE --queue-num 0 sudo iptables -A INPUT -i lo -j ACCEPT -sudo iptables -A OUTPUT -o lo -j ACCEPT -#sudo iptables -t nat -A POSTROUTING -i enp0s9 -o enp0s3 -j MASQUERADE #SUS -sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #CAREFULL -#DNS name resolution requests sent to outside servers and want a response: -sudo iptables -A INPUT -i enp0s10 -p udp --sport 53 -j ACCEPT -#SSH connections to the router system that originate from the inside and want an answer: -sudo iptables -A INPUT -i enp0s9 -p tcp --sport 22 -j ACCEPT #TESTED -sudo iptables -A INPUT -i enp0s8 -s 23.214.219.133 -p tcp --sport 22 -j ACCEPT #TESTED -#The dns server should be able to resolve names using the internet (and others???) -sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p udp --sport 53 -j ACCEPT #NEED to test !! -#The internal network should be able to send and recieve dns name resolutions to the dns server (1!) -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.130 -p udp --sport 53 -j ACCEPT #CORRECT AND TESTED WILL ACTIVATE WHEN YOU SEND FROM ENP0S9 to ENP0S8 -sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #THIS IS IMPORTANT AND MIGHT FUCK US -#The dns and dns2 servers should be able to synchronize the contents of DNS zones. (protocol tcp port 53) -sudo iptables -A FORWARD -i enp0s8 -o enp0s10 -s 23.214.219.130 -p tcp --sport 53 -j ACCEPT #NEED to test! -#SMTP connections to the smtp server and returns -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.131 -p tcp --sport 587 -j ACCEPT #TESTED -#sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -p tcp --dport 587 -m state --state ESTABLISHED,RELATED -j ACCEPT -#POP and IMAP connections to the www server -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --sport 143 -j ACCEPT #TESTED -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.134 -p tcp --sport 110 -j ACCEPT #TESTED -#HTTP and HTTPS connectins -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --sport 80 -j ACCEPT #TESTED THROUGH NETCAT -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.132 -p tcp --sport 443 -j ACCEPT #TESTED THROUGH NETCAT -#sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -p tcp --dport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT -#sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -p tcp --dport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT -#OpenVPN connections to the vpn-gw server -sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -d 23.214.219.133 -p udp --sport 1194 -j ACCEPT #NEDDS testing -#sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -p udp --dport 1194 -j ACCEPT -#VPN clients connected to the gateway vpn-gw ???? vpn should be able to acess ftp e datastore -sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.2 -j ACCEPT #NEDDS testing -sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 23.214.219.133 -d 192.168.10.3 -j ACCEPT #NEDDS testing -#FTP da internet WORRIED ??? -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.2 -p tcp --sport 21 -j ACCEPT #Changed -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 20 -j ACCEPT #MIGHT BE NEEDED -#SSH CONNECTIONS datastore server but only from eden or dn2 DNAT -s servers, and port and -d interface -sudo iptables -t nat -A PREROUTING -s $dn2 -d 87.248.214.97 -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -t nat -A PREROUTING -s $eden -d 87.248.214.97 -p tcp --dport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -t nat -A PREROUTING -s $dn2 -d 87.248.214.97 -p tcp --sport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -t nat -A PREROUTING -s $eden -d 87.248.214.97 -p tcp --sport 22 -j DNAT --to-destination 192.168.10.3 -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $dns2 -p tcp --sport 22 -j ACCEPT #Need to check and make diferent ip addresses -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $eden -p tcp --sport 22 -j ACCEPT -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $dns2 -p tcp --dport 22 -j ACCEPT #Need to check and make diferent ip addresses -sudo iptables -A FORWARD -i enp0s10 -o enp0s9 -d 192.168.10.3 -s $eden -p tcp --dport 22 -j ACCEPT -#enp0s9 to internet DNS, http, https, ssh, FTP(SERVERS??????(WHO INVITED THIS GUY)) SNAT -sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enp0s10 -j SNAT --to-source 87.248.214.97 -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p udp --sport 53 -j ACCEPT #TESTED -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 80 -j ACCEPT #TESTED -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 443 -j ACCEPT #TESTED -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --sport 21 -j ACCEPT #MIGHT NOT BE ENOUGH -sudo iptables -A FORWARD -i enp0s9 -o enp0s10 -p tcp --dport 21 -j ACCEPT \ No newline at end of file +sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT +sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT +sudo iptables -A INPUT -i $IF_INT -p tcp --dport 22 -j ACCEPT +sudo iptables -A INPUT -i $IF_DMZ -s $IP_DMZ_VPN_GW -p tcp --dport 22 -j ACCEPT + +sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT +sudo iptables -A FORWARD -p udp -d $IP_DMZ_DNS --dport 53 -j ACCEPT + +sudo iptables -A FORWARD -s $IP_DMZ_DNS -d $IP_DNS2 -p tcp --dport 53 -j ACCEPT +sudo iptables -A FORWARD -s $IP_DNS2 -d $IP_DMZ_DNS -p tcp --dport 53 -j ACCEPT + +sudo iptables -A FORWARD -p tcp -d $IP_DMZ_SMTP --dport 25 -j ACCEPT +sudo iptables -A FORWARD -p tcp -d $IP_DMZ_MAIL --dport 110 -j ACCEPT +sudo iptables -A FORWARD -p tcp -d $IP_DMZ_MAIL --dport 143 -j ACCEPT +sudo iptables -A FORWARD -p tcp -d $IP_DMZ_WWW -m multiport --dports 80,443 -j ACCEPT +sudo iptables -A FORWARD -p udp -d $IP_DMZ_VPN_GW --dport 1194 -j ACCEPT + +sudo iptables -A FORWARD -i $IF_DMZ -s $IP_DMZ_VPN_GW -d $NET_INT -j ACCEPT + +sudo iptables -t nat -A POSTROUTING -s $NET_INT -o $IF_EXT -j SNAT --to-source $IP_EXT_FW +sudo iptables -A FORWARD -i $IF_INT -o $IF_EXT -p udp --dport 53 -j ACCEPT +sudo iptables -A FORWARD -i $IF_INT -o $IF_EXT -p tcp -m multiport --dports 80,443,22,21 -j ACCEPT + +sudo iptables -t nat -A PREROUTING -i $IF_EXT -d $IP_EXT_FW -p tcp --dport 21 -j DNAT --to-destination $IP_INT_FTP +sudo iptables -A FORWARD -i $IF_EXT -d $IP_INT_FTP -p tcp --dport 21 -j ACCEPT + +sudo iptables -t nat -A PREROUTING -i $IF_EXT -s $IP_EDEN -d $IP_EXT_FW -p tcp --dport 22 -j DNAT --to-destination $IP_INT_DATASTORE +sudo iptables -t nat -A PREROUTING -i $IF_EXT -s $IP_DNS2 -d $IP_EXT_FW -p tcp --dport 22 -j DNAT --to-destination $IP_INT_DATASTORE +sudo iptables -A FORWARD -i $IF_EXT -d $IP_INT_DATASTORE -p tcp --dport 22 -j ACCEPT