The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Помогите разобрать скрипт"
Отправлено skachkovsa, 01-Мрт-13 14:46 
Доброго времени суток, помогите понять в каком месте прописать, чтоб открыть порт 63555 торрент на машине например с адресом 192.168.1.65, ни как не могу понять в скрипте что писать где, вот текст скрипта

#!/bin/sh

#Утилиты
IPT="/sbin/iptables"
IFC="/sbin/ifconfig"
G="/sbin/grep"
SED="/bin/sed"
AWK="/usr/bin/awk"
ECHO="/bin/echo"

#Сброс существующих и очистка персональных цепочек
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $CHAINS
do
    $IPT -t $i -F
    $IPT -t $i -X
done

#$ECHO "1">/proc/sys/net/ipv4/tcp_syncookies
$ECHO "1">/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#Проверка адреса источника
for f in /proc/sys/net/ipv4/conf/*/rp_filter
do
    $ECHO "1">$f
done
#Отключаем роутинг источника IP и ICMP-редиректы
for f in /proc/sys/net/ipv4/conf/*/accept_source_route
do
    $ECHO "0">$f
done
for f in /proc/sys/net/ipv4/conf/*/accept_redirects
do
    $ECHO "0">$f
done
#Включаем форвардинг в ядре
echo "1">/proc/sys/net/ipv4/ip_forward

#Установка переменных окружения
LO_IFACE="lo"
LO_IP="127.0.0.1"
LO_MASK="255.0.0.0"
LO_NET="$LO_IP/$LO_MASK"


INET_IFACE="ppp0"
INET_IP="`$IFC $INET_IFACE | $AWK /$INET_IFACE/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
INET_BROADCAST="`$IFC $INET_IFACE | $AWK /$INET_IFACE/'{next}//{split($0,a,":");split(a[3],a," ");print a[1];exit}'`"
INET_MASK="`$IFC $INET_IFACE | $AWK /$INET_IFACE/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
INET_NET="$INET_IP/$INET_MASK"
$ECHO "INET_IP=$INET_IP INET_BROADCAST=$INET_BROADCAST INET_MASK=$INET_MASK INET_NET=$INET_NET"

LAN_IFACE="eth0"
LAN_IP="`$IFC $LAN_IFACE | $AWK /$LAN_IFACE/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
LAN_BROADCAST="`$IFC $LAN_IFACE | $AWK /$LAN_IFACE/'{next}//{split($0,a,":");split(a[3],a," ");print a[1];exit}'`"
LAN_MASK="`$IFC $LAN_IFACE | $AWK /$LAN_IFACE/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
LAN_NET="$LAN_IP/$LAN_MASK"
$ECHO "LAN_IP=$LAN_IP LAN_BROADCAST=$LAN_BROADCAST LAN_MASK=$LAN_MASK LAN_NET=$LAN_NET"

SSP_IFACE="eth2"
SSP_IP="`$IFC $SSP_IFACE | $AWK /$SSP_IFACE/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
SSP_BROADCAST="`$IFC $SSP_IFACE | $AWK /$SSP_IFACE/'{next}//{split($0,a,":");split(a[3],a," ");print a[1];exit}'`"
SSP_MASK="`$IFC $SSP_IFACE | $AWK /$SSP_IFACE/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
SSP_NET="$SSP_IP/$SSP_MASK"
$ECHO "SSP_IP=$SSP_IP SSP_BROADCAST=$SSP_BROADCAST SSP_MASK=$SSP_MASK SSP_NET=$SSP_NET
"


#Loopback
$IPT -A INPUT -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPT -A INPUT -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPT -A INPUT -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPT -A INPUT -i $LO_IFACE -s $SSP_IP -j ACCEPT

###########Р‘Р›РћРљР˜Р РћР’РљР˜#############
#Цепочки журналирования событий
$IPT -N DROP1 2>/dev/null
$IPT -A DROP1 -m limit --limit 3/minute --limit-burst 10 -j LOG --log-prefix 'FIREWALL DROP BLOCKED:'
$IPT -A DROP1 -j DROP
$IPT -N REJECT1 2>/dev/null
$IPT -A REJECT1 -m limit --limit 3/minute --limit-burst 10 -j LOG --log-prefix 'FIREWALL REJECT BLOCKED:'
$IPT -A REJECT1 -j REJECT
$IPT -N DROP2 2>/dev/null
$IPT -A DROP2 -m limit --limit 3/second --limit-burst 10 -j LOG --log-prefix 'FIREWALL DROP UNKNOWN:'
$IPT -A DROP2 -j DROP
$IPT -N REJECT2 2>/dev/null
$IPT -A REJECT2 -m limit --limit 3/second --limit-burst 10 -j LOG --log-prefix 'FIREWALL REJECT UNKNOWN:'
$IPT -A REJECT2 -j REJECT
#Блокируем широковещательные пакеты
$IPT -A INPUT -i $INET_IFACE -d $INET_BROADCAST -j DROP1
$IPT -A INPUT -i $LAN_IFACE -d $LAN_BROADCAST -j DROP1
$IPT -A OUTPUT -o $INET_IFACE -d $INET_BROADCAST -j DROP1
$IPT -A OUTPUT -o $LAN_IFACE -d $LAN_BROADCAST -j DROP1
$IPT -A FORWARD -o $INET_IFACE -d $INET_BROADCAST -j DROP1
$IPT -A FORWARD -o $LAN_IFACE -d $LAN_BROADCAST -j DROP1
#Блокируем внешний доступ к локальной сети
$IPT -A INPUT -i $INET_IFACE ! -d $INET_IP -j DROP1
#Блокируем пакеты, не относящиеся к LAN
#$IPT -A INPUT -i $LAN_IFACE ! -s $LAN_NET -j DROP1
#$IPT -A OUTPUT -o $LAN_IFACE ! -d $LAN_NET -j DROP1
$IPT -A FORWARD -i $LAN_IFACE ! -s $LAN_NET -j DROP1
$IPT -A FORWARD -o $LAN_IFACE ! -d $LAN_NET -j DROP1
#Дополнительная проверка
$IPT -A OUTPUT -o $INET_IFACE ! -s $INET_NET -j DROP1
#Блокируем исходящие ICMP кроме PING
$IPT -A OUTPUT -o $INET_IFACE -p icmp ! --icmp-type 8 -j DROP1
$IPT -A FORWARD -o $INET_IFACE -p icmp ! --icmp-type 8 -j DROP1
#Блокировка отдельных портов
COMBLOCK="0:1 13 98 111 137:139 161:162 445 1214 1999 2049 3049 4329 6346 3128 8000 8008 8080 12345 65535"
TCPBLOCK="$COMBLOCK 98 512:515 1080 6000:6009 6112"
UDPBLOCK="$COMBLOCK 520 123 517:518 1427 9000"
$ECHO -n "FW: Blocking attacks to TCP port"
for i in $TCPBLOCK
do
    $ECHO -n "$i "
    $IPT -A INPUT -p tcp --dport $i -j DROP1
    $IPT -A OUTPUT -p tcp --dport $i -j DROP1
    $IPT -A FORWARD -p tcp --dport $i -j DROP1
done
$ECHO ""
$ECHO -n "FW: Blocking attacks to UDP port"
for i in $UDPBLOCK
do
    $ECHO -n "$i "
    $IPT -A INPUT -p udp --dport $i -j DROP1
    $IPT -A OUTPUT -p udp --dport $i -j DROP1
    $IPT -A FORWARD -p udp --dport $i -j DROP1
done
$ECHO ""

#Запускаем отслеживание соединенийпо ftp
MODULES="ip_nat_ftp ip_conntrack_ftp"
for i in $MODULES
do
    $ECHO "Добавляем модуль $i"
    modprobe $i
done

#PPTP
$IPT -A OUTPUT -o $SSP_IFACE -p udp -s $SSP_IP --dport 53 -m state --state NEW -j ACCEPT
$IPT -A INPUT -p tcp -d $SSP_IP --sport 1723 -j ACCEPT
$IPT -A INPUT -p gre -d $SSP_IP -j ACCEPT
$IPT -A OUTPUT -s $SSP_IP -j ACCEPT

#Защищаем клиенты для чата
IRC='ircd'
MSN=1863
ICQ=5190
NFS='sunrpc'
PORTAGE='rsync'
GIT=9418
SIP=5060
OpenPGP_HTTP_Keyserver=11371
#Остальные порты сервисов
TCPSERV="domain ssh http 181 3389 https ftp ftp-data mail 465 pop3 pop3s imap3 imaps imap2 8585 8090 23 4321 9443 time $SIP 20 21 5061 $PORTAGE $GIT $IRC $MSN $ICQ $OpenPGP_HTTP_Keyserver"
UDPSERV="domain time"
$ECHO -n "FW: Allowing inside systems to use service:"
for i in $TCPSERV
do
    $ECHO -n "$i "
    $IPT -A OUTPUT -o $INET_IFACE -p tcp -s $INET_IP --dport $i --syn -m state --state NEW -j ACCEPT
    $IPT -A FORWARD -i $LAN_IFACE -p tcp -s $LAN_NET --dport $i --syn -m state --state NEW -j ACCEPT
done
$ECHO ""
$ECHO -n "FW: Allowing inside systems to use service:"
for i in $UDPSERV
do
    $ECHO -n "$i "
    $IPT -A OUTPUT -o $INET_IFACE -p udp -s $INET_IP --dport $i -m state --state NEW -j ACCEPT
    $IPT -A FORWARD -i $LAN_IFACE -p udp -s $LAN_NET --dport $i -m state --state NEW -j ACCEPT
done
$ECHO ""

#Разрешаем внешнее пингование
$IPT -A OUTPUT -o $INET_IFACE -p icmp -s $INET_IP --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A INPUT -i $INET_IFACE -p icmp --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -o $SSP_IFACE -p icmp -s $SSP_IP --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $LAN_IFACE -p icmp -s $LAN_NET --icmp-type 8 -m state --state NEW -j ACCEPT

#Разрешаем файрволу пинговать внутреннюю сеть
$IPT -A OUTPUT -o $LAN_IFACE -p icmp -s $LAN_NET --icmp-type 8 -m state --state NEW -j ACCEPT
$IPT -A INPUT -i $LAN_IFACE -p icmp -s $LAN_NET --icmp-type 8 -m state --state NEW -j ACCEPT

#Aserisk SIP incoming
#$IPT -A INPUT -i $INET_IFACE -p udp --dport 5060:5061 -m state --state NEW -j ACCEPT
#$IPT -A OUTPUT -o $INET_IFACE -p udp --dport 5060:5061 -j ACCEPT
#$IPT -A INPUT -i $INET_IFACE -p udp --dport 10000:20000 -m state --state NEW -j ACCEPT
#$IPT -A OUTPUT -o $INET_IFACE -p udp --dport 10000:20000 -j ACCEPT
#$IPT -A INPUT -i $LAN_IFACE -p udp --dport 5060:5061 -j ACCEPT
#$IPT -A OUTPUT -o $LAN_IFACE -p udp --dport 5060:5061 -j ACCEPT
#$IPT -A INPUT -i $LAN_IFACE -p udp --dport 10000:20000 -j ACCEPT
#$IPT -A OUTPUT -o $LAN_IFACE -p udp --dport 10000:20000 -j ACCEPT

#Расставляем акцепты
$IPT -A INPUT -i $LAN_IFACE -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT -i $INET_IFACE -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT
#$IPT -A INPUT -i $INET_IFACE -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT -i $LAN_IFACE -p udp --dport 67:68 -j ACCEPT
$IPT -A INPUT -i $LAN_IFACE -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -o $LAN_IFACE -p udp --dport 67:68 -j ACCEPT
$IPT -A INPUT -i $LO_IFACE -j ACCEPT
$IPT -A OUTPUT -o $LO_IFACE -j ACCEPT
$IPT -t nat -A PREROUTING -j ACCEPT
$IPT -t nat -A POSTROUTING -o $INET_IFACE -s $LAN_NET -j MASQUERADE
$IPT -t nat -A POSTROUTING -j ACCEPT
$IPT -t nat -A OUTPUT -j ACCEPT
$IPT -A INPUT -p tcp --dport auth --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#Блокируем все остальное
$IPT -A INPUT -j DROP1
$IPT -A OUTPUT -j REJECT1
$IPT -A FORWARD -j DROP1

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру