Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: и снова iptables

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Vinyl
Отправлено: 24 Января, 2013 - 19:28:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Здравствуйте, друзья. Как же я ега (iptables) недолюбливаю, мягко говоря.

Надо закрыть все порты, кроме 80 и 22. На хабре нашел:
CODE (bash):
скопировать код в буфер обмена
  1. # Настраиваем политики по умолчанию
  2. iptables -P INPUT DROP
  3. iptables -P OUTPUT DROP
  4. iptables -P FORWARD DROP
  5.  
  6. # удаляем все имеющиеся правила
  7. iptables -F
  8. iptables -t nat -F
  9. iptables -t mangle -F
  10.  
  11. iptables -X
  12. iptables -t nat -X
  13. iptables -t mangle -X
  14.  
  15. # правила входящих соединений
  16. iptables -A INPUT -i lo -j ACCEPT
  17. iptables -A INPUT -i eth0 --match state --state ESTABLISHED,RELATED -j ACCEPT
  18. iptables -A INPUT -i eth0 -p tcp --dport 80 --match state --state NEW -j ACCEPT
  19. iptables -A INPUT -i eth0 -p tcp --dport 22 --match state --state NEW -j ACCEPT
  20.  
  21. # Правила исходящих соединений
  22. iptables -A OUTPUT -o lo -j ACCEPT
  23. iptables -A OUTPUT -o eth0 --match state --state NEW, ESTABLISHED, RELATED -j ACCEPT
После этого все везде закрыто. И 80 и 22 тоже. Что не так? Заранее спасибо.

(Отредактировано автором: 24 Января, 2013 - 19:28:28)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
esterio
Отправлено: 24 Января, 2013 - 19:53:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Если я правильно понял то у Вас пропал доступ к SSH?. Была такая же шняга, пришлось переустанавливать линь, но недавно наткнувся на такое мб поможет.
http://habrahabr[dot]ru/qa/5627/
Правда немного не то, но может что-то там все таки есть
 
 Top
EuGen Администратор
Отправлено: 24 Января, 2013 - 19:54:09
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




CODE (bash):
скопировать код в буфер обмена
  1. iptables -P INPUT DROP
  2. iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
  3. iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

?
Понять iptables в свое время мне помогла очень хорошая статья на opennet


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Vinyl
Отправлено: 24 Января, 2013 - 20:03:50
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




esterio, нет, доступ есть. Он пропадает после исполнения скрипта (код выше), но после ребута из панели (VDS Manager) все открывается обратно.

EuGen, неа, та же песня. 80 и 22 молчат. За ссылку спасибо, пока в закладки, на выходных почитаю Улыбка


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
esterio
Отправлено: 24 Января, 2013 - 20:16:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Vinyl
Вам заканало, я сохранил настройкы был, и никакой ребут не помогал, сам не знаю как умудрился такое учудить, но я пока-что лишь учу никсы

(Отредактировано автором: 24 Января, 2013 - 20:19:26)

 
 Top
Vinyl
Отправлено: 24 Января, 2013 - 20:26:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




esterio, сочувствую. Бывают в Линуксе неприятные сюрпризы. Однако, кто что бы не говорил, сколько бы раз я не обжигался, я все равно под рутом и в ssh и на ftp Сомбреро А с iptables мне все так с рук сходит т.к. сервер виртуальный, на OpenVZ. Насколько я понимаю, именно поэтому скидываются правила iptables после ребута. Если мне не изменяет память, на железном сервере правила iptables после ребута никуда не сбрасываются.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
EuGen Администратор
Отправлено: 24 Января, 2013 - 20:30:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Возможно, есть какие-либо другие правила. Важный вопрос - это маршрутизатор (сети, например, или шлюз) - или сервер (принимающий запросы конечный хост). Если первое - то интересующая цепочка - FORWARD, но не INPUT. Следует убедиться так же в отсутствии иных блокирующих/разрешающих правил.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
esterio
Отправлено: 24 Января, 2013 - 20:36:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Vinyl
Да у меня полностю виделеный серв.Нет, там после ребута правила сидиваюсться. Но я по статте сделал(попал на не хорошую) там сначала написано было закрить все порты, я так и сделал, но там одной командой ило и еще сохранение. Но ето опыт, если бы никто не обжигался ничему бы не научился. Ок не буду флудит. Ответа если чесно ен знаю, установили arno-iptables-firewall, немного танцов с бубном и все получилось

(Отредактировано автором: 24 Января, 2013 - 20:37:15)

 
 Top
Vinyl
Отправлено: 24 Января, 2013 - 20:36:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




EuGen, это http-сервер. Других правил нет, после ребута все сбрасываются.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
EuGen Администратор
Отправлено: 24 Января, 2013 - 20:40:02
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Vinyl пишет:
Если мне не изменяет память, на железном сервере правила iptables после ребута никуда не сбрасываются.

А куда они деваются? В выключенном состоянии и ОС не работает. Просто они при автозагрузке восстанавливаются (rc.firewall к примеру)
Если конечный хост, то цепочка - INPUT и все должно работать. На всякий случай, разумеется, проверю завтра, однако, думаю, имеется еще какой-либо упущенный фактор.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Vinyl
Отправлено: 24 Января, 2013 - 20:40:19
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




esterio пишет:
установили arno-iptables-firewall

Я тоже хотел, но он не стал. Мне Мелкий, помнится, объяснял, что из-за особенностей виртуализации OpenVZ нет возможности вносить изменения в ядро iptables, посему и не становится.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
EuGen Администратор
Отправлено: 25 Января, 2013 - 12:32:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




sshd же тоже нужно что-то слать с исходного порта 22 (ну, или httpd с 80), поэтому и не работало. Вчера я это не учел. Должно быть примерно следующее (примерно - потому как Вы можете захотеть дополнительно фильтровать соединения по состоянию NEW, ESTABLISHED и т.п. - ну и для 80 порта добавите такое же)
CODE (bash):
скопировать код в буфер обмена
  1. iptables -F
  2. iptables -X
  3.  
  4. iptables -P INPUT DROP
  5. iptables -P OUTPUT DROP
  6. iptables -P FORWARD DROP
  7.  
  8. iptables -A INPUT -i lo -j ACCEPT
  9. iptables -A OUTPUT -o lo -j ACCEPT
  10. iptables -A FORWARD -i lo -j ACCEPT
  11.  
  12. iptables -A INPUT  -p tcp --dport 22 -j ACCEPT
  13. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Vinyl
Отправлено: 26 Января, 2013 - 07:12:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




EuGen, спасибище! Работает!


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Vinyl
Отправлено: 26 Января, 2013 - 08:09:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




А правильно ли я указываю диапазон портов (для ftp-транзакций):
CODE (bash):
скопировать код в буфер обмена
  1. iptables -A INPUT  -p tcp -m multiport --dports 49152:65534 -j ACCEPT
  2. iptables -A OUTPUT -p tcp -m multiport --sports 49152:65534 -j ACCEPT
?




________________________________ _____________________________

Вот же загадка этот iptables..
Делаю:
CODE (bash):
скопировать код в буфер обмена
  1. #!/bin/bash
  2.  
  3. iptables -F
  4. iptables -X
  5.  
  6. iptables -P INPUT DROP
  7. iptables -P OUTPUT ACCEPT
  8. iptables -P FORWARD DROP
  9.  
  10. iptables -A INPUT -i lo -j ACCEPT
  11. iptables -A OUTPUT -o lo -j ACCEPT
  12. iptables -A FORWARD -i lo -j ACCEPT
  13.  
  14. iptables -A INPUT  -p tcp --dport 20 -j ACCEPT
  15. iptables -A INPUT  -p tcp --dport 21 -j ACCEPT
  16. iptables -A INPUT  -p tcp --dport 22 -j ACCEPT
  17. iptables -A INPUT  -p tcp --dport 80 -j ACCEPT
  18. iptables -A INPUT  -p tcp --dport 587 -j ACCEPT
  19. iptables -A INPUT  -p tcp -m multiport --dports 49152:65534 -j ACCEPT


Оставляю открытыми все исх. порты, открываю вх. нужные, в т.ч. и 587-й (по нему яндекс-почта работает), пробую отправить письмо - пишет "ssmtp: Cannot open smtp.yandex.ru:587" Как так?

Терминал пишет:
# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 49152:65534

Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

(Отредактировано автором: 26 Января, 2013 - 12:12:54)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Vinyl
Отправлено: 26 Января, 2013 - 12:14:48
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




И что значит ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ?

(Отредактировано автором: 26 Января, 2013 - 12:15:15)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB