Показано с 1 по 10 из 10

Тема: Добавить сервис в firewall

  1. #1
    Member
    Регистрация
    02.03.2008
    Адрес
    Debian 3.2, ISP 4.4
    Сообщений
    57

    По умолчанию Добавить сервис в firewall

    У меня есть интернет радио (Icecast) на 8000 порту. Мне нужно запретить всем кто не из России получать доступ к 8000 порту. Для этого у меня есть длиннющий список российских сетей.

    Но вот беда, в firewall нет нужной мне строки. Как её туда добавить что бы потом вставить туда список сетей? В сервисы Icecast добавлен.

    Зачем? Трафик дорогой.

  2. #2
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    Какая у вас ОС? Лучше вручную настроить из-за большого количества данных, в случае использования ipfw надо использовать таблицы при работе с большим числом записей в firewall

  3. #3
    Member
    Регистрация
    02.03.2008
    Адрес
    Debian 3.2, ISP 4.4
    Сообщений
    57

    По умолчанию

    Извините, CentOS 5.

    Тогда не могли бы вы объяснить как вручную туда всё это вбить? Только не по одной строки а сразу. Т.к. провайдер дал большой список. Формат строк такой "195.137.200.0/23". И нужно иметь возможность всё это обновлять раз в месяц хотя бы.
    Спасибо.

  4. #4
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    К сожалению, в CentOS 5 iptables не поддерживает ipset для работы с таблицами (как скажем во freebsd ipfw можно сделать табличку и добавлять все сеть в нее, а в firewall одно правило), поэтому только большим количеством правил можно сделать.
    Отредактируйте /etc/sysconfig/iptables и добавьте в него строки запрещающие доступ, чтобы он выглядел примерно так

    Код:
    # Generated by ISPmanager install script. Original file saved to __FILE__
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :ISPMGR - [0:0]
    -A INPUT -j ISPMGR
    -A OUTPUT -j ISPMGR
    -A ISPMGR -p tcp  -s 195.137.200.0/23 --dport 8000 -j REJECT
    -A ISPMGR -p tcp  -s 20.30.40.0/24 --dport 8000 -j REJECT
    -A ISPMGR -p tcp --dport 8000 -j ACCEPT
    COMMIT
    # Completed on Mon December 14 10:58:44 2009
    И затем перечитайте правила firewall
    Код:
    iptables-restore < /etc/sysconfig/iptables
    Посмотреть что правила есть в firewall можно командой
    Код:
    iptables-save
    Смотрите также http://wiki.centos.org/HowTos/Network/IPTables

  5. #5
    Member
    Регистрация
    02.03.2008
    Адрес
    Debian 3.2, ISP 4.4
    Сообщений
    57

    По умолчанию

    Спасибо. Такой файл можно сгенерировать автоматом с помощью php. Но всё же вернемся к первому вопросу - как мне добавить строку с портом 8000 в раздел firewall, что бы после этого я просто скопировал в окошко список сетей?

    Всё же это проще чем прибегать к каким то ухищрениям.




    ps правила внёс, команду выполнил iptables-restore < /etc/sysconfig/iptables

    Вывод iptables-save даёт такое
    -bash-3.2# iptables-save
    # Generated by iptables-save v1.3.5 on Tue Oct 25 15:00:07 2011
    *filter
    :INPUT ACCEPT [39149:19812112]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [160745:180521475]
    :ISPMGR - [0:0]
    -A INPUT -j ISPMGR
    -A OUTPUT -j ISPMGR
    -A ISPMGR -s 2.60.0.0/255.252.0.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with icmp-port-unreachable
    -A ISPMGR -s 2.92.0.0/255.252.0.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with icmp-port-unreachable
    ---------------------------------------------------------- много таких строк
    -A ISPMGR -s 217.198.160.0/255.255.240.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with i cmp-port-unreachable
    -A ISPMGR -s 217.198.176.0/255.255.240.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with i cmp-port-unreachable
    -A ISPMGR -s 217.199.208.0/255.255.240.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with i cmp-port-unreachable
    -A ISPMGR -s 217.199.240.0/255.255.240.0 -p tcp -m tcp --dport 8000 -j REJECT --reject-with i cmp-port-unreachable
    -A ISPMGR -p tcp -m tcp --dport 8000 -j ACCEPT
    COMMIT
    # Completed on Tue Oct 25 14:55:44 2011
    -bash-3.2# service iptables restart
    Сбрасываются правила брандмауэра: [ OK ]
    Политика цепочек брандмауэра устанавливается в ACCEPT: filt[ OK ]
    Выгружаются модули [ OK ]
    Применяются правила брандмауэра iptables: [ OK ]
    Загружаются дополнительные модули iptables: ip_conntrack_ne[ OK ]
    Никаких ошибок вроде нет. Спокойно захожу на 8000 порт - и он его открывает. Хотя я сейчас не в россии. Почему не работает?


    ps2 Разобрался. Мне нужно блокировать не Россию, а наоборот весь мир кроме России. Вы слегка не то дали. Замена REJECT на ACCEPT и наоборот помогло. Ну плюс ещё пришлось локалхост и ип адрес сервера внести в правила. Иначе Icecast не включался. С этим ок.

    Вопрос как строчку добавить остается.
    Последний раз редактировалось Set; 25.10.2011 в 20:39.

  6. #6
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    По поводу строчки что показывает
    Код:
    netstat -na | grep 8000
    ISPmanager сам обнаруживает сервисы которые слушают порт

  7. #7
    Member
    Регистрация
    02.03.2008
    Адрес
    Debian 3.2, ISP 4.4
    Сообщений
    57

    По умолчанию

    Показывает что там куча строк (вывод не пишу - т.к. я понял в чём дело)

    Сейчас зашёл в firewall а там
    irdmi - частично открытый
    Хотя я эту строку не трогал. Открываю - а там все мои правила для 8000 порта. Это оказывается и есть 8000 порт.

    Я то просто думал строка будет называться unknown service port 8000.

    Спасибо за помощь!
    Последний раз редактировалось Set; 27.10.2011 в 18:51.

  8. #8
    Cool UNIX admin Аватар для ls
    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    Имя берется из /etc/services

  9. #9
    Junior Member
    Регистрация
    27.02.2012
    Сообщений
    10

    По умолчанию

    Здравствуйте,

    Тоже CentOS 5
    Нужно добавить в firewall правило:
    Код:
    /sbin/iptables -t raw -A PREROUTING -p tcp -m tcp --dport 80 -m string --algo kmp --string "POST /wp-login.php HTTP/1.0" -j DROP
    Что мне нужно дописать в файл /etc/sysconfig/iptables?

  10. #10
    Support team Аватар для Fly
    Регистрация
    14.08.2010
    Сообщений
    4,764

    По умолчанию

    Добавьте через консоль команду в iptables, затем iptables-save > /path/to/file

    iptables сохранит в файл все правила

Ваши права

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