Bekijk de volledige versie : Enable Web Access from WAN? YES-NO. Работает ли защита?
michaelV
20-10-2008, 20:55
Добрый день!
Недавно приобрел ASUS WL-500gP. Обновил прошивку на альтернативную 1.9.2.7-9
По многочисленным мануалам и хелпам на сайте настроил все что нужно для жизни.
В разделе Internet Firewall - Basic Config следующие настройки:
Enable Firewall? - YES
Enable Web Access from WAN? - YES
Port of Web Access from WAN: - 8080
Respond Ping Request from WAN? - YES
Набирая из внешней сети http://xxx.xxx.xxx.xxx:8080 и прекрасно вхожу в web-интерфейс роутера.
Решил ради эксперимента набрать из внешней сети: http://xxx.xxx.xxx.xxx (по умолчанию 80 порт)
И вижу эту же вэб-морду!!
Вхожу в Internet Firewall - Basic Config и снимаю галки с пунктов Enable Web Access from WAN? и Port of Web Access from WAN:
В итоге на порту 8080, вэб-морда перестала открываться, но по стандартному порту все замечательно открывает!!
Не совсем понятно, это специально открытый "черный ход" и что еще открыто для несанкционированного доступа из внешней сети?
так же дело обстоит и с пунктом Respond Ping Request from WAN? В любом из двух положений, пинг свободно проходит до роутера.
Добрый день!
Недавно приобрел ASUS WL-500gP. Обновил прошивку на альтернативную 1.9.2.7-9
По многочисленным мануалам и хелпам на сайте настроил все что нужно для жизни.
В разделе Internet Firewall - Basic Config следующие настройки:
Enable Firewall? - YES
Enable Web Access from WAN? - YES
Port of Web Access from WAN: - 8080
Respond Ping Request from WAN? - YES
Набирая из внешней сети http://xxx.xxx.xxx.xxx:8080 и прекрасно вхожу в web-интерфейс роутера.
Решил ради эксперимента набрать из внешней сети: http://xxx.xxx.xxx.xxx (по умолчанию 80 порт)
И вижу эту же вэб-морду!!
Вхожу в Internet Firewall - Basic Config и снимаю галки с пунктов Enable Web Access from WAN? и Port of Web Access from WAN:
В итоге на порту 8080, вэб-морда перестала открываться, но по стандартному порту все замечательно открывает!!
Не совсем понятно, это специально открытый "черный ход" и что еще открыто для несанкционированного доступа из внешней сети?
так же дело обстоит и с пунктом Respond Ping Request from WAN? В любом из двух положений, пинг свободно проходит до роутера.
Вы файл post-firewall используете? Если да, то настройте блокирование 80 порта для внешних подключений в нем.
А Вы случайно не сидя в LAN'е, т.е. находясь внутри, ломитесь в интнрфейс? Или все-таки действительно, пытаетесь войти снаружи?
Решил ради эксперимента набрать из внешней сети: http://xxx.xxx.xxx.xxx (по умолчанию 80 порт)
И вижу эту же вэб-морду!!
Вхожу в Internet Firewall - Basic Config и снимаю галки с пунктов Enable Web Access from WAN? и Port of Web Access from WAN:
В итоге на порту 8080, вэб-морда перестала открываться, но по стандартному порту все замечательно открывает!!
Не совсем понятно, это специально открытый "черный ход" и что еще открыто для несанкционированного доступа из внешней сети?Думаю - Ваша проблема связана с тем, что Вы не выполнили Commit и Reboot после сделаных изменений.
michaelV
21-10-2008, 22:23
Отвечаю по порядку.
А Вы случайно не сидя в LAN'е, т.е. находясь внутри, ломитесь в интнрфейс? Или все-таки действительно, пытаетесь войти снаружи?
Нет конечно, пробовал со стороней машины находящейся далеко за пределами сегмента. 80 открыт.
Думаю - Ваша проблема связана с тем, что Вы не выполнили Commit и Reboot после сделаных изменений.
Вы имеете ввиду APPLY и FINISH ?
Можно сразу Finish. А после возникнет Save&Restart.
Но после Apply следуед обязательно дать команду nvram commit && reboot.
michaelV
22-10-2008, 16:47
Можно сразу Finish. А после возникнет Save&Restart.
Но после Apply следуед обязательно дать команду nvram commit && reboot.
К счастью, я выполнял эти команды через telnet.
Вы файл post-firewall используете? Если да, то настройте блокирование 80 порта для внешних подключений в нем.
Пытался найти всю информацию по post-firewall, увы на форуме полно тем где упоминается или отрывков кода, но отдельной темы по post-firewall я не нашел :(
Простите за оффтоп, подскажите прямую ссылку на форуме.
еще.
Составляю правило запрета доступа с внешнего адреса на 80 порт. Взгляните пожалуйста, верно ли подобное правило?
iptables -i vlan1 -I INPUT -p tcp --dport 80 -j DROP
nvram commit
reboot
[/I][/B]
vlan0ports=1 2 3 5*
vlan1ports=0 4 5
vlan1ports - это WAN + IPTV.
Заранее спасибо!
nightrus
22-10-2008, 21:59
пропиши nvram set http_lanport=8080 && nvram commit
тогда 80 вообще отвечать перестанет (пока веб сервер не настроишь на него)
michaelV
22-10-2008, 22:19
пропиши nvram set http_lanport=8080 && nvram commit
тогда 80 вообще отвечать перестанет (пока веб сервер не настроишь на него)
ок, попробуем.
Но я стал копать глубже, теперь это iptables.
Вот что прописал:
#разрешить доступ по 80 порту на IP 192.168.40.1
iptables -I INPUT -p tcp -d 192.168.40.1 --dport 80 -j ACCEPT
#запретить доступ по 80 порту на IP ххх.ххх.ххх.ххх (внешний IP WAN)
iptables -I INPUT -p tcp -d ххх.ххх.ххх.ххх --dport 80 -j DROP
# запомнить
flashfs save && flashfs commit && flashfs enable
Кажется все встало на свои месте, но как только перегружаю прибор командой reboot, все капец! таблица пустая. Куда копать?
Sashunya
23-10-2008, 05:50
ок, попробуем.
Но я стал копать глубже, теперь это iptables.
Вот что прописал:
#разрешить доступ по 80 порту на IP 192.168.40.1
iptables -I INPUT -p tcp -d 192.168.40.1 --dport 80 -j ACCEPT
#запретить доступ по 80 порту на IP ххх.ххх.ххх.ххх (внешний IP WAN)
iptables -I INPUT -p tcp -d ххх.ххх.ххх.ххх --dport 80 -j DROP
# запомнить
flashfs save && flashfs commit && flashfs enable
Кажется все встало на свои месте, но как только перегружаю прибор командой reboot, все капец! таблица пустая. Куда копать?
Дык это все нужно прописать в post-firewall. IPTABLES автоматом будет выполнятся только оттуда
michaelV, это ерунда какая-то.
По умолчанию доступа со стороны WAN на порты 80 и 8080 НЕТ.
Если он в вэб-интерфейсе не включен, но все-таки ЕСТЬ - разбирайтесь с настройками.
Возможно, следует сбросить роутер в factory settings (как и требуется после прошивки) и настроить снова.
Вообще, к чему эти гадания. Покажите вывод iptables -L и все станет ясно.
michaelV
23-10-2008, 08:59
Вообще, к чему эти гадания. Покажите вывод iptables -L и все станет ясно.
Собственно, вот
login as: AdminS
AdminS@xxx.xxx.xxx.xxx's password:
[admin@500G root]$ iptables -L INPUT -nv
Chain INPUT (policy ACCEPT 57719 packets, 4818K bytes)
pkts bytes target prot opt in out source destination
93584 5617K ACCEPT icmp -- * * 0.0.0.0/0 123.123.123.123 (WAN)
4650 231K ACCEPT all -- * * 192.168.40.2 192.168.40.1
6595 799K DROP all -- * * 0.0.0.0/0 123.123.123.123 (WAN)
[AdminS@500G root]$
michaelV
24-10-2008, 07:39
Странную закономерность заметил.
Скинул роутер FACTORY DEFAULT, настроил еще раз заново. Вот и 80 порт невидно снаружи, и все остальное корректно работает. Начал копаться с iptables, сохранил-применил-ребутнул роутер и все пошло заново: 80 наружу торчит открытым. Ничего не понимаю
Начал копаться с iptables
Видимо, дело в смысле это "копания".
Chain INPUT (policy ACCEPT 57719 packets, 4818K bytes)
Политику сами добавляете?
Или удаляете последнее правило и политику не меняете?
michaelV
31-10-2008, 18:17
Спустя неделю, за которое пришлось порядочно посидеть на форуме за чтением сообщений и мануалов, хочу вернуться к теме. Хотя прочитав некоторое количество информации понял, что заголовок у поста неверный, надо было задать вопрос по другому:
"почему после команды flashfs save && flashfs commit && flashfs enable
reboot" iptables возвращается к исходным параметрам в таблице?"
Я перепробовал все способы указанные в теме: сбрасывал, перепрошивал и ПРАВИЛЬНО перезапускал роутер, но не помогает ничего.
К примеру, вэб-морда роутера по-умолчанию висит на 80 порту. Я параноик, сразу захотел перевести на нестандартный порт, в моем случае 8080. Но после команды команды flashfs save && flashfs commit && flashfs enable reboot все возвращается в исходное положение.
Теперь сама таблица подправленная мной до REBOOT:
# Generated by iptables-save v1.2.7a
*nat
:PREROUTING ACCEPT [10079:982493]
:POSTROUTING ACCEPT [420:22153]
:OUTPUT ACCEPT [47:3532]
:VSERVER - [0:0]
-A PREROUTING -d 123.123.123.123 -j VSERVER
-A PREROUTING -d 123.123.123.123 -j VSERVER
-A POSTROUTING -s ! 123.123.123.123 -o ppp0 -j MASQUERADE
-A POSTROUTING -s ! 172.19.187.32 -o vlan1 -j MASQUERADE
-A POSTROUTING -s 192.168.40.0/255.255.255.0 -d 192.168.40.0/255.255.255.0 -o br0 -j MASQUERADE
-A VSERVER -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.40.1:80
-A VSERVER -p tcp -m tcp --dport 20:21 -j DNAT --to-destination 192.168.40.10
COMMIT
# Completed on Fri Oct 31
# Generated by iptables-save v1.2.7a
*mangle
:PREROUTING ACCEPT [153459:66476247]
:INPUT ACCEPT [6248:621672]
:FORWARD ACCEPT [146925:65803494]
:OUTPUT ACCEPT [4499:2361222]
:POSTROUTING ACCEPT [151368:68160524]
COMMIT
# Completed on Fri Oct 31
# Generated by iptables-save v1.2.7a on Fri Oct 31
*filter
:INPUT DROP [2432:280016]
:FORWARD ACCEPT [146925:65803494]
:OUTPUT ACCEPT [4451:2358078]
-A INPUT -d 192.168.40.1 -i ppp0 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -d 192.168.40.1 -i br0 -j ACCEPT
COMMIT
# Completed on Fri Oct 31
Как видно, я поправил политику INPUT c ACCEPT на DROP. Иначе, вэб-морда доступна снаружи по 80 и по 8080.
Потом даю команду :
iptables-save
flashfs save && flashfs commit && flashfs enable
вот что вижу:
[user@500G root]$ flashfs save && flashfs commit && flashfs enable
tar: Removing leading '/' from member names
tmp/local/
tmp/local/sbin/
tmp/local/sbin/post-boot
tmp/local/sbin/post-firewall
tmp/local/sbin/post-mount
tmp/local/sbin/pre-shutdown
tmp/local/etc/
tmp/local/etc/dropbear/
tmp/local/etc/dropbear/dropbear_dss_host_key
tmp/local/etc/dropbear/dropbear_rsa_host_key
tmp/local/root/
tmp/local/root/.profile
-rw-r--r-- 1 Admin root 1567 Oct 31 00:00 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes
.
Committed.
[user@500G root]$ flashfs enable
[user@500G root]$
и как только даю команду REBOOT.
Ничего не сохраняется и вот что вижу в таблице:
[user@500G root]$ iptables-save
# Generated by iptables-save v1.2.7a
*nat
:PREROUTING ACCEPT [235:38536]
:POSTROUTING ACCEPT [29:1661]
:OUTPUT ACCEPT [7:448]
:VSERVER - [0:0]
-A PREROUTING -d 123.123.123.123 -j VSERVER
-A PREROUTING -d 172.19.187.32 -j VSERVER
-A POSTROUTING -s ! 123.123.123.123 -o ppp0 -j MASQUERADE
-A POSTROUTING -s ! 172.19.187.32 -o vlan1 -j MASQUERADE
-A POSTROUTING -s 192.168.40.0/255.255.255.0 -d 192.168.40.0/255.255.255.0 -o br0 -j MASQUERADE
-A VSERVER -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.40.1:80
-A VSERVER -p tcp -m tcp --dport 20:21 -j DNAT --to-destination 192.168.40.10
COMMIT
# Completed on Fri Oct
# Generated by iptables-save v1.2.7a on Fri Oct
*mangle
:PREROUTING ACCEPT [1632:569595]
:INPUT ACCEPT [183:24782]
:FORWARD ACCEPT [1428:534584]
:OUTPUT ACCEPT [134:14294]
:POSTROUTING ACCEPT [1561:548802]
COMMIT
# Completed on Fri Oct 31
# Generated by iptables-save v1.2.7a on Fri Oct 31
*filter
:INPUT ACCEPT [183:24782]
:FORWARD ACCEPT [1428:534584]
:OUTPUT ACCEPT [133:14218]
COMMIT
# Completed on Fri Oct 31
[user@500G root]$
Если политику INPUT переправить на DROP, то правило VSERVER 20:21 попрежнему доступно из интернета, но правило VSERVER:8080 (web-интерфейс) недоступен из интернета как по 80, так и по 8080.
Если фаервол роутера основан на iptables, как полностью управлять всеми правилами и политиками iptables?
Вот в чем вопрос, как это сохранить таблицу iptables *filter?
Извините, я не понял, в каком месте вы сохраняли файл post-firewall ;).
Если Вы решили менять дефолтную таблицу файервола в прошивке, то, видимо, нужно было эту прошивку пересобрать под себя.
Вобще-то правила файерволла меняют путем запуска файла post-firewall при загрузке роутера, который и вносит необходимые коррекции в дефолтную таблицу.
P.S. А что делает команда iptables-save, можно посмотреть, например, здесь: http://jug.org.ua/cgi-bin/man.cgi?iptables-save
Потом даю команду :
iptables-save
flashfs save && flashfs commit && flashfs enable
iptables-save is used to dump the contents of an IP Table in easily
parseable format to STDOUT.
:D:D:D
сохранять настройки с помощью iptables-save можно. Для этого надо:
1) сохранить их куда-то кроме экрана
2) восстановить их оттуда при загрузке с помощью iptables-restore, запускаемого все из того же post-firewall
AlekseyM
04-10-2013, 16:53
в последней прошивке, от энтузиастов вообще пропала вкладка Enable Web Access from WAN.
как можно сделать доступ из внешней сети на роутер?
в последней прошивке, от энтузиастов вообще пропала вкладка Enable Web Access from WAN.
как можно сделать доступ из внешней сети на роутер?
ssh... ;)
AlekseyM
04-10-2013, 18:53
ssh... ;)
можно ткнуть носом где посмотреть и почитать?
theMIROn
05-10-2013, 13:14
в последней прошивке, от энтузиастов вообще пропала вкладка Enable Web Access from WAN.
как можно сделать доступ из внешней сети на роутер?
всмысле пропала?
9706
всмысле пропала?
Телепатирую, что имеется в виду моя сборка. В моей сборке нет этой дыры.
Regulirovschik
05-10-2013, 15:44
А что, совсем никак нельзя открыть 80 порт в прошивке 3.0.6.5212 для RT-N10U ??? (Самому смешно, когда читаю :))
Помогите, пожалуйста. Очень надо для сайта. Не получается никак даже пропинговать внешний IP, не то чтоб открыть порты :( .
Для выхода в интернет используется 3G модем. Пингую онлайн службой http://ping.eu/ping/ .
По dyndns внешний IP такой:
Oct 5 20:05:00 inadyn[619]: Successful alias table update for klass.dyndns.tv => new IP# 213.87.240.156
Oct 5 20:05:01 ddns: ddns update ok
А по ifconfig и Status IP другой:
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.27.133.154 P-t-P:10.64.64.64 Mask:255.255.255.255
Почему, объясните, пожалуйста.
Файл /usr/local/sbin/post-firewall вот такой:
cat
#!/bin/sh
## FIREWALL
## set default policy
iptables -P INPUT DROP
## deny ftp access from WAN
#iptables -I INPUT 1 -p tcp -i "$1" --syn --dport 21 -j DROP
## Allow access to various router services from WAN
for P in 443 80 81 8080 8081; do
iptables -I INPUT 1 -p tcp --syn -i "$1" --dport $P -j ACCEPT
done
## NAT
iptables -t nat -I PREROUTING -p tcp --dport 443 -i vlan1 -j DNAT --to 192.168.1.95:1347
iptables -t nat -I PREROUTING -p tcp --dport 8080 -i vlan1 -j DNAT --to 192.168.0.185:80
iptables -t nat -I PREROUTING -p tcp --dport 8081 -i vlan1 -j DNAT --to 192.168.0.185:21
iptables -t nat -I PREROUTING -p tcp --dport 443 -i ppp0 -j DNAT --to 192.168.1.95:1347
iptables -t nat -I PREROUTING -p tcp --dport 8080 -i ppp0 -j DNAT --to 192.168.0.185:80
iptables -t nat -I PREROUTING -p tcp --dport 8081 -i ppp0 -j DNAT --to 192.168.0.185:21
Ни один не пингуется. Уже по-всякому менял. Отключал в веб морде Firewall и защиту от атак, включил обратно. Ни в какую. Respond Ping Request from WAN только стоит Yes.
Для сайта? Доступ к веб-морде роутера?? Который выходит в инет через 3G-модем??? О боги...
theMIROn
05-10-2013, 16:16
Телепатирую, что имеется в виду моя сборка. В моей сборке нет этой дыры.
мда, гениально, возможность администрирования считать дырой.
можно тогда пойти дальше, выпилить отключение файрвола, отключение ната, включение telnet, выпилить httpd совсем, это значительно проще, чем сделать whiete-list на доступ к интерфейсу и/или прикрутить https, да? :)
fyi, далеко не всегда и не все используют роутеры 1) в режиме gateway 2) с WAN в публичный интернет
Regulirovschik
05-10-2013, 17:34
michaelV,
сохранить другой порт к веб-интерфейсу:
nvram set http_lanport=8889, например
nvram commit
Vampik,
к веб-интерфейсу доступ не обязателен, вопрос - как добиться отклика на ping?
Выставлять ЭТО (httpd) в WAN - дыра. Многие так делают, а потом появляются статьи про уязвимости роутеров и ботнеты :)
Тем более кто знает, может сделать как было одной строчкой.
https тоже нужен, не говоря уже о том, что httpd даже POST-запросы не поддерживает, а от длинных GET падает.
Regulirovschik, получите у своего сотового оператора внешний IP (с абонентской платой и помегабайтной тарификацией трафика), тогда сможете пинговать. Сейчас вы находитесь за NAT и свой роутер пинговать не можете.
AlekseyM
05-10-2013, 18:36
Выставлять ЭТО (httpd) в WAN - дыра. Многие так делают, а потом появляются статьи про уязвимости роутеров и ботнеты :)
Тем более кто знает, может сделать как было одной строчкой.
Regulirovschik, получите у своего сотового оператора внешний IP (с абонентской платой и помегабайтной тарификацией трафика), тогда сможете пинговать. Сейчас вы находитесь за NAT и свой роутер пинговать не можете.
а как сделать правильно?
а как сделать правильно?
Я не параноик, хотя бы SSH с хорошим паролем. Подключившись к нему, можно получить доступ к чему угодно, не только к веб-морде.
Дальше зависит только от степени параноидальности - нестандартный порт, запрет логина по паролю, бан подборщиков паролей по IP, portknocking и т.д.
AlekseyM
05-10-2013, 19:17
Я не параноик, хотя бы SSH с хорошим паролем. Подключившись к нему, можно получить доступ к чему угодно, не только к веб-морде.
Дальше зависит только от степени параноидальности - нестандартный порт, запрет логина по паролю, бан подборщиков паролей по IP, portknocking и т.д.
будем пробовать, весь смысл в том, что бы увидеть из внешней сети подключилось ли устройство к вай фаю.
theMIROn
05-10-2013, 19:25
Выставлять ЭТО (httpd) в WAN - дыра. Многие так делают, а потом появляются статьи про уязвимости роутеров и ботнеты :)
Тем более кто знает, может сделать как было одной строчкой.
https тоже нужен, не говоря уже о том, что httpd даже POST-запросы не поддерживает, а от длинных GET падает.
выставлять в публичный интернет на постоянно - да, небезопасно, а вот иметь такую возможность - полезно.
дело твое, конечно, лишь бы твой мод в плане таких спорных изменений не ассоциировали с оригиналом.
а вот иметь такую возможность - полезно.
Virtual server на IP роутера:80 (так было в оригинале, по-хорошему это вроде через REDIRECT делается).
ryzhov_al
06-10-2013, 03:42
Virtual server на IP роутера:80 (так было в оригинале, по-хорошему это вроде через REDIRECT делается).По мне и так и эдак правильно. Но дырой ту возможность в WebUI я бы никак не назвал.
По мне и так и эдак правильно. Но дырой ту возможность в WebUI я бы никак не назвал.
Так никто возможность не убирает - есть Virtual Server, есть SSH. Нужно только отгородить от неопытных юзеров, которые выставят в WAN, да как бы не с admin:admin.
Вон в стоковых прошивках хорошо если хотя бы telnet из локальной сети есть, да зачастую с ограниченным списком команд. Пытался недавно на работе разобраться почему точка доступа виснет (ну как виснет, 100% загрузка CPU и все клиенты отваливаются), захожу по SSH - из доступных команд грубо говоря get имя_настройки, set имя_настройки, ping и reboot - даже список процессов не посмотреть. Вот это действительно ограничение.
theMIROn
06-10-2013, 14:10
Так никто возможность не убирает - есть Virtual Server, есть SSH. Нужно только отгородить от неопытных юзеров, которые выставят в WAN, да как бы не с admin:admin.
Вон в стоковых прошивках хорошо если хотя бы telnet из локальной сети есть, да зачастую с ограниченным списком команд. Пытался недавно на работе разобраться почему точка доступа виснет (ну как виснет, 100% загрузка CPU и все клиенты отваливаются), захожу по SSH - из доступных команд грубо говоря get имя_настройки, set имя_настройки, ping и reboot - даже список процессов не посмотреть. Вот это действительно ограничение.
этим, далеко не в последнюю очередь, и отличаются стоковые от альтернативных.
в ТАКИХ ограничениях смысла нет, если не забывать, что пользователь УЖЕ сменил прошивку на альтернативную, а не оставил стоковую.
Regulirovschik
07-10-2013, 11:42
В регионе ХМАО у МТС нет услуги статического IP адреса, к сожалению. Может стоит посылать GET и POST запросы на lighttpd сервер, запущенный на роутере с выходом в интернет через 3G модем, если на нем будет запускаться zebedee как клиент через 10 секунд после запуска post-firewall и через 5 секунд автоматически будет соединяться с zebedee сервером, запущенным на роутере с наземным интернет-соединением... Или, если не изобретать велосипед, есть ли готовое решение? Типа этого: http://habrahabr.ru/post/147347. Если использовать порт не 2021, а 443 для доступа к роутеру за NAT-ом, то адрес сайта можно будет не коверкать двоеточием в конце, а лишь добавить букву s после http: https://...
Вам в любом случае нужно поднимать туннель к другому, доступному извне компьютеру (или роутеру). Какой это будет туннель - VPN, SSH или другой - не важно.
AlekseyM
08-10-2013, 04:55
Вам в любом случае нужно поднимать туннель к другому, доступному извне компьютеру (или роутеру). Какой это будет туннель - VPN, SSH или другой - не важно.
сейчас я попадаю в свою сеть по фтп (к внутреннему НАС),
теперь нужно попасть на сам роутер, просто добавить порт для проброса?