#!/bin/sh # network : ipv4.ipv4.ipv4.ipv4/mask || dns/mask local network="${net}" firewallInitActiveTftp 2>&1 >>/dev/null # ruleOut : iptables -t filter -A OUTPUT -o ""$eth"" -j ""$rulesOut"" # ruleIn : iptables -t filter -A INPUT -i ""$eth"" -j ""$rulesIn"" # dropOut : iptables -t filter -A OUTPUT -o ""$eth"" -j ""$rulesOut"" # dropIn : iptables -t filter -A INPUT -i ""$eth"" -j ""$rulesIn"" local rootUID="$( shUserId root )" local rootGID="$( shGroupId root )" # [ TCP ] TFTP #local filterIn="$filterIn ;tftp | -p tcp --sport tftp -m state --state NEW" #local filterOut="$filterOut;tftp | -p tcp --dport tftp -m state --state ESTABLISHED -m owner --uid-owner ${rootUID} --gid-owner ${rootGID}" #local filterIn="$filterIn ;tftp_sp | -p tcp --dport 1024: --sport 1024: -m state --state ESTABLISHED" #local filterOut="$filterOut;tftp_sp | -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED,NEW -m owner --uid-owner ${rootUID} --gid-owner${rootGID}" #local filterIn="$filterIn ;tftp_sp | -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED ! --syn" #local filterOut="$filterOut;tftp_sp | -p tcp --dport 1024: --dport 1024: -m state --state ESTABLISHED ! --syn" # [ UDP ] TFTP local ruleIn="$ruleIn ;tftp | -p udp --dport tftp -m state --state NEW" local ruleOut="$ruleOut;tftp | -p udp --sport tftp -m state --state ESTABLISHED -m owner --uid-owner ${rootUID} --gid-owner ${rootGID}" local ruleIn="$ruleIn ;tftp_sp | -p udp --dport 1024: --sport 1024: -m state --state ESTABLISHED" local ruleOut="$ruleOut;tftp_sp | -p udp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED,NEW -m owner --uid-owner ${rootUID} --gid-owner ${rootGID}" # clients : PROTO ; PORT ; UID/GID ; UID/GID ; UID/GID .... | # servers : PROTO ; PORT ; UID/GID ; UID/GID ; UID/GID .... | # forward : PROTO ; PORT | # -- CLIENT -- #local clients="$clients|TCP ;smtp ;Debian-exim/Debian-exim" # -- SERVER -- #local servers="$servers|UDP ;domain ;bind/bind"