iptables - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 03.03.2009, 23:43   #1
Пользователь

Автор темы (Топик Стартер) iptables

пытаюсь настроить iptables для Ubuntu Server 8.10 что бы закрыть все порты кроме тех что нужны серверу и сайта для доступа к бд. почитал разных мануалов по созданию и попытался написать скрипт для iptables.
В одном мануальчике нашел еще и какую то защиту=)
оч прошу тех кто разбирается помочь в создании (исправить ошибки в моем, или этот совсем не правильный)
в общем вот:
Код:
#!/bin/sh

#переменные:
# Переменная, задающая путь к файлу запуска iptables.
IPT="/sbin/iptables"

#сетевой интерфейс. Это нужно, чтобы не писать в правилах одно и тоже.
INET_IFACE="ppp0"

# Номера непривилегированных портов #что это не понял=)
UNPRIPORTS="1024:65535"            #для серва можно ли сделать так UNPRIPORTS="2106,3106,7777"?

start_fw()
{
    # Включить перенаправление пакетов через ядро.#кто может объясните что дает это=)
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Сбросить правила и удалить цепочки.
    $IPT -F
    $IPT -X
    
    # Политики по умолчанию.
    $IPT -P INPUT DROP
    $IPT -P FORWARD DROP
    $IPT -P OUTPUT DROP


    # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах:
    # мб стоит здесь вписать порт по которому коннектятся друг с другом ГС и ЛС?
    # $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports №порта



    # Открываем некоторые порты:
    
    # L2server LS
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 2106 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 2106 -j ACCEPT ! --syn
    # L2server GS
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 7777 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 7777 -j ACCEPT ! --syn
    # MySQL (для сайта)
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 3106 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 3106 -j ACCEPT ! --syn
    # VNC (удаленное управление ) учился вот по этому мануальчику (_http://www.debianadmin.com/remote-desktop-sharing-in-ubuntu.html)
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 0 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 0 -j ACCEPT ! --syn

#если на сайте будет управление сервером  то здесь надо будет вписать  еще и порт на котором Telnet?

}

case "$1" in
start)    echo -n "Starting firewall: iptables"
    start_fw
        echo "."
;;
stop)    echo -n "Stopping firewall: iptables"
    iptables -F
    iptables -X
        echo "."
       ;;
save)    echo -n "Saving firewall: iptables"
    iptables-save > /etc/rules-save
    echo "."
;;    
restart) echo -n "Restarting firewall: iptables"
    iptables -F
    iptables -X
    cat /etc/rules-save | iptables-restore
        echo "."
       ;;
reload|force-reload) echo -n "Reloading configuration files for firewall: iptables"
        echo "."
       ;;
*)    echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
        exit 1
       ;;
esac
exit 0
и вот еще коды, стоит ли их впихивать в основной
Код:
#--------------------------------------------------------------------------------------------------------
#может ли что из этого понадобится для игрового серва l2?
#-------------------------------------------------------------------------------------------------------
#    # Эти правила предохраняют от некоторых типов атак:
#    # SYN наводнение.
#    # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным.
#    $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#    $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
#    
#    # UDP наводнение
#    # Службы использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя.
#    $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP
#    $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT
#    $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT  
#    $IPT -A INPUT -p UDP -j RETURN
#    $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT
#    
#    # ICMP - перенаправление
#    # ICMP - сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять
#    # пакеты по более короткому маршруту. Может быть использовано взломщиком для перенаправления вашего трафика через свою машину.
#    $IPT -A INPUT --fragment -p ICMP -j DROP
#    $IPT -A OUTPUT --fragment -p ICMP -j DROP
#    
#    # Разрешаем  ICMP соединение. Значительная часть ICMP используется для передачи сообщений о
#    # том, что происходит с тем или иным UDP или TCP соединением.
#    $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT
#    $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT
#    
#    # Разрешаем себе ping наружу - нас же не попингуешь - пакеты отбрасываются.
#    $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT
#    $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT
#
#    # Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета содержится недопустимая запись,
#    # или если контрольная сумма заголовка не соответствует контрольной сумме, указанной передающим узлом.
#    $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT
#    $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT
#
#    # Запрещаем подключение к X серверу через сетевые интерфейсы.
#    #думаю что закрыл все порты или я ошибаюсь?
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1:65535 -j DROP --syn
#
#--------------------------------------------------------------------------------------------------------

# Разрешаем finger, whois, gorper, wais. Traceroute - разрешаем себе, к нам не проломятся - запрещено. Telnet
#   # запретил, чтобы соблазна не было передавать пароли прямым текстом.
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 20 -j ACCEPT
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 23 --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 79 --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 43 --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 70 --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 210 --sport $UNPRIPORTS -j ACCEPT
#    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn
#    $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT
заранее всем спасибо, кто поможет=)
BlickBoy вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 18:49. Часовой пояс GMT +3.

Вверх