PDA

Bekijk de volledige versie : Безопасность SSH (dropbear)



Pages : [1] 2

SergeyVl
16-01-2007, 21:34
Имеется WL-500gP, прошивка 1.9.2.7-7f post5, реальный ИП, и необходимость доступа к роутеру по SSH с интернета (с различных ИП адресов).
На роутере запущен dropbear (ранее запущен был идущий в прошивке, сейчас поставил пакет dropbear 0.48.1-1).
Заметил в логах огромное количество попыток подключения по ssh:


Jan 16 15:44:00 dropbear[2160]: Child connection from ::ffff:66.240.221.***:38230
Jan 16 15:44:02 dropbear[2160]: login attempt for nonexistent user from ::ffff:66.240.221.***:38230
Jan 16 15:44:03 dropbear[2160]: exit before auth: Disconnect received

с одного и того же ИП, интервал - 2...4 секунды, и уже более 10 часов подряд, иногда натыкается на пользователя 'admin':


Jan 16 11:07:22 dropbear[29822]: Child connection from ::ffff:66.240.221.***:59692
Jan 16 11:07:24 dropbear[29822]: bad password attempt for 'admin' from ::ffff:66.240.221.***:59692
Jan 16 11:07:24 dropbear[29822]: exit before auth (user 'admin', 1 fails): Disconnect received

Насколько "сильна" защита dropbear от "взлома"?
Какова минимально-рекомендуемая длина пароля для обеспечения достаточной безопасности?
Возможно ли бороться с этим (задать тайм-аут на подключение или как то еще), а за одно избавиться от "паразитного трафика"?

ПС. Возможно, меня бы это не так сильно смущало, если бы не результаты сканирования (с WAN) с помощью XSpider 7.5 (Demo):

imdex
16-01-2007, 21:42
Порт dropbear смените на какой-нибудь из выше 1024. Я тоже сперва выставил в инет db на 22 порту, пароль подбирали каждый день. Не подобрали, но потом мне надоело и я перевел db на 22000, за месяц ни одной попытки не зафиксировано.

FilimoniC
17-01-2007, 04:34
Порт dropbear смените на какой-нибудь из выше 1024. Я тоже сперва выставил в инет db на 22 порту, пароль подбирали каждый день. Не подобрали, но потом мне надоело и я перевел db на 22000, за месяц ни одной попытки не зафиксировано.

аналогично. 1022 порт

alexnik
17-01-2007, 07:54
А я просто ограничил количество попыток


iptables -t nat -I PREROUTING -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

Duke
17-01-2007, 09:33
Произвольный порт рано или позно могут найти простым сканированием открытых портов. я хитрее настроил - несколько раз в час проверяется лог на предмет попыток подключения с неверным паролем - провинившимся адресам прикрывается 22й порт, адреса сохраняются на флешки и после перезагрузки также блокируются в пост-файрволе. Периодически вручную сортирую этот список и при двойном мопадании закрываю нафиг доступ по всем портам на всю подсеть. Процентов 80-90 лезут китайцы (дырявые маскивыданных китайцами подсетей - это отдельная песния)

ЗЫж Хотя еще более секурно-открыть доступ исключительно на подсети из которых сам заходиш, но не всегда знаешь откуда придется лезть..

imdex
17-01-2007, 10:29
Произвольный порт рано или позно могут найти простым сканированием открытых портов. я хитрее настроил - несколько раз в час проверяется лог на предмет попыток подключения с неверным паролем - провинившимся адресам прикрывается 22й порт, адреса сохраняются на флешки и после перезагрузки также блокируются в пост-файрволе. Периодически вручную сортирую этот список и при двойном мопадании закрываю нафиг доступ по всем портам на всю подсеть. Процентов 80-90 лезут китайцы (дырявые маскивыданных китайцами подсетей - это отдельная песния)

ЗЫж Хотя еще более секурно-открыть доступ исключительно на подсети из которых сам заходиш, но не всегда знаешь откуда придется лезть..

Да никому это не надо, сканировать все порты. Робот запущен или скрипт-кид, перебирает стандартные типа 22, 23, 3389, 80, 8080 и т.д. Находит, пытается поломать, не находит, уходит. Вряд ли у кого-то хранятся данные, за которые могут заплатить деньги, чтобы достали. А если хранятся, то вообще не стоит в инет открывать хоть что-то.

seeker
17-01-2007, 12:17
А я просто ограничил количество попыток


iptables -t nat -I PREROUTING -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

а как это ограничивает количество попыток?:)

alexnik
17-01-2007, 12:43
а как это ограничивает количество попыток?

Да просто. допускается не более 2 попыток входа в течении 10 минут.
Но самое красивое (правда параноидальное) решение, которое я видел, это когда для доступа по ssh надо предварительно стукнуться на какой-нибуть нестандартный порт, типа того-же 22000, и потом получать доступ по 22.

Mam(O)n
17-01-2007, 12:58
alexnik, у меня вот так вот получается:

[root@router /tmp]$ iptables -t nat -I PREROUTING -i ppp0 -p tcp -m state --state NEW --dport 22 -m recent --set --name SSH_ATTACKER --rsource
iptables: No chain/target/match by that name

Ты какиенибудь модули дополнительные к ядру прикручивал?

seeker
17-01-2007, 13:24
А я просто ограничил количество попыток


iptables -t nat -I PREROUTING -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP


добавил это в конце post-firewall, сменив 22 на номер своего порта для ssh, не помогает. пытайся коннетиться хоть сто раз подряд.

alexnik
17-01-2007, 14:01
alexnik, у меня вот так вот получается:

[root@router /tmp]$ iptables -t nat -I PREROUTING -i ppp0 -p tcp -m state --state NEW --dport 22 -m recent --set --name SSH_ATTACKER --rsource
iptables: No chain/target/match by that name

Ты какиенибудь модули дополнительные к ядру прикручивал?

Все в прошивке есть, просто ipt_recent не запушен.
insmod ipt_recent тебе поможет.
Для использования правила в post-firewall-е добавить эту строчку в post-boot.
и заменить $WAN на $1

Mam(O)n
17-01-2007, 14:27
alexnik, спасибо за наводку. Сам недогадался. Все правила прописались:)

seeker
17-01-2007, 14:34
Все в прошивке есть, просто ipt_recent не запушен.
insmod ipt_recent тебе поможет.
Для использования правила в post-firewall-е добавить эту строчку в post-boot.
и заменить $WAN на $1

я правильно понимаю, что надо
а) добавить в post-boot строчку в конце

insmod ipt_recent

б) добавить в post-firewall две строчки в конце

iptables -t nat -I PREROUTING -i $1 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i $1 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP
где 1555 - порт ssh

Чё та не работает нифига...

alexnik
17-01-2007, 15:26
seeker
именно так.
Возможно не тот интерфейс подставляется в post-firewall-е.

iptables -L -v | grep SSH_ATTACKER
что говорит?

alexnik
17-01-2007, 15:32
25 1428 DROP tcp -- vlan1 any anywhere anywhere state NEW tcp dpt:22 recent: UPDATE seconds: 600 hit_count: 3 name: SSH_ATTACKER side: source

Интересует наличие такой строчки, подчеркнутый интерфейс и тип соединения

seeker
18-01-2007, 14:13
25 1428 DROP tcp -- vlan1 any anywhere anywhere state NEW tcp dpt:22 recent: UPDATE seconds: 600 hit_count: 3 name: SSH_ATTACKER side: source

Интересует наличие такой строчки, подчеркнутый интерфейс и тип соединения
соединение vpn - ppp0. вот что говорит

0 0 DROP tcp -- ppp0 any anywhere anywhere
state NEW tcp dpt:https recent: UPDATE seconds: 600 hit_count: 3 name: SS
H_ATTACKER side: source

нужно что бы защита работала со стороны wan независимо от того, атакуют ли из нета через впн или из локалки со внешней стороны.

alexnik
18-01-2007, 16:10
проще всего сделать так

iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

seeker
18-01-2007, 16:16
проще всего сделать так

iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP
а что означает $3?

midya
18-01-2007, 18:23
а что означает $3?

Это сколько Вы задолжали форуму за советы=)))

seeker
18-01-2007, 18:40
проще всего сделать так

iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP
в результате этих строк ssh теперь всегда посылает меня:) даже с лана:)

alexnik
19-01-2007, 09:17
а что означает $3?
$3 это lan интерфейс, должно подставиться br0.


в результате этих строк ssh теперь всегда посылает меня даже с лана

на 22 порт?

seeker
19-01-2007, 21:07
проще всего сделать так

iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

вобщем добавление данных строчек не помогло - коннектится пытаться можно сколько угодно с вана.
вот что говорит
iptables -L -v | grep SSH_ATTACKER

0 0 DROP tcp -- !br0 any anywhere anywhere
state NEW tcp dpt:https recent: UPDATE seconds: 600 hit_count: 3 name: SS
H_ATTACKER side: source
0 0 tcp -- !br0 any anywhere anywhere
state NEW tcp dpt:https recent: SET name: SSH_ATTACKER side: source

black_128
19-01-2007, 21:44
Сделайте проще:
---

#!/bin/sh
## WEB,SSH and FTP access from WAN
## Set default policy
iptables -P INPUT DROP
## Removes last default rule
iptables -D INPUT -j DROP
## Open FTP,SSH,WWW ports
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j brute_force
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## Block SSH brute force attacks
iptables -N brute_force
iptables -F brute_force
iptables -A brute_force -m state --state NEW -m recent --name attack --set
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack'
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -j DROP
iptables -A brute_force -j ACCEPT
## Drop other IPs
iptables -A INPUT -j DROP
#Test for post-firewall.log
echo "post-firewall running...">/var/log/post-firewall.log

alexnik
20-01-2007, 14:50
вобщем добавление данных строчек не помогло - коннектится пытаться можно сколько угодно с вана.
вот что говорит
iptables -L -v | grep SSH_ATTACKER

0 0 DROP tcp -- !br0 any anywhere anywhere
state NEW tcp dpt:https recent: UPDATE seconds: 600 hit_count: 3 name: SS
H_ATTACKER side: source
0 0 tcp -- !br0 any anywhere anywhere
state NEW tcp dpt:https recent: SET name: SSH_ATTACKER side: source
А перенаправлаешь 1555 через прероутинг? если да тогда порт должен быть порт для правил должен быть 22.

alexnik
20-01-2007, 14:56
Сделайте проще:
---

#!/bin/sh
## WEB,SSH and FTP access from WAN
## Set default policy
iptables -P INPUT DROP
## Removes last default rule
iptables -D INPUT -j DROP
## Open FTP,SSH,WWW ports
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j brute_force
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## Block SSH brute force attacks
iptables -N brute_force
iptables -F brute_force
iptables -A brute_force -m state --state NEW -m recent --name attack --set
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack'
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -j DROP
iptables -A brute_force -j ACCEPT
## Drop other IPs
iptables -A INPUT -j DROP
#Test for post-firewall.log
echo "post-firewall running...">/var/log/post-firewall.log
это тоже самое, что обсуждается. только в цепочке сразу задается все. И наружу открывается 22 порт.
Кстати, если кто-то хочет логировать отвергнутые попытки, рекомендую не использовать logdrop, а взять правило с ограничением лога, как в коде. Лог не так разбухать будет.

seeker
20-01-2007, 18:34
А перенаправлаешь 1555 через прероутинг? если да тогда порт должен быть порт для правил должен быть 22.

вот post-firewall

iptables -D INPUT -j DROP
iptables -A INPUT -p tcp -m tcp -d 192.168.1.1 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 1555 -j DNAT --to-destination 192.168.1.1:22
iptables -A INPUT -j DROP
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! $3 -p tcp -m state --state NEW --dport 1555 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

пробовал менять последние две строчки - вместо 1555 поставил 22 и перезапустил роутер - по крайней мере с лана пускает скока угодно также, исо стороны вана пока проверить не могу:).

GearST
21-01-2007, 03:04
я вот все слежу за темой когда же народ найдет оптимальное решение =)
но всеже захотел разобраться что есть это? :

## Open FTP,SSH,WWW ports
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j brute_force
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## Block SSH brute force attacks
iptables -N brute_force
iptables -F brute_force
iptables -A brute_force -m state --state NEW -m recent --name attack --set
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack'
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -j DROP
iptables -A brute_force -j ACCEPT
## Drop other IPs
iptables -A INPUT -j DROP
конкретно как работает ## Block SSH brute force attacks что там собственно задается то, а то конешно можно тупо вписать и не париться но хотелось бы знать как оно работает =)

black_128
21-01-2007, 14:21
Чтобы расшифровать что и как работает, посмотрите описание комманды iptables в интернете.

Что касается строчек ##Block brute force, то данные инструкции блокируют входящие обращения, с частотой больше 4-х в течении одной минуты. Блокируется отправитель также на одну минуту.

Это позволит отсеить массу роботов.

alexnik
22-01-2007, 15:54
пробовал менять последние две строчки - вместо 1555 поставил 22 и перезапустил роутер - по крайней мере с лана пускает скока угодно также, исо стороны вана пока проверить не могу:).

ну со стороны лана тоже можно проверить убрав -i ! $3.

GearST
В общем есть match recent который позволяет маркировать пакеты.

--rcheck --seconds x --hitcount y

проверяет за интервал времени x наличие y пакетов и в случае успеха выполняет действие. соответсвено за промежуток времени пропускается y-1 маркированый пакет пакет.

black_128
22-01-2007, 20:07
Доброго времени суток!
Ребята, с недавнего времени возниклы некие вопросы по непонятному поведению роутера. Роутер работает прекрасно с сетью netbynet.ru, работает SAMBA, dropbear, ftp и WWW. Домашняя сеть состоит из 2х компьютеров - ноутбука во WiFi и системника по Ethernet кабелю.

После установки SSH (dropbear) и открытию порта 22 наружу (телнет отключён раз 22й открыт), начали ломиться и брутфорсить 22й порт - ну да ладно, я сделал post-firewall:



#!/bin/sh
## WEB,SSH and FTP access from WAN
## Set default policy
iptables -P INPUT DROP
## Removes last default rule
iptables -D INPUT -j DROP
## Open FTP,SSH,WWW ports
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j brute_force
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## Block SSH brute force attacks
iptables -N brute_force
iptables -F brute_force
iptables -A brute_force -m state --state NEW -m recent --name attack --set
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack'
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -j DROP
iptables -A brute_force -j ACCEPT
## Drop other IPs
iptables -A INPUT -j DROP
#Test for post-firewall.log
echo "post-firewall running...">/var/log/post-firewall.log


Ломиться на 22й порт перестали. НО! я заметил, что заходя по SSH, директории появились масса файлов с настройками, которые я никогда не прописывал ручками.
Вот скриншот файлов:

http://www.notebook-sales.ru/la1.JPG

Причем внутри скажем файла filter_rules можно увидеть следующее:



*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A SECURITY -p tcp --syn -m limit --limit 1/s -j RETURN
-A SECURITY -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j RETURN
-A SECURITY -p udp -m limit --limit 5/s -j RETURN
-A SECURITY -p icmp -m limit --limit 5/s -j RETURN
-A SECURITY -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -m state --state NEW -j ACCEPT
-A INPUT -i br0 -m state --state NEW -j ACCEPT
-A INPUT -i ppp0 -m state --state NEW -j SECURITY
-A INPUT -p tcp -m tcp -d 192.168.1.1 --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7776 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7777 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -j DROP
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp --syn -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -o ppp0 ! -i br0 -j DROP
-A FORWARD -o vlan1 ! -i br0 -j DROP
-A FORWARD ! -i br0 -m state --state NEW -j SECURITY
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD -o br0 -j DROP
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
COMMIT



Причем никаких портов 7777 и 7776 я не задавал. И WEB камеры у меня нет.

В логе стали появляться сообщения (обратите внимание на количество посланный и принятых байт).



Jan 22 11:53:38 pppd[112]: Child process /usr/sbin/pptp 10.7.255.249 --nolaunchpppd (pid 443) terminated with signal 15
Jan 22 11:53:38 pppd[112]: Modem hangup
Jan 22 11:53:38 pppd[112]: Connection terminated.
Jan 22 11:53:38 pppd[112]: Connect time 59.0 minutes.
Jan 22 11:53:38 pppd[112]: Sent 19494331 bytes, received 215195095 bytes.
Jan 22 11:53:38 pppd[112]: Connect time 59.0 minutes.
Jan 22 11:53:38 pppd[112]: Sent 19494331 bytes, received 215195095 bytes.
Jan 22 11:53:38 pppd[112]: Exit.

Jan 22 04:54:39 pppd[112]: Starting link
Jan 22 04:54:39 pppd[112]: Serial connection established.
Jan 22 04:54:39 pppd[112]: Connect: ppp0 <--> /dev/pts/0
Jan 22 04:54:39 pptp[390]: anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
Jan 22 04:54:39 pptp[393]: anon warn[route_add:pptp_callmgr.c:457]: route_add: not adding existing route
Jan 22 04:54:39 pptp[393]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Jan 22 04:54:39 pptp[393]: anon log[ctrlp_disp:pptp_ctrl.c:732]: Received Start Control Connection Reply
Jan 22 04:54:39 pptp[393]: anon log[ctrlp_disp:pptp_ctrl.c:766]: Client connection established.
Jan 22 04:54:40 pptp[393]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Jan 22 04:54:40 pptp[393]: anon log[ctrlp_disp:pptp_ctrl.c:851]: Received Outgoing Call Reply.
Jan 22 04:54:40 pptp[393]: anon log[ctrlp_disp:pptp_ctrl.c:890]: Outgoing call established (call ID 0, peer's call ID 32768).
Jan 22 04:54:40 pppd[112]: MPPE 128-bit stateless compression enabled
Jan 22 04:54:43 pppd[112]: Remote IP address changed to 192.168.254.10
Jan 22 04:54:43 PPTP: connect to ISP


Причем в это время (я знаю точно), компьютеры в локалке были выключены. Скажите, можно ли со всем этим разобраться, и что делать???

Прошу Вас протестировать мою систему на предмет уязвимостей, и помочь закрыть от атак мой роутер.


СПИСИБО!

Oleg
23-01-2007, 10:26
В директории /tmp появляются файлы, генерируемые динамически. Те, файлы, которые Вы отметили - самые обычные.

nas - это конфиг для WPA/WPA-PSK

resolv.conf - ДНС
filter_rules - Встроенный Firewall.

Порт 7776 и 7777 - связаны с вебкамерой. У Вас её нет, но сервис очевидно разрешён.

Что касается траффика - тут я ничего сказать не могу. Попробуйте установить darkstat, пусть он посчитает его.

У Вас для WiFi WEP запрещён, надеюсь?

black_128
23-01-2007, 10:37
Спасибо за Ваш ответ!

Да, WEP выключен, включён WPA-PSK (c WiFi проблем нет).

http://www.notebook-sales.ru/wifi.jpg

Но появился другой трабл. Ничего не изменяя в настройках, и имея ранее доступ по SSH из WAN по 22му порту, щас 22й порт вообще не отвечает, судя по telnet мой_ip 22 (ранее выводился шелл SSH), причем с домашних машин SSH к роутеру работает.

dropbear запущен.




Jan 1 03:00:07 pppd[109]: Starting link
Jan 1 03:00:07 pppd[109]: Serial connection established.
Jan 1 03:00:07 pppd[109]: Connect: ppp0 <--> /dev/pts/0
Jan 1 03:00:08 pptp[121]: anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
Jan 1 03:00:08 kernel: ipt_recent v0.2.3: Stephen Frost <sfrost@snowman.net>. http://snowman.net/projects/ipt_recent/
Jan 1 03:00:08 dropbear[126]: Running in background

Oleg
23-01-2007, 11:28
Спасибо за Ваш ответ!

Да, WEP выключен, включён WPA-PSK (c WiFi проблем нет).

Тогда всё должно быть хорошо.



Но появился другой трабл. Ничего не изменяя в настройках, и имея ранее доступ по SSH из WAN по 22му порту, щас 22й порт вообще не отвечает, судя по telnet мой_ip 22 (ранее выводился шелл SSH), причем с домашних машин SSH к роутеру работает.

dropbear запущен.

Ну так может recent что-то там "химичит"? Попробуйте его отключить.

FilimoniC
23-01-2007, 21:01
а не проще ssh перевесить на нестандартный порт?

BTW вопрос: можно ли сделать так, чтобы SSH не отдавал сертификат? т.е. чтобы кннектится можно было только с машины, на которой стоит защищенный паролем сертификат (взятый у кого-то или где-то, т.е. не полученный от ССШ)?

BTW вопрос2: как сделать чтобы нельзя было делать SSH-Туннели через putty ? (по дефалту можно - в путти в графе tunnles. проверял - пашет.)

gaaronk
24-01-2007, 06:04
почитать доку

ключи запуска

-j
Disable local port forwarding.
-k
Disable remote port forwarding.

alexnik
24-01-2007, 15:13
на стриме работает

iptables -t nat -I PREROUTING -i ! $3 -p tcp -m state --state NEW --dport 22 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT 7 -i ! $3 -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 600 --hitcount 4 --name SSH_ATTACKER --rsource -j DROP
ну и код для параноиков

iptables -I INPUT 7 -m state --state NEW -m tcp -p tcp --dport 22 -m recent --rcheck --name SSH -j ACCEPT
iptables -I INPUT 8 -m state --state NEW -m tcp -p tcp --dport 1499 -m recent --name SSH --remove -j DROP
iptables -I INPUT 9 -m state --state NEW -m tcp -p tcp --dport 1500 -m recent --name SSH --set -j DROP
iptables -I INPUT 10 -m state --state NEW -m tcp -p tcp --dport 1501 -m recent --name SSH --remove -j DROP
iptables -I INPUT 11 -p tcp --dport 22 -j DROP
для доступа по ssh надо постучать на порт 1500.
для закрытия доступа на 1499 или 1501
стучать примерно так

telnet myhost 1500

Mam(O)n
06-02-2007, 04:44
insmod ipt_recent тебе поможет.
Для использования правила в post-firewall-е добавить эту строчку в post-boot

Заметил, что у меня после добавления этой строки в конец post-boot не успевал подгружаться данный модуль, прежде, чем запустится post-firewall, по причине того, что до этого выполнялось еще много строк bost-boot'а и в следствие чего правила, ограничивающие доступ к ssh не прописывались. Будьте внимательны! Лучше "insmod ipt_recent" добавить в pre-boot.

shooter
08-02-2007, 22:26
Для усиления паранои можно поднять stunnel и требовать проверки сертификата на порту, открываемом после схемы с стуком по доп. портам. А из stunnel по 127.0.0.1 на 22 порт.

А серт с ключами носить с собой на КПК/флшке.
В случае флешки регулярно вносить его в CRL после использования в темном месте и генерировать новый. =)

imdex
08-02-2007, 22:42
Для усиления паранои можно поднять stunnel и требовать проверки сертификата на порту, открываемом после схемы с стуком по доп. портам. А из stunnel по 127.0.0.1 на 22 порт.

А серт с ключами носить с собой на КПК/флшке.
В случае флешки регулярно вносить его в CRL после использования в темном месте и генерировать новый. =)

Если вы не параноик, это вовсе не значит, что за вами не следят. :)

Vitaly_k
29-04-2007, 13:05
В Дримбоксе удобно сделано - заходишь по ftp и видишь все файловую систему дивайса. Можно ли в Асусе видеть не внешний USB-диск, а корень файловой системы?

KRandall
29-04-2007, 14:18
По FTP - поставить на АСУС например vsftpd и настроить соответствующим образом. И через samba по виндовой сети можно

Vitaly_k
01-05-2007, 07:28
По FTP - поставить на АСУС например vsftpd и настроить соответствующим образом.


А с тем ftp-сервером который изначально в прошивке Олега никак?



И через samba по виндовой сети можно

Как?

Semkaa
12-05-2007, 19:25
Всем привет!
Занялся настройкой dropbear. В принципе всё простно, но столкнулся с проблемой, которую не смог решить.

Задача.
Сделать доступным ssh из интернета, а так же из пиринговых сетей по нестандартному порту + сделать ограничение на количество попыток коннекта.

Конфигурация.
Интернет по VPN.
Реальный IP адрес.
post-boot файл с маршрутами, выданными провайдером, чтобы работала сеть и интернет одновременно.

Текущее состояние подготовки.
1. Диски маунтить умею
2. Пакеты устанавливать умею
3. Основные команды знаю :)
4. с IPTables столкнулся впервые 2 дня назад, все вопросы в принципе касаются их.

Для решения данной задачи нашёл на форуме кучу интерпретаций скрипта, описанного по данному адресу:
http://www.sprayfly.com/wiki/SSH_Guide

Приведу его


iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 22 -j DNAT --to-destination $4:22
iptables -A INPUT -j DROP


Сам данный скрипт работает, то есть пускает по 22 порту из интернета, НО не работает из пиринговых сетей.
Так же я так и не смог сделать так, чтобы коннект происходил по нестандартному порту, и потом перенаправлялся на 22.

Отсюда 2 вопроса.
1. Как сделать доступ для пиринговых сетей. Это будет так же актуально, когда я буду понимать ftp сервер.
Насколько я понимаю за это отвечает -i $1, данная строчка обозначает интерфейс.
http://wl500g.info/showthread.php?t=9001&highlight=%F7%F2%EE+%F2%E0%EA%EE%E5 - вот тут прочитал что такое eth, vlan и т.д. На форуме в рахных интерпретациях данного скрипта использовали и ppp0 и vlan1 и $1 и т.д.

1. Скажите пожалуйста что необходимо использовать мне, чтобы доступ был и из интернета, а так же из пиринговых сетей.


2. Что такое $1 и $4? Нашёл что вместо $3 будет подставляться br0, но к сожалению не до конца понимаю смысл br0.

2. Каким образом перенаправлять пакеты? То есть открыть наружу нестандартный порт, и с него сделать перенаправление на 22.
Сделав следующие изменения, у меня был открыт 22 и 447 порты (проверял вот тут http://www.pcflank.com/scanner1.htm), и ssh работал из интернета по 22 и 447 портам (как такое может быть???), а необходимо было, чтобы извне доступ был только по 447.


iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 447 -j DNAT --to-destination $4:22
iptables -A INPUT -j DROP

Если честно не совсем понимаю логику.
Строчкой номер 2 мы открываем 22 порт по tcp протоколу. А строчкой номер 3 перенаправляем с 447 на 22. И это работает. Объясните пожалуйста. Так же непонятно следующее.
Если в строке номер 2 22 порт заменить на 447, то тогда вообще ничего не работает, то есть даже 447 порт не доступен снаружи.
И плюс непонятно, вот в том примере, который по ссылке http://www.sprayfly.com/wiki/SSH_Guide. Зачем сначала открывать 22 порт, а потом с него на него же перенаправлять пакеты?

Вот пока что и все вопросы. Буду очень благодарен за помощь.
Понятно, что уровень подготовки у меня маленький, но на форуме 2 дня поиском не прошли даром, всё таки что-то стал понимать, так же потихоньку читаю документацию по iptables, разбираюсь с синтаксисом и логикой.

Oleg
12-05-2007, 21:20
А нафига правило

iptables -t nat -A PREROUTING -i $1 -p tcp --dport 22 -j DNAT --to-destination $4

?

Semkaa
12-05-2007, 21:36
А нафига правило
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 22 -j DNAT --to-destination $4
?

Олег, честно скажу сначала я даже не знал что оно обозначает.
Теперь понимаю, что если открывать только 22 порт то достаточно


iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -j DROP


Вы не могли бы мне помочь с остальными вопросами?
Спасибо.

Semkaa
13-05-2007, 18:13
Неужели никто не подскажет, как хотя бы повесить dropbear на нестандартный порт? :(
В принципе есть вариант просто открыть порт в post-firewall и сделать dropbear -p [порт], но насколько я понял, 22 всё равно будет открыт...

Если честно реально измучился, столько вариантов перепробовал, но всё впустую.

Так же никак не могу разобраться почему из пиринга недоступен ssh.
Есть подозрение, что для этого надо открывать порт именно для отдельного интерфейса, то есть правильно ли я понимаю, что чтобы был доступ из интернета это ppp0, а из пиринга и моей локалки vlan?

KRandall
13-05-2007, 18:33
Неужели никто не подскажет, как хотя бы повесить dropbear на нестандартный порт? :(
В принципе есть вариант просто открыть порт в post-firewall и сделать dropbear -p [порт]
У меня он висит на 443 порту:
/opt/etc/init.d/S22dropbear (должен быть исполняемым)

#!/bin/sh
killall dropbear
dropbear -p 443 -d /usr/local/etc/dropbear/dropbear_dss_host_key -r /usr/local/etc/dropbear/dropbear_rsa_host_key
/usr/local/sbin/post-firewall
...
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -j DROP
...Ну и в /usr/local/sbin/post-boot должен быть запуск из init.d

...
#Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung
...

imdex
13-05-2007, 19:23
Неужели никто не подскажет, как хотя бы повесить dropbear на нестандартный порт? :(
В принципе есть вариант просто открыть порт в post-firewall и сделать dropbear -p [порт], но насколько я понял, 22 всё равно будет открыт...

Не будет.

post-boot]
dropbear -p 22000

post-firewall
iptables -I INPUT -p tcp -d внешний_ip --dport 22000 -j ACCEPT

Semkaa
13-05-2007, 22:26
Сделал! Работает!
Огромное спасибо за помощь!

В данной теме
http://wl500g.info/showthread.php?t=8015&highlight=dropbear+WAN
описаны варианты защиты доступа по ssh.
Очень бы бы хотелось ограничить количество попыток логина, но не один из предложенных вариантов в данной теме у меня не работает :( из WAN подключайся сколько влезет.
Подскажите пожалуйста как правильно ограничить кол-во попыток.
Спасибо!

Mam(O)n
14-05-2007, 22:31
2 Semkaa

Под итожу то, что было написано в той ветке (http://wl500g.info/showthread.php?t=8015&highlight=dropbear+WAN) про ограничение кол-ва соединений за период времени.

В pre-boot надо добавить


insmod ipt_recent


В post-firewall надо добавить


iptables -t nat -I PREROUTING -i ! br0 -p tcp -m state --state NEW --dport 22 -m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i ! br0 -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP

Там подставь свой номер порта (-dport 22). Ну и после соответственно не забудь сделать flashfs save && flashfs commit && flashfs enable && reboot

После этих махинаций система будет банить те IP (кроме LAN), с которых было больше 2-ух попыток коннекта (--hitcount 3) к указанному порту за последние 10 минут.

bigest
24-11-2007, 22:54
А где хранится список забаненных IP?

Mam(O)n
25-11-2007, 01:53
Проекцию рабочей таблицы можно найти в /proc/net/ipt_recent/SSH_ATTACKER. Также рекомендую обратится к этой (http://wl500g.info/showthread.php?t=11436&page=3) ветке, со страницы эдак с третьей.

Vitaly_k
09-12-2007, 16:15
Нашлось альтернативное решение - плагин для FAR WinSCP.
Качать тут - http://plugring.farmanager.com/downld/files/winscpfar151setup.exe
На роутере должен быть запущен SSH (dropbear), тип соединения с роутером ставим SCP.

Очень удобно - видим всю файловую систему в виде дерева, можно править файлы прямо в роутере.

Reyter
09-12-2007, 17:00
Нашлось альтернативное решение - плагин для FAR WinSCP.
Вай, спасибо! Наконец-то я смогу редактировать и копировать файлы в своем любимом FAR-е, не заморачиваясь с самбой и дебильным иксплорером и не шибко удобным ftp.
Полагаю эту штуку обязательно в FAQ нужно поместить, поскольку для начальной настройки достаточно будет всего лишь запустить SSH и не мучиться в дальнейшем с редактированием конфигов.

KRandall
10-12-2007, 05:58
Сообщение от Vitaly_k
Нашлось альтернативное решение - плагин для FAR WinSCP.Да, действительно очень удобно :cool: Приверженцы FAR-а оценят. Отлично работает как дома, так и снаружи :)

2vv
10-12-2007, 12:43
Подскажите ,как запустить этот SSH (dropbear) , и как его настроить. И как правильно пользоваться telnet под win , что бы зайти на роутер?
Пример: telnet 192.168.1.1 , пишет сбой подключения , коннектится ан 23-й порт.
Спасибо.

Oleg
10-12-2007, 13:34
Подскажите ,как запустить этот SSH (dropbear) , и как его настроить. И как правильно пользоваться telnet под win , что бы зайти на роутер?
Пример: telnet 192.168.1.1 , пишет сбой подключения , коннектится ан 23-й порт.
Спасибо.
Читайте "настройку с нуля". Там всё это есть.

Reyter
10-12-2007, 13:34
Подскажите ,как запустить этот SSH (dropbear) , и как его настроить. И как правильно пользоваться telnet под win , что бы зайти на роутер?
Пример: telnet 192.168.1.1 , пишет сбой подключения , коннектится ан 23-й порт.
Спасибо.
Смотри тут (http://wl500g.info/showpost.php?p=19984&postcount=2), п.4
Чтобы иметь возможность подключаться по телнету, необходимо установить прошивку от Олега и в web-интерфейсе в настройках отметить соответствующую опцию (хотя по-моему она там включена по умолчанию).

Vitaly_k
14-12-2007, 22:59
Хочется разобраться со следующими вопросами:
1. Как добиться, чтобы при соединении не выскакивали предупреждения про группы и невозможность выбора директории?
2. Как сделать доступ снаружи? Я пробовал сделать Virtual server 8022->22, на порт 8022 снаружи не пускает.

Hreks
06-01-2008, 19:20
Поддерживаю вопрос.
На роутере SSH запущен, IP реальный, но при попытке коннекта через FAR из внешнего мира...сервер не найден. Как решить проблему?

al37919
06-01-2008, 19:32
1. Как добиться, чтобы при соединении не выскакивали предупреждения про группы и невозможность выбора директории?
Это предупреждение выдается в фаре при соединении по протоколу scp. Чтобы от него избавиться нужно соединяться по протоколу sftp. ОДНАКО, исходно роутер sftp не поддерживает. Чтобы включить поддержку sftp надо сделать
ipkg install openssh
Оттуда нужен единственный файл /opt/libexec/sftp-server его можно скопировать куда-нибудь, потом удалить openssh, потом вернуть sftp-server на то же место.
Кстати, если это сообщение увидит Олег --- нельзя ли добавить sftp-server внутрь прошивки --- ибо весчь зело полезная.

2. Как сделать доступ снаружи? Я пробовал сделать Virtual server 8022->22, на порт 8022 снаружи не пускает.
для доступа к ssh серверу снаружи надо открывать порты не в виртуальном сервере, а непосредственно на роутере путем записи правил в файл /usr/local/sbin/post-firewall . Этот вопрос подробно обсасывался многократно. От себя могу порекомендовать тему: http://www.wl500g.info/showthread.php?t=11436 В ней кроме прочего обсуждается работающий метод обеспечения некоторой дополнительной безопасности на открытом наружу порту.

angel_il
06-01-2008, 20:02
а кто этот самый /opt/libexec/sftp-server запустит то?

al37919
06-01-2008, 20:22
/usr/sbin/dropbear его прекрасно запускает без доп. настроек. Аккурат сегодня у меня дошли руки (делаю постепенный апгрейд с одного hdd на другой) --- в общем я openssh ставить не стал и просто скопировал /opt/libexec/sftp-server на новый винт и sftp заработал.

angel_il
06-01-2008, 20:46
действительно, прекрастно запускает... :)

Hreks
07-01-2008, 08:19
Сделал так:

mkdir -p /usr/local/sbin
cd /usr/local/sbin
echo '#!/bin/sh
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
' >> post-firewall
chmod +x post-firewall
flashfs save && flashfs commit && flashfs enable
reboot
Всё равно в FARе поиск сервера...
Куда копать?:confused:

al37919
07-01-2008, 08:33
в принципе сделано верно
1) я бы проверил что в результате реально оказалось в post-firewall:
cat /usr/local/sbin/post-firewall
2) провайдер не может резать порты?

Hreks
07-01-2008, 08:51
1) Проверил, всё там оказалось.
2) Дома провайдер Корбина, вроде этот порт она не трогает. Вот правда какой на работе провайдер и какие порты он закрывает не знаю. Я это только через админа узнать могу? или самому можно как то проверить?

ADM 503
01-03-2008, 13:46
Я просто в шоке. У меня также проблема "Сделать доступным ssh из интернета, а так же из пиринговых сетей по нестандартному порту + сделать ограничение на количество попыток коннекта." но все что здесь написано и не только здесь, мне не понятно : (. Я понимаю, что это моя проблема, но не могли бы Вы всё-же подытожить и создать конечный мануал как добиться желаемого без сёрфинга по темам и справочникам. Есть ведь хорошо изложенные: "Мод веб-интерфейса SCTCS для enhanced-ctorrent"; "инструкция по настройке WL-500g deluxe с нуля" и прочее. Люди отзовитесь, ведь кто-то дошел до конца и получил требуемый результат, сжальтесь наконец над чайниками. Я вот в linux не разбираюсь, зато гуру linux-а несут мне перепаивать своё железо, тока я не хочу отдать им роутер для настройки, хочу сделать это сам, используя инструкцию.

TVadim
01-03-2008, 14:36
Я просто в шоке. У меня также проблема "Сделать доступным ssh из интернета, а так же из пиринговых сетей по нестандартному порту + сделать ограничение на количество попыток коннекта." но все что здесь написано и не только здесь, мне не понятно : (. Я понимаю, что это моя проблема, но не могли бы Вы всё-же подытожить и создать конечный мануал как добиться желаемого без сёрфинга по темам и справочникам. Есть ведь хорошо изложенные: "Мод веб-интерфейса SCTCS для enhanced-ctorrent"; "инструкция по настройке WL-500g deluxe с нуля" и прочее. Люди отзовитесь, ведь кто-то дошел до конца и получил требуемый результат, сжальтесь наконец над чайниками. Я вот в linux не разбираюсь, зато гуру linux-а несут мне перепаивать своё железо, тока я не хочу отдать им роутер для настройки, хочу сделать это сам, используя инструкцию.

Может в консерватории что-нибудь поправить:D а кроме шуток читать вдумчиво каждую строчку http://wl500g.info/showthread.php?t=3171

al37919
01-03-2008, 14:41
Сделать доступным ssh из интернета ... + сделать ограничение на количество попыток коннекта
http://wl500g.info/showpost.php?p=55173&postcount=8

ADM 503
01-03-2008, 15:52
Может в консерватории что-нибудь поправить:D а кроме шуток читать вдумчиво каждую строчку http://wl500g.info/showthread.php?t=3171
Да, я с этой темы начал, потом перечитывал еще несколько других по SSH. ...читал, много думал. Последнюю свою мысль на тему настройки озвучу еще раз: Может кто напишет конечный пошаговый мануал для "чайников" дабы закрыть тему?
al37919 спасибо, это решение второй части проблеммы.

Oleg
01-03-2008, 16:05
mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
echo "dropbear" >> /usr/local/sbin/post-boot
echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
echo "iptables -I INPUT -p tcp --syn --dport 22 -j ACCEPT" >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-firewall
flashfs save && flashfs commit && flashfs enable
reboot

junkies
24-03-2008, 15:49
Чтобы включить поддержку sftp надо сделать
ipkg install openssh
Оттуда нужен единственный файл /opt/libexec/sftp-server его можно скопировать куда-нибудь, потом удалить openssh, потом вернуть sftp-server на то же место.

а можите скинуть этот sftp-server, а то поставил openssh но такого файла не нашел, копался в openssh_4.7p1-4_mipsel но там тоже ничего похожего нет. роутер w500gp прошивка 1.9.2.7-9

dmig
24-03-2008, 15:57
2) Дома провайдер Корбина, вроде этот порт она не трогает. Вот правда какой на работе провайдер и какие порты он закрывает не знаю. Я это только через админа узнать могу? или самому можно как то проверить?

у корбины на странице настроек (stats.corbina.ru) посмотри статус файерволла твоего соединения.
я его там сразу вырубил -- поскольку роутер прекрасно справляется с этой ролью

al37919
24-03-2008, 16:09
а можите скинуть этот sftp-server, а то поставил openssh но такого файла не нашел, копался в openssh_4.7p1-4_mipsel но там тоже ничего похожего нет. роутер w500gp прошивка 1.9.2.7-9
Теперь этот файл вынесен в отдельный пакет, так что просто:

ipkg install openssh-sftp-server

Cranch
24-03-2008, 16:27
Все заработало - зашел сразу :) Но пришлось сначала обновить:

ipkg update
ipkg install openssh-sftp-server

6opoga
25-03-2008, 11:46
1) Проверил, всё там оказалось.
2) Дома провайдер Корбина, вроде этот порт она не трогает. Вот правда какой на работе провайдер и какие порты он закрывает не знаю. Я это только через админа узнать могу? или самому можно как то проверить?

https://stat.corbina.net/ и там в кабинете настройка фильтров. Да, корбина по умолчанию режет входящие коннекты.

japplegame
18-05-2008, 10:23
Никак не удается подружить cron с rsnapshot (а если быть точнее то с rsync).
В наличии имеется настроенный rsnapshot. Соединение идет через ssh с публичным ключом.
При запуске из командной строки:
rsnapshot daily
Все прекрасно работает, лог:

[18/May/2008:12:21:43] /opt/bin/rsnapshot daily: started
[18/May/2008:12:21:43] echo 4953 > /var/run/rsnapshot.pid
[18/May/2008:12:21:43] /opt/bin/cp -al /home/backup/daily.0 /home/backup/daily.1
[18/May/2008:12:23:58] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh -i /home/backup/keys/pub-key user@host.ru:/home /home/backup/daily.0/host.ru/
[18/May/2008:12:29:38] touch /home/backup/daily.0/
[18/May/2008:12:29:38] rm -f /var/run/rsnapshot.pid
[18/May/2008:12:29:38] /opt/bin/rsnapshot daily: completed successfully
Если тоже самое сделать из крона, то появляются непонятные ошибки.
Мой crontab (admin переименован в root):

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
48 12 * * * root rsnapshot daily
Из системного лога видно, что крон запустил задачу. HDD шуршит пару минут, пока отрабатывает /opt/bin/cp, но как только дело доходит до rsync, последний отказывается работать.
Вот лог rsnapshot:

[18/May/2008:12:48:05] /opt/bin/rsnapshot daily: started
[18/May/2008:12:48:05] echo 4988 > /var/run/rsnapshot.pid
[18/May/2008:12:48:05] mv /home/backup/daily.1/ /home/backup/daily.2/
[18/May/2008:12:48:05] /opt/bin/cp -al /home/backup/daily.0 /home/backup/daily.1
[18/May/2008:12:50:50] /opt/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --log-file=/opt/var/log/rsync --rsh=/usr/bin/ssh -i /home/backup/keys/pub-key user@host.ru:/home /home/backup/daily.0/host.ru/
[18/May/2008:12:50:52] /opt/bin/rsnapshot daily: ERROR: /opt/bin/rsync returned 12 while processing user@host.ru:/home/
[18/May/2008:12:50:55] touch /home/backup/daily.0/
[18/May/2008:12:50:55] rm -f /var/run/rsnapshot.pid
[18/May/2008:12:50:55] /opt/bin/rsnapshot daily: ERROR: /opt/bin/rsnapshot daily: completed, but with some errors

Лог rsync:

2008/05/18 12:50:52 [4993] rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
2008/05/18 12:50:52 [4993] rsync error: error in rsync protocol data stream (code 12) at io.c(635) [receiver=3.0.2]
Проверял несколько раз. Из командной строки работает, через крон не хочет. Рыл много в сети, куча ссылок с подобными проблемами, но либо вразумительного решения нет, либо ошибки, которых в своем случае я не наблюдаю. Часто проблемы с кроном возникают из-за того что многие переменные окружения в crontab не работают, но вроде все пути указаны полностью.

P.S. название хоста и пользователя изменены на user@host.ru

japplegame
18-05-2008, 10:56
После нескольких дней непрерывных боев с rsync, стоило только запостить проблему на форум, как неожиданно удалось найти грабли. :D

Оказывается бузил не rsync, а ssh. Дело в том, что ssh перед соединением желает удостовериться можно ли вообще соединяться с указанным хостом. Я, зная об этой привычке ssh, заблаговременно поместил в файлик ~/.ssh/known_hosts (в моем случае ~ = /usr/local/root) соответствующую строку для нужного хоста. Поэтому из командной строки все прекрасно работало. А при запуске через крон, этот файл терялся, так как переменная HOME указывала совсем на другое место. Вылечилось изменением в crontab строки HOME=/ на HOME=/usr/local/root

Red Dragon
30-05-2008, 20:11
Сделайте проще:
---

#!/bin/sh
## WEB,SSH and FTP access from WAN
## Set default policy
iptables -P INPUT DROP
## Removes last default rule
iptables -D INPUT -j DROP
## Open FTP,SSH,WWW ports
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -j brute_force
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
## Block SSH brute force attacks
iptables -N brute_force
iptables -F brute_force
iptables -A brute_force -m state --state NEW -m recent --name attack --set
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack'
iptables -A brute_force -m recent --name attack --rcheck --seconds 60 --hitcount 4 -j DROP
iptables -A brute_force -j ACCEPT
## Drop other IPs
iptables -A INPUT -j DROP
#Test for post-firewall.log
echo "post-firewall running...">/var/log/post-firewall.log

а при таких правилах telnet для доступа снаружи закрыт?

И в какой лог будет писаться вывод hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack' ?

В /var/log/post-firewall.log ?

FilimoniC
16-06-2008, 11:30
Господа, ситуация такая: Требуется сделать туннель между компьютером за NAT'ом и роутером.
Для доступа к radmin на удаленном компе. Т.е.

Роутер слушает входящие подключения
На удаленном ПК запускается plink (консольный putty), который коннектится к роутеру и делает туннель.
Реализация такова:

На роутере запущен dropbear (так:)

#тут вопрос, нужен ли флаг -a ?
dropbear -m -a -p 443

На компьютере запускается

plink -P 443 -v -ssh -l loginXXX -pw passwordXXX -T -N -noagent -R 172.20.1.1:8087:127.0.0.1:8088 hostanmeXXX.homedns.org
и при этом делает туннель. При обращении к роутеру по адресу 172.20.1.1 (внутренний) на порт 8087,
идет туннельный коннект к сервису на удаленном компьютере на порту 8088.

Для тестов запускаю NetCat для Windows:

nc -v -vv -p 8088 -L -s 127.0.0.1

Так вот проблема: если я использую логипасс админа-рута роутера, то все работает отлично. А вот создать пользователя не получается.


[XxX@router root]$ cat /etc/group
root:x:0:XxX
nobody:x:99:
port_tunnels:x:200:yyy1,yyy2,yyy3,yyy4,yyy5

[XxX@router root]$ cat /etc/passwd
XxX:hash1hash1hash1hash1:0:0:root:/usr/local/root:/bin/sh
nobody:x:99:99:nobody:/:/sbin/nologin
yyy1:hash2hash2hash2hash2:201:200:Remote Tunnel N1:/opt:/sbin/nologin

(ессно, файлы сохраняются при ребуте)

При коннекте пишет

plink -P 443 -v -ssh -l yyy1 -pw pass_yyy1 -T -N -noagent -R 172.20.1.1:80:127.0.0.1:8088 xxxhost.homedns.org
Looking up host "xxxhost.homedns.org"
Connecting to 111.111.111.111 port 443
Server version: SSH-2.0-dropbear_0.49
We claim version: SSH-2.0-PuTTY_Release_0.60
Using SSH protocol version 2
Using Diffie-Hellman with standard group "group1"
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-rsa 1040 b4:27:d7:ca:44:02:66:54:da:22:62:8f:aa:47:f6:9f
Initialised AES-256 CBC client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 CBC server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Using username "yyy1".
Sent password
Access denied
Access denied
Disconnected: Unable to authenticate

Подскажите, как быть? Хочется чтобы у юзера было как можно меньше прав.

UPD: Решено: нужно пользователю прописать шелл /bin/true (вместо /sbin/nologin), затем в /etc/shells добавить строки с шеллами, которые используются, не забыв про /bin/sh (если его не добавить, невозможно будет зайти под рутом Через ssh. Если все же сделали такую ошибку, зайдите через web-интерфейс и rm /etc/shells ). Теперь если пользователь зайдет с помощью вышеописаной команды проброса порта, все будет ОК, а если с помощью обычного консольного захода, то консоль закроется сразу после авторизации.

FilimoniC
16-06-2008, 13:24
Нашел проблему:

Jun 16 14:22:55 dropbear[145]: user 'yyy1' has invalid shell, rejected
Посоветуйте, что написать в качестве шелла? Пробовал /sbin/nologin, но такого файла нету и он матерится. Пробовал /bin/netstat и /bin/true, то же самое. с /bin/sh все хорошо, но мне нужно чтобы шелла у данного логина не было

6opoga
16-06-2008, 14:06
Нашел проблему:

Jun 16 14:22:55 dropbear[145]: user 'yyy1' has invalid shell, rejected
Посоветуйте, что написать в качестве шелла? Пробовал /sbin/nologin, но такого файла нету и он матерится. Пробовал /bin/netstat и /bin/true, то же самое. с /bin/sh все хорошо, но мне нужно чтобы шелла у данного логина не было

Попробуй /bin/true, только добавь его в /etc/shells

Dpoke
16-06-2008, 14:13
Думаю надо написать /bin/false.

FilimoniC
16-06-2008, 14:25
Спасибо, только добил роутер :-)
А потом нашел вот это: http://wl500g.info/showpost.php?p=80019&postcount=9 :_))
6opoga, поправьте свой пост плиз, а то еще кто-нибудь споткнется :-)

FilimoniC
17-06-2008, 07:35
Пасибо большое, проблема решена!
Далее буду делать win-клиент, который будет сам реконнектиться если что. Отпишу тут

FilimoniC
17-06-2008, 10:11
Прошу еще помощи касательно plink: если сервер отвалился,то plink остается висеть, ничего не делая и не отваливаясь. Как бы победить такую ситуацию?

FilimoniC
17-06-2008, 15:40
Решил проблему - добавил к ссш-подключению туннель от клиента к роутеру, на роутере поднял хттп-сервачок с индексом = 0 байт.
На клиенте - wget, который периодически спрашивает эту страничку через туннель, если не спросилось - taskkill /F /IM plink.exe

Вот мои скрипты
Всего учавствуют:
plink - для связи и туннеля
wget - для периодического прошибания канала
hidec - чтобы прятать dos-окна

Совково, но кому надо, тот доработает сам, по-правильному, с pid-ами и прочим.

zzr
29-06-2008, 23:33
День добрый, уважаемые!

Возник такой вопрос. Имею место на rsync.net, которое используется для бэкапов. Они его отдают по sftp/sshfs/webdavS.

Возникла необходимость в домашней сетке за wl500gP v2 сделать доступ к этому аккаунту.

Хотел бы примонитровать к раутеру через sshfs или webdavs удаленную ФС и раздать её с раутера через самбу.
Возможно ли это? Как на раутере скажется копирование через эту связку больших файликов?

Может быть какой-то метод лучше/хуже.
Крайне благодарен за совет и помощь.

zzr
02-07-2008, 01:28
Никто не сталкивался с похожим? :(
FUSE, кажется, не работает...

anterior
06-07-2008, 03:54
Здравствуйте!

Существует задача, войти от имени обычного пользователя по SSH без пароля используя ключ. Как это сделать для входа под рутом, я уже разобрался. Теперь не могу разобратся как сделать то-же но для входа без пароля от имени обычного пользователя (который прописан в /etc/passwd)

Что имеем:
Сервер - это мой ASUS WL-500gPremium
Клиент - это мой домашний ПК

Сгенерированные мною ключи - id_dsa - для рута, id_dsa_maxim - для пользователя maxim. Я делал так:

На клиенте:

maxim@localhost:~$ ssh-keygen -t dsa
<...>
maxim@localhost:~$ scp ~/.ssh/id_dsa_maxim.pub maxim@192.168.1.2:/opt/home/maxim
maxim@192.168.1.2's password:
id_dsa_maxim.pub 100% 605 0.6KB/s 00:00
maxim@localhost:~$

На сервере:

maxim@OpenWrt:~$ mkdir .dropbear
maxim@OpenWrt:~$ cat id_dsa_maxim.pub >> .dropbear/authorized_keys
maxim@OpenWrt:~$ rm id_dsa_maxim.pub
maxim@OpenWrt:~$ chmod 0600 .dropbear/authorized_keys
maxim@OpenWrt:~$ ln -s .dropbear dropbear
maxim@OpenWrt:~$ ls -al
drwxr-xr-x 5 maxim maxim 4096 Jul 6 10:29 .
drwxr-xr-x 4 root root 4096 Jan 1 2000 ..
-rw-r--r-- 1 maxim maxim 16 Jul 6 10:23 .ash_history
drwxr-xr-x 2 maxim maxim 4096 Jul 6 10:28 .dropbear
drwxr-xr-x 7 maxim maxim 4096 Jan 1 2000 Archive
drwxr-xr-x 2 maxim maxim 4096 Jan 1 2000 Torrents
lrwxrwxrwx 1 maxim maxim 9 Jul 6 10:29 dropbear -> .dropbear
-rw-r--r-- 1 root root 61517918 Apr 17 11:13 linux-2.6.25.tar.gz
-rw-r--r-- 1 root root 381866 Jul 5 23:59 nixxx.zip
maxim@OpenWrt:~$ ls -l .dropbear
-rw------- 1 maxim maxim 605 Jul 6 10:28 authorized_keys


Проверяю на клиенте:
-----------------------------------------
Для входа под пользователем требует пароля:

maxim@localhost:~$ ssh -i /home/maxim/.ssh/id_dsa_maxim maxim@192.168.1.2
maxim@192.168.1.2's password:
Permission denied, please try again.
maxim@192.168.1.2's password:

При этом для рута всё работает:

maxim@localhost:~$ ssh -i /home/maxim/.ssh/id_dsa root@192.168.1.2


BusyBox v1.4.2 (2007-08-08 08:29:39 CDT) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@OpenWrt:~# exit
Connection to 192.168.1.2 closed.

Но мне надо чтобы под обычным пользователем можно было входить без пароля. Как это сделать?

anterior
06-07-2008, 04:05
а... блин. Всё, разобрался. Нужно было каталог называть как ".ssh" на сервере а не ".dropbear"

Теперь работает :)

mcwees
21-08-2008, 06:41
а при таких правилах telnet для доступа снаружи закрыт?

И в какой лог будет писаться вывод hitcount 4 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'SSH brute force attack' ?

В /var/log/post-firewall.log ?

На телнет правила "резки" не распространяются.

Писаться будет в системный лог, туда же, куда пишутся сообщения о загрузке и т.п. Его видно через веб-морду.

ost
01-09-2008, 18:56
Господа,
объясните тупому, какая связь между телнетом и dropbear.

Почему если в настройках рутера заглушить телнет, то dropbear не запускается?

Более того, заходим на рутер по ssh, смотрим активные процессы, видим telnetd. Киляем его, и наблюдаем немедленное умирание сессии ssh.

Т.е. я так понимаю, что sh, который запускает post-boot (равно как ивсе остальные скрипты из sbin) запускается из-под телнета, и убив родительский процесс, мы киляем все что под ним.

Но тогда получается, что в конфигурациях описанных во всех how-to, telnetd обязательно должен быть разрешен в настройках рутера. Это так?

Кроме того, мы имеем поенциальную дыру в рутере. Я прав?

EugeenB
01-09-2008, 20:17
объясните тупому, какая связь между телнетом и dropbear.Нет ни какой связи между телнетД и дропбир. Это две разные не зависимые друг от друга программы и процесса.
Описанная Вами ситуация возможна в том случае, если дропбир Вы запустили не из пост-бут скрипта, а ручками из сесии телета.

ost
02-09-2008, 07:43
Описанная Вами ситуация возможна в том случае, если дропбир Вы запустили не из пост-бут скрипта, а ручками из сесии телета.

Кабы так, я бы не стал задавать вопрос в конфе.

Версия прошивки 10-я. Железо WL-500gpv2.

1. При отключении телнет в настройках post-boot не отрабатывает
2. При включении телнет post-boot исправно работает, но все запущенное из него умирает при убийстве телнета.

Кто-нибудь может повторить это у себя?

Lupo_Alberto
02-09-2008, 08:21
Повторить не получается :(


[admin@wl500gP root]$ ps
PID Uid VmSize Stat Command
1 admin 628 S /sbin/init
2 admin SW [keventd]
3 admin RWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW
6 admin SW [kupdated]
7 admin SW [mtdblockd]
62 admin 396 S httpd vlan1
64 admin 552 S nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
70 nobody 464 S [dnsmasq]
71 admin SW [khubd]
80 admin 260 S p9100d -f /dev/usb/lp0 0
84 admin SW [usb-storage-0]
87 admin SW [scsi_eh_0]
92 admin 428 S udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc
94 admin 476 S watchdog
97 admin 344 S ntp
105 admin 480 S [B]dropbear
112 admin SW [kjournald]
113 admin SW [kjournald]
136 admin 896 S /opt/sbin/syslog-ng
141 admin 416 S /opt/sbin/cron
145 admin 696 S /usr/sbin/pppd file /opt/etc/ppp/belpak.pppd
154 admin 436 S /usr/sbin/ez-ipupdate -c /opt/etc/dyndns.conf
156 admin 692 S /usr/sbin/pppd file /opt/etc/ppp/guest.pppd
344 admin 712 S dropbear
345 admin 576 S -sh
543 admin 392 R ps

Можно увидеть выводы команд

ls -l /tmp/local/sbin/
и

cat /tmp/local/sbin/post-boot

DemonGloom
02-09-2008, 16:03
Убил... все нормально работает... Выключать тоже пробовал, но решил все-таки оставить, просто наружу этот порт не свечу...

al37919
02-09-2008, 18:07
установите полноценный ps:

ipkg install procps

Смотрите у какого процесса кто родитель (поле PPID) коммандой:

ps -AF

DemonGloom
02-09-2008, 18:10
Тогда уж если ставить, то htop...

ost
02-09-2008, 18:10
Повторить не получается :(
Можно увидеть выводы команд



[dima214@WL-500gpv2 root]$ ps
PID Uid VmSize Stat Command
1 dima214 636 S /sbin/init
2 dima214 SW [keventd]
3 dima214 SWN [ksoftirqd_CPU0]
4 dima214 SW [kswapd]
5 dima214 SW [bdflush]
6 dima214 SW [kupdated]
7 dima214 SW [mtdblockd]
59 dima214 328 S telnetd
64 dima214 380 S httpd vlan1
69 dima214 408 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
70 dima214 364 S klogd
75 nobody 472 S [dnsmasq]
77 dima214 SW [khubd]
89 dima214 332 S /usr/sbin/igmpproxy -c /etc/igmpproxy.conf
92 dima214 748 S pppd file /tmp/ppp/options.wan0
94 dima214 448 S watchdog
96 dima214 344 S ntp
97 dima214 460 S sh -c /usr/sbin/pptp --idle-wait 0 ppp.lan --nolaunchpppd --nobuffer --sync
100 dima214 436 S pptp: GRE-to-PPP gateway on /dev/ptmx--nolaunchpppd --nobuffer --sync
107 dima214 440 S pptp: call manager for 10.10.3.40 --nolaunchpppd --nobuffer --sync
109 dima214 468 S dropbear
141 dima214 492 S upnp -D -L br0 -W ppp0
143 dima214 548 S -sh
146 dima214 396 R ps
[dima214@WL-500gpv2 root]$





[dima214@WL-500gpv2 root]$ ls -la /tmp/local/sbin/
drwxr-xr-x 1 dima214 root 0 Aug 28 21:38 .
drwxr-xr-x 1 dima214 root 0 Jan 1 2000 ..
-rwxr-xr-x 1 dima214 root 20 Aug 28 21:40 post-boot
[dima214@WL-500gpv2 root]$


и


[dima214@WL-500gpv2 root]$ cat /tmp/local/sbin/post-boot
#!/bin/sh
dropbear

[dima214@WL-500gpv2 root]$



Единственная разница, которую я вижу это то, что я поменял дефолтное имя admin на своё.
Где копать?

ost
02-09-2008, 18:25
установите полноценный ps:

ipkg install procps

Смотрите у какого процесса кто родитель (поле PPID) коммандой:

ps -AF

Пока не готов. Я его только два дня как установил, диск не цеплял.
Но мысль вы мне правильную подали. Я top снял



Mem: 14424K used, 15740K free, 0K shrd, 1760K buff, 6116K cached
Load average: 0.00, 0.02, 0.00 (State: S=sleeping R=running, W=waiting)

PID USER STATUS RSS PPID %CPU %MEM COMMAND
262 dima214 R 444 143 0.9 1.4 top
92 dima214 S 748 1 0.0 2.4 pppd
185 dima214 S 716 109 0.0 2.3 dropbear
1 dima214 S 636 0 0.0 2.1 init
143 dima214 S 548 59 0.0 1.8 sh
186 dima214 S 512 185 0.0 1.6 sh
141 dima214 S 492 1 0.0 1.6 upnp
109 dima214 S 480 1 0.0 1.5 dropbear
75 nobody S 472 1 0.0 1.5 dnsmasq
97 dima214 S 460 92 0.0 1.5 sh
94 dima214 S 448 1 0.0 1.4 watchdog
107 dima214 S 440 1 0.0 1.4 pptp
100 dima214 S 436 97 0.0 1.4 pptp
69 dima214 S 408 1 0.0 1.3 syslogd
64 dima214 S 380 1 0.0 1.2 httpd
70 dima214 S 364 1 0.0 1.2 klogd
96 dima214 S 344 94 0.0 1.1 ntp
59 dima214 S 332 1 0.0 1.1 telnetd
89 dima214 S 332 1 0.0 1.1 igmpproxy
3 dima214 SWN 0 1 0.0 0.0 ksoftirqd_CPU0
7 dima214 SW 0 1 0.0 0.0 mtdblockd
77 dima214 SW 0 1 0.0 0.0 khubd
2 dima214 SW 0 1 0.0 0.0 keventd
6 dima214 SW 0 1 0.0 0.0 kupdated
4 dima214 SW 0 1 0.0 0.0 kswapd
5 dima214 SW 0 1 0.0 0.0 bdflush


Тогда вообще мистика, parent как и положено init.
Но стоит убить телнет sshd падает... :mad:

крыша тихо едет.

ost
02-09-2008, 18:31
Прошу у всех прощения. Вопрос снят.

У меня в putty в настройках сессии 23-й порт стоял :confused:
а far честно по winscp работает.

sergicus
10-09-2008, 13:11
исходно роутер sftp не поддерживает. Чтобы включить поддержку sftp надо сделать
ipkg install openssh
Оттуда нужен единственный файл /opt/libexec/sftp-server его можно скопировать куда-нибудь, потом удалить openssh, потом вернуть sftp-server на то же место.


спасибо за наводку. помогло

Kulon07
12-09-2008, 16:08
Так какое оптимальное правило для ssh и telneta ??? Жду ответа и чем оно сособено ?

rootpuppet
17-09-2008, 20:06
Еще решение - собрать и поставить portsentry. От скана портов тоже защищает.

alinghi
12-10-2008, 14:59
Уважаемые гуру! Всетаки если можно сформулируйте конкретные действия как,куда и что нужно вписывать для защиты соединения.К сожалению в этом интересном вопросе совсем не разбираюсь:o

al37919
12-10-2008, 18:23
Вот тема посвежее. Ближе к концу приводится работающий вариант.
http://wl500g.info/showthread.php?t=11436

sergeich
25-10-2008, 17:47
Проблема в следующем.
Установил ipkg install openssh-sftp-server
Установка прошла успешно, но при запуска sftp-server выдается ошибка-file not found, хотя файл лежит в opt/libexec
Перечитал весь форум, написано, что sftp-server должен запускать dropbear
Сам dropbear у меня запускается, но не запускает sftp-server
Чего не хватает для его запуска?

vectorm
25-10-2008, 18:13
Проблема в следующем.
Установил ipkg install openssh-sftp-server
Установка прошла успешно, но при запуска sftp-server выдается ошибка-file not found, хотя файл лежит в opt/libexec
Перечитал весь форум, написано, что sftp-server должен запускать dropbear
Сам dropbear у меня запускается, но не запускает sftp-server
Чего не хватает для его запуска?
Права на файле какие?
chmod +x сделайте.

sergeich
25-10-2008, 18:21
Права на запуск были...тож самое..
Может дело в том, что я папку opt смонтировал так:mount /tmp/local/opt /opt
то есть в памяти роутера..
Смонтировалась ок, да и установка прошла успешно..

vectorm
26-10-2008, 10:40
Права на запуск были...тож самое..
Может дело в том, что я папку opt смонтировал так:mount /tmp/local/opt /opt
то есть в памяти роутера..
Смонтировалась ок, да и установка прошла успешно..
Путь до sftp полностью указан?

sergeich
26-10-2008, 10:48
Путь до sftp полностью указан?

Да, спасибо, я разобрался. Не хватало файла libcrypto.so.0.9.7 в папке lib
Без него не запускался, хотя на форуме прочитал, что достаточно только файла самого сервера sftp-server

GDR
12-01-2009, 12:03
Не запускается sftp-server. Я так понимаю его должен запускать dropbear? Сам dropbear у меня есть в списке процесов, а sftp-server - нет. При ручном запуске sftp-server он отваливается по таймауту. В чем может быть дело?


[admin@WL500G root]$ ipkg list_installed | grep ssh
openssh-sftp-server - 5.1p1-1 - sftp-server only from a FREE version of the SSH protocol suite of network connectivity tools.

[admin@WL500G root]$ ipkg files openssh-sftp-server
Package openssh-sftp-server (5.1p1-1) is installed on /opt/ and has the following files:
/opt/libexec/sftp-server

Successfully terminated.
[admin@WL500G root]$ ls -al /opt/libexec/
drwxr-xr-x 3 admin root 4096 Jan 12 14:40 .
drwxr-xr-x 16 admin root 4096 Jan 12 15:48 ..
drwxr-xr-x 2 admin root 4096 Jan 12 11:44 awk
-rwxrwxr-x 1 admin root 64356 Jul 23 04:06 sftp-server

[admin@WL500G root]$ ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:01 /sbin/init
2 ? S 0:00 [keventd]
3 ? SN 0:02 [ksoftirqd_CPU0]
4 ? S 0:00 [kswapd]
5 ? S 0:00 [bdflush]
6 ? S 0:00 [kupdated]
7 ? S 0:00 [mtdblockd]
60 ? S 0:00 telnetd
65 ? S 0:00 httpd vlan1
68 ? S 0:00 syslogd -m 0 -O /tmp/syslog.log -S -l 7
71 ? S 0:00 klogd
76 ? S 0:00 [dnsmasq]
78 ? S 0:00 [khubd]
88 ? Ss 0:00 waveservermain
90 ? Ss 0:00 rcamdmain
96 ? S 0:00 [usb-storage-0]
97 ? S 0:00 [scsi_eh_0]
109 ? Ss 0:00 watchdog
112 ? Ss 0:00 ntp
119 ? S 0:00 dropbear -p 443
125 ? S 0:00 upnp -D -L br0 -W vlan1
129 ? S 0:00 [kjournald]
132 ? Ss 0:00 /usr/sbin/vsftpd
152 ? Ss 0:00 dropbear -p 443
153 pts/0 Ss 0:00 -sh
160 pts/0 R+ 0:00 ps ax

[admin@WL500G root]$ cat /usr/local/sbin/post-mount
#!/bin/sh

#mount drives
/bin/mount -o sync,noatime,rw /dev/discs/disc0/disc /opt

#enable swap
/sbin/mkswap /opt/swap.file > /dev/null 2>&1
/sbin/swapon /opt/swap.file

[admin@WL500G root]$ cat /usr/local/sbin/post-firewall
#!/bin/sh
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --syn --dport 443 -j ACCEPT

[admin@WL500G root]$ cat /usr/local/sbin/post-boot
#!/bin/sh
dropbear -p 443 > /dev/null 2>&1

GDR
12-01-2009, 13:52
Оказалось сам дурак. Процесс sftp-server появляется, когда попытаешся соединиться с сервером например из WinSPC. В обычном состоянии его в списке не будет.

WinSPC - классная штука.

qqq1971
31-01-2009, 12:46
Вот такие логи весь день:

Jan 31 15:36:05 vsftpd[5493]: CONNECT: Client "122.116.180.110"
Jan 31 15:36:06 vsftpd[5492]: [linux] FAIL LOGIN: Client "122.116.180.110"
Jan 31 15:36:07 vsftpd[5492]: [linux] FAIL LOGIN: Client "122.116.180.110"
Jan 31 15:36:09 vsftpd[5492]: [linux] FAIL LOGIN: Client "122.116.180.110"
Jan 31 15:36:11 vsftpd[5495]: CONNECT: Client "122.116.180.110"
Jan 31 15:36:12 vsftpd[5494]: [linux] FAIL LOGIN: Client "122.116.180.110"
Jan 31 15:36:14 vsftpd[5494]: [linux] FAIL LOGIN: Client "122.116.180.110"
Jan 31 15:36:16 vsftpd[5494]: [linux] FAIL LOGIN: Client "122.116.180.110"

Вопрос в том как на работающем роутере закрыть порт 21 на доступ извне. Останавливать и перегружать очень не хочется.

Прошивка Олега последняя.

qqq1971
31-01-2009, 12:58
Пока совсем закрыл доступ по 21 порту:

iptables -I INPUT -p tcp --dport 21 -j DROP

Как закрыть доступ только извне?

cipipi
31-01-2009, 13:07
Вам поможет vsftpd c поддержкой tcpwrappers:
http://wl500g.info/showpost.php?p=119458&postcount=132

В файле hosts.allow прописать строчку


vsftpd: 122.116.180.110: DENY


Если я не ошибаюсь..

Если вам нужно, чтоб доступ имели только локальные пользователи, то
пропишите в конфиге vsftpd явным образом


listen_address=внутренний IP роутера

и удалите все правила касаемо DNAT по 21 порту в iptables.

cipipi
31-01-2009, 13:12
Если вы работаете c ФТП через веб морду, то предположу, что надо сделать так
USB application/FTP sever/Enable FTP Server: Yes, LAN only

qqq1971
31-01-2009, 13:18
Спасибо за быстрый ответ.

У меня ftp из прошивки работает, нельзя ли обойтись без установки другой версии vsftpd? Как нибудь на уровне iptables разрешить доступ на ftp для внутренней сети и запретить для внешней?

Кстати, ошибся. Прошивка от форумных разработчиков 10-d7.

qqq1971
31-01-2009, 13:20
Аааа, спасибо!!!

Я этот список и не открывал ни разу, думал там опций только Да и Нет. :)

the
04-02-2009, 15:03
Подскажите заодно, пожалуйта

Если мне нужно сходить из под роутера по протоколу sftp на другой внешний адрес, то каким клиентом (какой командой) это можно сделать?

В телнете у меня неполучилось использовать wget для этого, полагаю он кушает только обычный ftp.

И команды ftp и sftp роутер признавать отказывается (openssh-sftp-server не устанавливал).

Под виндами я понимаю это делается с помощью тулзы psftp (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), а вот как из под роутера?

al37919
04-02-2009, 15:17
sftp --- входит в комплект полного openssh

mixazen
07-02-2009, 10:07
wl500gpv2 с 10ой прошивкой Олеговской (за что спасибо огромное) крутилось связка: WD 1tb ext3+linux swap rtorrent+ados+mt-daapd+u-share+vnstat

после сброса в дефолт, пропал SSH пускает по телнет и если я смотрю ls /opt/ говорит каталог пустой, захожу по самбе и вижу /opt/etc и все старые

как можно поднят старые конфиги, по сути после сброса затерлась только память роутера - а на жестком все осталось
КАК ПРОЩЕ ПОДНЯТЬ ВСЕ НАСТРОЙКИ?
или придется подымать все заново, спасибо?

Markiz
07-02-2009, 12:19
post-boot
post-mount
post-firewall
находятся в основной памяти. В часности запуск ссх обычно в пост бут.

Чтобы вернуть запуск схх, выполните следующие команды:

echo '#!/bin/sh'>/usr/local/sbin/post-boot
echo 'dropbear > /dev/null 2>&1'>>/usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
flashfs save
flashfs commit
flahfs enable
Обращаю ваше внимание, что этот скрипт затрет имеющийся пост-бут. Если у вас там уже что то есть просто допишите в конец dropbear > /dev/null 2>&1


А вообще вам, если вы не сохранили указанные выше файлы зарание придется восстанавливать их вручную. Обычно в пост буте стоит запуск ссх, а в пост маунте запуск всяких рторрентов, подключение свопа (swapon) и прочего и прочего. В пост файрволе всякие нужные правила.

StaREViL
07-02-2009, 12:24
wl500gpv2 с 10ой прошивкой Олеговской (за что ls /opt/ говорит каталог пустой, захожу по самбе и вижу /opt/etc и все старые

как можно поднят старые конфиги, по сути после сброса затерлась только память роутера - а на жестком все осталось
КАК ПРОЩЕ ПОДНЯТЬ ВСЕ НАСТРОЙКИ?
или придется подымать все заново, спасибо?

Странно.
Может его попробовать перемонтировать.
umount /opt
mount -obind /tmp/mnt/disc0_1/opt/ /opt
?

vectorm
07-02-2009, 12:58
wl500gpv2 с 10ой прошивкой Олеговской (за что спасибо огромное) крутилось связка: WD 1tb ext3+linux swap rtorrent+ados+mt-daapd+u-share+vnstat

после сброса в дефолт, пропал SSH пускает по телнет и если я смотрю ls /opt/ говорит каталог пустой, захожу по самбе и вижу /opt/etc и все старые

как можно поднят старые конфиги, по сути после сброса затерлась только память роутера - а на жестком все осталось
КАК ПРОЩЕ ПОДНЯТЬ ВСЕ НАСТРОЙКИ?
или придется подымать все заново, спасибо?
Так и должно быть.
Выполните начальную настройку до пункта монтирования /opt включительно, только без форматирования. И все вернется.

al37919
07-02-2009, 15:07
после сброса в дефолт отключилась flashfs. Чтобы ее включить обратно надо дать через telnet комманду

flashfs enabled && reboot
Если конечно еще не перезаписали ее новым содержимым.

AlekseyM
05-03-2009, 19:17
Спасибо за быстрый ответ.

У меня ftp из прошивки работает, нельзя ли обойтись без установки другой версии vsftpd? Как нибудь на уровне iptables разрешить доступ на ftp для внутренней сети и запретить для внешней?

Кстати, ошибся. Прошивка от форумных разработчиков 10-d7.
решилось до ужаса просто - добавил в пункт Virtual Server List
21 порт с внутреним адресом роутера, на протокол TCP всё работает!

theMIROn
05-03-2009, 19:35
воспользуйтесь прошивкой 1.9.2.7-d из подписи.
там встроена возможность ограничить количество попыток подключений в течении определенного периода времени

ABATAPA
05-03-2009, 19:38
Пока совсем закрыл доступ по 21 порту:

iptables -I INPUT -p tcp --dport 21 -j DROP

Как закрыть доступ только извне?

iptables -I INPUT -p tcp -i \! br0 --dport 21 -j DROP

the
31-05-2009, 17:22
привет коллеги

для обмена файлами можно пользоваться конечно банальнымим ftp или попродвинутее sftp, но это открытие нового порта, а в случае с ftp еще и никакая безопасность

мало того, доступаясь из интернета с рабочего места (то есть за корпоративным фаирволом), я могу ходить только на потры 80 и 443 (корпоративный прокси слишком умный)

именно поэтому у меня открыт 443 порт для ssh, и доступ работает хорошо, даже отлично, причем по ключам... красота.

теперь очень хочется иметь возможность закачать и скачать определенный бинарный файл, используя тот же порт и транспорт ssh

как я понимаю, это возможно, только вот никак не пойму как

тут на форуме активно обсуждается rsnapshot, то есть надстройка над rsync, но использование rsync в чистом виде неприсутствует

не подскажете, rsync это то что мне надо в случае желания использования того же доступа ssh на порту 443

bbsc
31-05-2009, 18:18
rsync - это демон/клиент для регулярной синхронизации файлов/директорий.

Для эпизодического доступа подойдет вот это:
http://www.winscp.com/

Play-Boy
30-06-2009, 13:33
Есть-ли возможность как-то активировать лог подключений (удачных и не удачных) к dropbear'у?
Еще очень хочется заставить работать такие замечательные утилитки, как who, history и прочие.. а то who у меня показзывает 0 юзеров, что само по себе абсурдно..
При всем этом очень хочется ничего не сломать :)
Помогите, плиз? :rolleyes:

bbsc
30-06-2009, 15:26
cat /tmp/syslog.log | grep dropbear

isol
25-08-2009, 19:02
Здравствуйте,

Роутер WL500gp, прошивка Олега 1.9.2.7-10

Приобрёл недавно устройство Linksys SPA-3102 (шлюз для IP телефонии), пытаюсь настроить переадресацию с городской лини на VOIP. В процессе иногда получаю странное. Соединение иногда не разрывается автоматически и остаётся активным. Нужен способ, чтобы прибить его "на лету" через ssh. Посоветуйте что-нибудь, так как в линуксе я почти ноль.


Вот как выглядит это соединение по tcpdump host 192.168.0.9
IP 192.168.0.9.16448 > 80-239-235-54.customer.teliacarrier.com.8724: UDP, length 172

rybakovskiy
08-09-2009, 11:01
Имею Wl-500gPv2 прошивка 1.9.2.7-10.7 провайдер раздаёт интернет через Static IP . по SSH 23 порт через Putty. Т.е. я в винде запускаю Putty, открывается окно, ввожу Login затем Passw. и открываю браузер.
Подскажите пожалуйста смогу ли я сделать, чтобы роутер при включении сам подключался к провайдеру. И хотя-бы намекни-те что мне необходимо сделать. Прочитал настройку для дурака, подключил флешку с ФТП....

joohny
08-09-2009, 11:27
Если ничего не меняли, зайти в браузере на 192.168.1.1, ввести логин пароль admin и в web интерфейсе все настроить!

Corvus
16-09-2009, 07:23
Чтоб не плодить тем, спрошу здесь...

Проблема в том, что сделав практически всё как описано выше, за исключением того, что генерился rsa-ключ, а не dsa и authorized_keys для пользователя admin (суперпользватель на роутере определен как root) лежит в /opt/home/admin/.ssh - я могу войти на сервер (читай ASUS WL-500gP) лишь по telnet. Ssh не принимает пароль и после трех попыток говорит "Permission denied".
Пользователь admin заведен в /etc/passwd, пароль и права ему нарезаны, группа определена как root (0).

Куда копать, друзья?

Corvus
16-09-2009, 21:13
Во! И я разобрался... Вопрос снят. В файле /etc/passwd у юзверя admin в качестве shellа поставил bash. Вот он и ругался.
Создал файл /etc/shells, занес туда две строки


/opt/bin/bash
/bin/sh


Файл /etc/shells внес в /usr/local/.files

Все заработало.

DemoN91
02-10-2009, 12:57
Здравствуйте! Такой вопрос - меня и не только меня засыпают пакетами в локалке до такой степени что до того как я купил роутер работать в сети было вообще невозможно. Канал был загружен на 95-99% при том что канал 100 мегабит... :( Фаервол не помогал никак. Купил роутер asus wl500g premium. Все настроил, роутер валить стало сложнее, потому что некоторое время все работало, но потом опять обвалилось. Можно ли как нибудь настроить фаервол в роутере чтобы прекратить это дело? Т.к. вообще ничего не работает, ни сеть ни естесвтенно интернет, авторизацию на впн не получается даже пройти. Точно знаю что пакетами сыпят с помощью скрипта написаного под линух. Что и как он конкретно делает не знаю.... Какие есть мысли? Спасибо!

Power
02-10-2009, 13:02
Первым делом - сообщить провайдеру. Это их обязанность - обеспечивать работу сети.
Затем можно посмотреть, что же за трафик приходит (с помощью tcpdump) и целенаправленно заблокировать его на фаерволле (в iptables). Но факт блокирования не спасёт вас от забитого канала.
В конце концов, можно просто вычислить товарища и пойти бить морду.

DemoN91
02-10-2009, 13:05
Да провайдеру сугубо по барабану на это =) если только не собраться и не написать коллективную жалобу, т.к. постарадавших уже довольно много... Бить морду вариант, по большому счету. Но есть одна проблемка - что потом делать с заявлениями в ментовку? Я сам по себе не маленький, и могу случайно и средне-тяжкие нанести сгоряча... Так что тут все довольно сложно. Хотелось бы просто прекратить это мирным путем, если возможно... Или просто пойти перерезать этому мудаку провода =)

Power
02-10-2009, 13:13
Ну напишите коллективную жалобу провайдеру, а заодно и заявление в милицию (я так понимаю, что дос-атака - дело тоже не очень законное).

DfDf
04-10-2009, 20:54
А виновник сделает круглые глаза и скажет, что словил бота или трояна ;)

gooroong
15-10-2009, 12:13
Есть статья (http://linux-admin.net.ru/net/2lan.htm), которая подробно расписывает как это сделать.

Я решил пройти квест, но застрял вот тут
"2. Настраиваем pppd: в /etc/ppp/options пишем:"
тиз-за того, что такого файла не нашел

господа, если не сложно, помогите разобраться в статье и сказать, что надо установить и где что лежит.

желательно. если местные гуру перепишут статью для "нашего" случая.

у меня стоит задача сдружить локальные сети через два wl500gp (10я прошивка от Олега) с внешними ip адресами.

-------------------------------------------------

дополнение: я не бросил поиск и набрел на интересную статью (http://habrahabr.ru/blogs/linux/56652/), которая описывает то, что мне надо как раз для того. что мне надо. Буду пробовать.

----------------конец поста---------------------

gooroong
17-10-2009, 13:10
открываем пост заново.
видимо, инструкция для чайников, которую я нашел, на самом деле для более умных людей

как вы думаете, что может значить вот это в логе openvpn


Thu Jan 1 00:00:23 1970 OpenVPN 2.1_rc15 mipsel-linux [SSL] [LZO1] [EPOLL] built on Feb 23 2009
Thu Jan 1 00:00:23 1970 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Jan 1 00:00:23 1970 Diffie-Hellman initialized with 1024 bit key
Thu Jan 1 00:00:23 1970 WARNING: file '/opt/etc/openvpn/keys/WL500WORK.key' is group or others accessible
Thu Jan 1 00:00:23 1970 TLS-Auth MTU parms [ L:хххх D:ххх EF:ххх EB:0 ET:0 EL:0 ]
Thu Jan 1 00:00:23 1970 TCP/UDP: Socket bind failed on local address [undef]:1194: Address already in use
Thu Jan 1 00:00:23 1970 Exiting

asp
17-10-2009, 17:19
Address already in use
Кто-то уже висит на этом порту.

nazargulov
29-10-2009, 00:41
Роутер WL-500gP, прошивка Олега. Постоянно в логах появляются сообщения типа:


Oct 28 21:19:42 dropbear[22987]: Child connection from ::ffff:124.162.53.197:58526
Oct 28 21:19:45 dropbear[22987]: login attempt for nonexistent user from ::ffff:124.162.53.197:58526
Oct 28 21:19:46 dropbear[22987]: exit before auth: Disconnect received

Мне ssh нужен только локально. Подскажите пожалуйста, как я могу запретить любые подключения к ssh из интернета?

ABATAPA
29-10-2009, 06:04
Мне ssh нужен только локально. Подскажите пожалуйста, как я могу запретить любые подключения к ssh из интернета?

iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP
iptables -I INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT

Где 192.168.0.0/24 - Ваша локальная сеть.

Можно так же настроить и через web-интерфейс.

al37919
29-10-2009, 06:06
по умолчанию доступ из локалки разрешен, снаружи запрещен. Так что нужно найти где вы разрешили доступ по ssh снаружи и убрать эту строку. Могу предположить, что в первую очередь надо смотреть post-firewall или post-boot

nazargulov
29-10-2009, 11:42
iptables -I INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP

Где 192.168.0.0/24 - Ваша локальная сеть.

Можно так же настроить и через web-интерфейс.
Спасибо. Пока никто не ломится и с компа через ssh зайти могу.


по умолчанию доступ из локалки разрешен, снаружи запрещен. Так что нужно найти где вы разрешили доступ по ssh снаружи и убрать эту строку. Могу предположить, что в первую очередь надо смотреть post-firewall или post-boot
Роутер настраивал по DURAK EDITIONS.

serji
29-10-2009, 16:31
у меня тоже такое было....
но не понятно, как у меня IP серый йотовский, как ко мне подключались китайцы....
перегрузился... пока таких записей нет...

колбаскин
30-10-2009, 11:50
Китайцы брутфорсят мой ssh

Эти китайцы вполне могут сидеть в соседнем доме! если логин не admin и пароль не 123 - то шансов у них мало!

vectorm
30-10-2009, 15:32
На будущее - хотите иметь доступ по SSH снаружи, и не быть атакованным - вешайте его на нестандартный порт.

nazargulov
02-11-2009, 01:50
iptables -I INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP

Где 192.168.0.0/24 - Ваша локальная сеть.

Можно так же настроить и через web-интерфейс.
В итоге не помогло. В логах опять какашки из первого сообщения :-(


Эти китайцы вполне могут сидеть в соседнем доме! если логин не admin и пароль не 123 - то шансов у них мало!
По whois это китайцы.

колбаскин
02-11-2009, 08:22
В итоге не помогло. В логах опять какашки из первого сообщения :-(

По whois это китайцы.

Может слышал когда-то о таком как прокси сервера?

nazargulov
03-11-2009, 05:02
Приходится "апать" тему, т.к. решение все еще не найдено.


Может слышал когда-то о таком как прокси сервера?
Соседу наверно очень удобно использовать прокси, которые находятся на другом конце планеты...

ABATAPA
03-11-2009, 05:37
В итоге не помогло. В логах опять какашки из первого сообщения :-(


Вы в стартовых скриптах-то строки сохранили?
Думаю, что нет.

kr1sed
03-11-2009, 06:30
Вот как я решил проблему брутфорса у себя. Решение (http://bruteforcer.ru/index.php/2009/10/06/dropbear-avtorizaciya-po-klyucham-na-primere-asus-wl-500gp-v1/)

ceramic
03-11-2009, 10:05
Приходится "апать" тему, т.к. решение все еще не найдено.
Вам уже дали правильное решение:
http://wl500g.info/showpost.php?p=166751&postcount=3

Изначально доступ снаружи закрыт. Вы сами его разрешили. Хотите запретить -- убирайте это разрешение.


Соседу наверно очень удобно использовать прокси, которые находятся на другом конце планеты...
При чем здесь удобно? Речь об анонимности.

колбаскин
03-11-2009, 10:26
Приходится "апать" тему, т.к. решение все еще не найдено.

Соседу наверно очень удобно использовать прокси, которые находятся на другом конце планеты...

Прокси серверы появляются и очень быстро умирают! в списке из 100 может быть полноценно рабочие 2-3
вот нашел сосед рабочую анонимку которая долго в строю и балуется...
Славянских прокси мало и заниматься чем-то вроде этого сосед через них не рискует!

ЗЫ а когда китай ддосит Украинские сайты - это как понять? (естественно при помощи серваков других стран)

Ukaz
04-11-2009, 11:35
iptables -I INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP
После ввода команды или редактирования файла post-firewall - не могу подключиться из внутренней сетки по SSH.
Сеть 192.168.1.1/24

ZZToP
04-11-2009, 12:38
iptables -I INPUT
Параметр -I у iptables делает вставку правила в список правил.
Если не указан номер по синтаксису -I <цепочка> <номер> <условия правила> -j <действие правила>, то вставляет он правило первым в цепочку.

Выполняя указанную последовательность действий, у тебя первым правилом оказывается DROP.
И все остальные правила касательно 22-го порта идут лесом.
Ты укажи вот так:
-I INPUT 1 <....> -j ACCEPT
-I INPUT 2 <....> -j DROP

И всё встанет на свои места.

Ukaz
04-11-2009, 12:48
Переставил строки.
Попробовал в командной строке - работает.
Добавил строчки в post-firewall - работает.
Спасибо, жаль, что сразу не правильно указали.

ABATAPA
04-11-2009, 15:47
Спасибо, жаль, что сразу не правильно указали.

Да, я в неправильном порядке вставил скопированные из окна PuTTY строчки.
Первым добавляемым правилом должно быть "DROP".
Вторым перед ним вставится 'ACCEPT'.
"-I" нужно для того, чтобы другие правила, если они есть, не отрабатывали ранее (т.к. '-A' добавит правила в конец цепочки, а что перед ними - нам не известно).
Правильно будет:
iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP
iptables -I INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT

nazargulov
14-11-2009, 22:11
Вот все что есть. Настраивал по Durak. Становиться умным я не хочу. Я хочу просто ввести команды и больше никогда не вспоминать о "китайцах", но в тоже время иметь возможность подключаться по ssh. Помогите мне пожалуйста.

iptables -L


Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate DNAT
DROP all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain MACS (0 references)
target prot opt source destination

Chain SECURITY (0 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
RETURN udp -- anywhere anywhere limit: avg 5/sec burst 5
RETURN icmp -- anywhere anywhere limit: avg 5/sec burst 5
DROP all -- anywhere anywhere

Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
ACCEPT all -- anywhere anywhere

Chain logdrop (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
DROP all -- anywhere anywhere
[admin@nazar-router root]$


vi /usr/local/sbin/post-firewall


iptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "ds
system("iptables -t nat -D POSTROUTING -o "$7" "src"
}'


vi /usr/local/sbin/post-boot

#!/bin/sh
dropbear > /dev/null 2>&1

ABATAPA
14-11-2009, 22:58
Вот все что есть. Настраивал по Durak. Становиться умным я не хочу. Я хочу просто ввести команды и больше никогда не вспоминать о "китайцах", но в тоже время иметь возможность подключаться по ssh. Помогите мне пожалуйста.


Чуть выше все написано. Разве Вы какой-то особенный?

nazargulov
15-11-2009, 06:33
Вы в стартовых скриптах-то строки сохранили?
Думаю, что нет.

Я не знаю, что такое стартовые скрипты. После тех команд, я написал еще и "flashfs save && flashfs commit && flashfs enable && reboot". Вводил я все через Telnet, т.к. через ssh отрубался после ввода первой команды.


Чуть выше все написано. Разве Вы какой-то особенный?

Что написано? Вот это:

iptables -I INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 22 -j DROP

не работает. Китайцы до сих пор сидят в логах.

Azur4
15-11-2009, 08:10
Народ вы чего то вообще глубоко погрузились в *nix, что не может не радовать :-)
Но есть же настройки через веб-морду:
System Setup - Services - Enable SSH Server: (Yes, LAN Only)
Указанная настройка сделает то же что и Вы своими скриптами, но более проще и правильнее, и не будет споров о том что должно быть -A или -I и в каком порядке...

ABATAPA
15-11-2009, 10:46
System Setup - Services - Enable SSH Server: (Yes, LAN Only)


Вы думаете, никто, кроме Вас, этого не знает?
Не все сидят только в домашней "песочнице". Многим нужен доступ к роутеру и снаружи.

al37919
15-11-2009, 11:15
автор темы, который настойчиво ее поднимает, указывает:

Мне ssh нужен только локально. Подскажите пожалуйста, как я могу запретить любые подключения к ssh из интернета?
Таким образом, указанное решение является оптимальным. Однако, у автора в приведенном выводе iptables открыто вообще все. Либо ему придется найти в каком из скриптов выполняется следующая комманда:

iptables -D INPUT -j DROP
Учитывая его квалификацию, возможно будет проще настроить все по новой с начала. Возможно, сменить инструкцию на менее глючную, например, эту: http://vectormm.net/asus_install.html или эту: http://wl500g.info/showthread.php?t=10307

theMIROn
15-11-2009, 11:53
Вы думаете, никто, кроме Вас, этого не знает?
Не все сидят только в домашней "песочнице". Многим нужен доступ к роутеру и снаружи.
так, Yes в том параметре даст доступ и из-вне с соответствующими правилами iptables

ABATAPA
15-11-2009, 12:38
так, Yes в том параметре даст доступ и из-вне с соответствующими правилами iptables

Проще привести для 'copy-and-paste", чем объяснять, куда идти в меню, и что, как и почему там настраивать. Посмотрите - сколько одинаковых по сути вопросов в форуме.

ceramic
15-11-2009, 13:11
Я не знаю, что такое стартовые скрипты.

Становиться умным я не хочу.
Не хотите -- не надо.
Зачем вообще сюда писать тогда?
Еще в третьем посте дали единственно правильный ответ:

по умолчанию доступ из локалки разрешен, снаружи запрещен. Так что нужно найти где вы разрешили доступ по ssh снаружи и убрать эту строку. Могу предположить, что в первую очередь надо смотреть post-firewall или post-boot

vectorm
16-11-2009, 17:07
Предлагаю закрыть тему - автор разбираться в своих проблемах не хочет, а тут уже непойми что развелось ...

nazargulov
17-11-2009, 21:55
System Setup - Services - Enable SSH Server: (Yes, LAN Only)
Нет такого.


Однако, у автора в приведенном выводе iptables открыто вообще все.
У меня все настроено по Durak с нуля вплоть до момента подключения флэшки. Единственное, что меня отличает от других - отключенный firewall.

По поводу скриптов:

vi /usr/local/sbin/pre-boot

#!/bin/sh
TZ="MSK-3MSD,M3.5.0/2,M10.5.0/3"
[ "$TZ" != "$(nvram get time_zone)" ] && nvram set time_zone="$TZ"
echo "$TZ" > /etc/TZ

vi /usr/local/sbin/post-boot


#!/bin/sh
dropbear > /dev/null 2>&1

vi /usr/local/sbin/post-firewall

#!/bin/sh
iptables -t nat -nvL POSTROUTING | grep MASQUERADE | awk '{
"ifconfig "$7" | grep Mask" | getline ip;
split(ip,ip,":"); split(ip[2],ip," ");
split($8,src,"!");
if (src[1]=="") {src="! -s "src[2]} else {src="-s "src[1]};
if ($9=="0.0.0.0/0") {dst=""} else {dst="-d "$9};
system("iptables -t nat -A POSTROUTING -o "$7" "src" "ds
system("iptables -t nat -D POSTROUTING -o "$7" "src"
}'

Где еще можно посмотреть?


Предлагаю закрыть тему - автор разбираться в своих проблемах не хочет, а тут уже непойми что развелось ...
Если бы я не хотел разбираться в своих проблемах - я бы не поднимал эту тему вновь и вновь. А "не пойми что" тут развелось потому что кто-то вместо того, чтобы писать по делу, пишут по мере своих амбиций.


Еще в третьем посте дали единственно правильный ответ:
Который не работает. Я это пишу уже третий раз. Вы глупый или читаете через строчку?

Power
17-11-2009, 22:13
Единственное, что меня отличает от других - отключенный firewall.

Вы имеете в виду, что сами отключили фаерволл в веб-морде?

ceramic
18-11-2009, 02:24
Вы глупый или читаете через строчку?
Получается, что не я:

Единственное, что меня отличает от других - отключенный firewall.
Что, по видимому, топикстартера вполне устраивает:

Становиться умным я не хочу.

vectorm
18-11-2009, 08:25
Hезюмирую:
При выключенном файерволле, и пустом post-firewall (то, что там сейчас - это невесть откуда взявшаяся в той инструкции фигня, автору дааавно предлагали ее убрать, дабы пользователей не смущать), Ваш роутер доступен извне ПОЛНОСТЬЮ!!!!
Так что вся полемика, разведенная здеть - бессмысленна.
Включите firewall в веб морде, и все станет проще.

nazargulov
19-11-2009, 00:29
Вы имеете в виду, что сами отключили фаерволл в веб-морде?
Да.


Включите firewall в веб морде, и все станет проще.
Это не вариант. Есть ли возможность решить проблему иначе?

ceramic
19-11-2009, 01:22
Включите firewall в веб морде, и все станет проще.
Это не вариант. Есть ли возможность решить проблему иначе?

Строго говоря -- нет. Это противоречит исходной задаче:

Подскажите пожалуйста, как я могу запретить любые подключения к ssh из интернета?
Учите базовые определения: http://ru.wikipedia.org/wiki/Firewall.

Не важно где будут настроены требуемые ограничения (в web-морде, post-firewall, post-boot,...).
В любом случае, всё это и будет firewall.

ABATAPA
19-11-2009, 11:38
Да.
Это не вариант. Есть ли возможность решить проблему иначе?

"Возможность решить проблему иначе" я описывал выше.
Добавьте указанные строки в post-firewall.

Omega
19-11-2009, 19:58
Вот все что есть. Настраивал по Durak. Становиться умным я не хочу.
Я хочу просто ввести команды и больше никогда не вспоминать о "китайцах",
но в тоже время иметь возможность подключаться по ssh.Помогите мне пожалуйста.
LOL :) Н-да, жаль, что закрыли эту полезную тему ... :(
Теперь они все разбегутся по всему форуму ... :D

З.Ы. Аффтар, похоже, даже не читает ответы на свои вопросы -
может это просто чей-то слишком "умный" бот ? :cool:

MooH
15-12-2009, 08:28
Спасибо всем за информацию в этой ветке!
Прокопал туннель с работы на роутер WL-500W. Теперь могу с работы ходить куда угодно в обход запретов.
Теперь следующая задача. Коллега просит попользоваться моим роутером с той же целью. Сделал пользователя tunnel для этих целей.
Прав у него конечно мало, но просматривать файлы может.
Как ограничить ему права так, чтобы он не мог ничего делать кроме как использовать туннель? В линухе я начинающий пользователь.

kr1sed
17-12-2009, 07:04
Dropbear — авторизация по ключам (на примере Asus wl-500gp-v1)

Основная причина по которой я решил настроить доступ к консоли ssh сервера dropbear - это постоянный брут моего сервера
(боты не дают покоя). Как только в логах прочно закрепился один IP из германии, который тщетно пытался подобрать пароль
к моему роутеру в течении двух суток, терпению пришел конец и я решил выделить время и прекратить этот беспредел.

На ум пришло два выхода:

1. Хитро настроить Iptables, с безжалостным баном всех надоедливых «китайцев».
2. Доступ по ключам. Я выбрал второе — удобство купе с безопасностью.

Итак начнем. Нам понадобится роутер Asus wl 500gp с альтернативной прошивкой на борту (я использую прошивку «Олега»), сам dropbear,
клиент putty, утилита для генерации ключей Puttygen, клиент winscp, пожалуй все, да и забыл — прямые руки и холодный рассудок :)

Подключаемся через Putty и создаем каталог с файлом публичного ключа для авторизации.


# mkdir /tmp/local/root/.ssh
# touch /tmp/local/root/.ssh/authorized_keys
# mcedit /tmp/local/root/.ssh/authorized_keys
С помощью Puttygen генерируем публичный и приватный ключи, публичный с помощью copy-paste вставляем
в файл авторизованных ключей authorized_keys. Применяем настройки и перезагружаем роутер.


# flashfs save && flashfs commit && flashfs enable && reboot
Теперь пробуем залогиниться с помощью приватного ключа. Настройки производим в клиенте Putty.

-Session:

Открывем Putty, во вкладке sessions указываем адрес сервера — IP или DNS имя.

-Connection → Data:

В поле «Login details» «Auto-login username» указываем наш логин под которым мы будем соединятся (admin,root, etc)

-Connection → SSH → Auth

Открываем файл с нашим приватным ключом для авторизации.

-Session

Вписываем имя нашей сессии и сохраняем (save).

Пробуем соединиться, если все прошло успешно, вводим парольную фразу, если указывали при генерации
приватного ключа (рекомендую задать) либо автоматически подключаемся, если парольную фразу не задавали.

Теперь нужно изменить права доступа к файлу с публичным ключом и запретить
серверу dropbear принимать соединения по логину и паролю.


# mcedit /usr/local/sbin/post-boot
Задаем параметр -s для отключения регистрации по логину и паролю:


dropbear -s -p 22
Изменяем права к файлу и папке:


# chmod 0700 /tmp/local/root/.ssh
# chmod 0600 /tmp/local/root/.ssh/authorized_keys
Применяем настройки и перезагружаемся:


# flashfs save && flashfs commit && flashfs enable && reboot
http://bruteforcer.ru/index.php/2009/10/06/dropbear-avtorizaciya-po-klyucham-na-primere-asus-wl-500gp-v1/ ;)

mitnick
09-03-2010, 11:16
dropbear в WL500gpv2-1.9.2.7-d-r1222.trx

авторизацию по ключу как ссхсервер умеет, как клиент (на внешний SSH сервер, или на самого же себя) - нет (по паролю все ОК).
это баг\фича, или я не нашел куда ему клиентский ключ всунуть?
с внешней SSH все ОК

Corvus
07-04-2010, 13:30
dropbear в WL500gpv2-1.9.2.7-d-r1222.trx

авторизацию по ключу как ссхсервер умеет, как клиент (на внешний SSH сервер, или на самого же себя) - нет (по паролю все ОК).
это баг\фича, или я не нашел куда ему клиентский ключ всунуть?
с внешней SSH все ОК

Похоже, даже не баг. Dropber легковесный ssh server/client и он, скорее всего, этого просто не умеет. У меня тоже не получилось.

Решение радикальное - сносить dropber, ставить openssh. :)

mitnick
07-04-2010, 15:14
dropbear таки умеет авторизацию по ССХ )
проблема была в формате ключа
решение - dropbearconvert

wewerty
13-04-2010, 09:50
puttygen умеет подходящие ключи генерировать. На форуме уже обсуждалось. Public ключ (можно прямо из специального окошка скопировать) складывается в папку .ssh файл authorized_keys в домашней директории пользователя. У меня разрешения были на файлы неправильно сначала выставлены - смотреть в syslog.

nvsport
21-04-2010, 18:02
Вхожу через ssh пишу команду ps,она мне выводит кучу процессов запкщенных и среди них два dropbear?Подскажите в чем может быть дела в post-boot прописана только одна строчка dropbear > /dev/null 2>&1,или может так и должно быть??

al37919
21-04-2010, 20:31
в системе должен быть один материнский процесс dropbear и по одному процессу на каждый логин, осущетсвленный в систему по ssh, плюс некорректно разорванные сессии могут еще довольно долго висеть в списке процессов. Так что проблемы здесь нет.

nvsport
22-04-2010, 09:31
Спасибо большое,что разъяснили,что к чему!Еще у меня файрволл отваливатеся через некоторое время,не понятно почему, перегружаю девайс, коннектюсь под разрешенным айпи-коннектится, пробую не под разрешенным-не коннтектится все хорошо,но проходит минут 10 начинает и коннектится не с разрешенных айпи, poost-firewall сконфигурирован как в этом топике...как раз вы его автор:) http://wl500g.info/showpost.php?p=69964&postcount=63,заранее спасибо за ответ,извините что тема не в тему топика......

nvsport
27-04-2010, 16:35
Помогите новичку, post-firewall содержит все строки данного топика http://wl500g.info/showpost.php?p=69...unt=63 , при перегрузке девайся все работает какое то время,потом вдруг начинает пускать со всех ip!!!Помогите люди добрые!

TReX
28-04-2010, 00:51
Помогите новичку, post-firewall содержит все строки данного топика http://wl500g.info/showpost.php?p=69...unt=63 , при перегрузке девайся все работает какое то время,потом вдруг начинает пускать со всех ip!!!Помогите люди добрые!

Уже давно все включенно в прошивку ничего прописывать в фаирвол ненадо, только включить в вебморде

nvsport
28-04-2010, 06:16
Т.е в моей прошивке 1.9.2.7-10,надо только в веб-морде квлючить фаер и все будет работать как часики?а как быть с разрешенными ip??где и как лежит этот список,чтоб я его отредактировал

TReX
28-04-2010, 11:32
Т.е в моей прошивке 1.9.2.7-10,надо только в веб-морде квлючить фаер и все будет работать как часики?а как быть с разрешенными ip??где и как лежит этот список,чтоб я его отредактировал

Имелся ввиду - Internet Firewall/Enable Brute Force Protection for SSH Server

Если считаете что нестандартного порта+ssh недостаточно, то править фаер конечно ))

nvsport
29-04-2010, 16:06
Имелся ввиду - Internet Firewall/Enable Brute Force Protection for SSH Server

Если считаете что нестандартного порта+ssh недостаточно, то править фаер конечно ))

Нет у меня такого Enable в веб морде!Если я применяю post-firewall то стандартный фаеролл в веб морде надо отключить?К сожалению девайс находится далеко и все эксперименты с фаерволом могут окончится очень печально...........подскажите пожалуйста как сделать?

TReX
29-04-2010, 20:13
Нет у меня такого Enable в веб морде!Если я применяю post-firewall то стандартный фаеролл в веб морде надо отключить?К сожалению девайс находится далеко и все эксперименты с фаерволом могут окончится очень печально...........подскажите пожалуйста как сделать?

) Так надо билд прошивки указывать, в послениех 500-600 билдах уже есть такая фича

Power
29-04-2010, 23:22
) Так надо билд прошивки указывать, в послениех 500-600 билдах уже есть такая фича

Он же написал, что у него 1.9.2.7-10, она не от энтузиастов.

TReX
30-04-2010, 00:32
Он же написал, что у него 1.9.2.7-10, она не от энтузиастов.

)) Да успел уже и забыть что такое бывает

Power
30-04-2010, 16:11
Помогите новичку, post-firewall содержит все строки данного топика http://wl500g.info/showpost.php?p=69964&postcount=63, при перезагрузке девайса всё работает какое-то время, потом вдруг начинает пускать со всех IP! Помогите люди добрые!

Покажите вывод команд


lsmod
cat /usr/local/etc/ssh.allow
cat /usr/local/etc/ssh.deny

А также вывод команды


iptables-save

после загрузки (когда пускает только с разрешённых) и после того, как начинает пускать всех.
И приведите пример "разрешённого" и "не разрешённого" адресов.

И кстати, 2 замечания:
1) если вам нужно, чтобы на ssh пускало только с разрешённых IP, то этот способ не для вас. Его предназаначение - пускать с разрешённых, не пускать с запрещённых (явно заданных) и пускать не очень часто со всех остальных;
2) этот способ не является оптимальным (имеет потенциал по улучшению).

nvsport
03-05-2010, 16:51
прикрепленые текстовые файлы с цифрой 1 когда пускает только с разрешенных, 2 со всех ip
команда cat ssh.allow


192.168.1.2
10.8.0.2

ssh.deny пустой.... если я туда пропишу 0.0.0.0?он тогда меня вообще не пустит ни с какого ip?Или мне вообще надо другой вариант использовать,мне надо чтоб пскал только с разрешенных по к ssh....как сделать подскажите?

Power
03-05-2010, 22:00
прикрепленые текстовые файлы с цифрой 1 когда пускает только с разрешенных, 2 со всех ip
команда cat ssh.allow


192.168.1.2
10.8.0.2

ssh.deny пустой.... если я туда пропишу 0.0.0.0?он тогда меня вообще не пустит ни с какого ip?Или мне вообще надо другой вариант использовать,мне надо чтоб пскал только с разрешенных по к ssh....как сделать подскажите?

Если вам нужно, чтоб пускал только с разрешённых адресов (ssh.allow), то вам надо изменить тот текст (http://wl500g.info/showpost.php?p=69964&postcount=63) примерно на такой:


#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:usr/bin:/opt/sbin:/opt/bin:/opt/local/bin

logger "post-firewall started"

#this rule can be uncommented for the testing period
#iptables -A INPUT -p tcp --syn --dport 2222 -j ACCEPT

# set default policy
iptables -P INPUT DROP

# remove last default rule
iptables -D INPUT -j DROP

# ***ssh subsection begin***
SSH_PORT=22
SSH_ALLOW=/usr/local/etc/ssh.allow

# Create a new SSH_EVAL chain which will evaluate incoming connections to ssh server from WAN
iptables -N SSH_EVAL

# Transfer all ssh connections to the SSH_EVAL chain
iptables -A INPUT -p tcp -m tcp --dport $SSH_PORT --syn -j SSH_EVAL

# Evaluate incoming ssh connections through ssh.allow list
for i in `awk '{print $1}' $SSH_ALLOW`
do
iptables -A SSH_EVAL -s $i -j ACCEPT
done

# Block the rest of ssh connections
iptables -A SSH_EVAL -j DROP
# ***ssh subsection end***

...

Остальные правила post-firewall

nvsport
04-05-2010, 14:55
Спасибо большое за вариант!:)Усе рабоатает,еще один вопросик эта строка
#iptables -A INPUT -p tcp --syn --dport 2222 -j ACCEPT
если её разкомментировать, то я так понимаю через 2222 единицы времени только вот какой?у меня все правила сбросятся на дефолтные,так?

Power
04-05-2010, 19:34
еще один вопросик эта строка
#iptables -A INPUT -p tcp --syn --dport 2222 -j ACCEPT
если её разкомментировать, то я так понимаю через 2222 единицы времени только вот какой?у меня все правила сбросятся на дефолтные,так?

Нет. Если её раскомментировать, то всем подряд откроется доступ на 2222 порт роутера (полагаю, задумка оригинального автора в том, чтобы повесить на этот порт демон ssh на время эксперимента).

m0nty
04-05-2010, 22:04
А я просто ограничил количество попыток


iptables -t nat -I PREROUTING -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --set --name SSH_ATTACKER --rsource
iptables -I INPUT -i $WAN -p tcp -m state --state NEW --dport 22 \
-m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP


Для внешке использую авторизацию по ключу, сам ключ зашифрован, а порт далеко сдвинут от стандартного.
Для локальки все куда проще - работает обычный телнет.

pux
01-07-2010, 12:26
(...) использую встроенный ssh (dropbear) (...) Мне необходимо, чтобы dropbear запускался с ключом "-a". Где можно это задать?

Лично меня раздражает одна тема-чат в 300 страниц "про прошивку в целом". Пишу в наиболее подходящую. Пишу частично по памяти, так что могу где-то промахнуться.

Все нижесказанное относится к прошивке DIR320-1.9.2.7-d-r1555M, но вряд ли сильно отличается в версиях для Asus.

В прошивках "от Олега" и "от энтузиастов" использован сервер DropBear ( http://matt.ucc.asn.au/dropbear/dropbear.html ).

Авторизация только по ключу:
Обратите внимание, что, хотя в веб-интерфейсе имя юникс-пользователя можно изменить (по умолчанию admin), путь к его домашнему каталогу всегда останется /tmp/local/root.

Вначале в веб-интерфейсе SSH-сервер должен быть включен.

Логинимся по SSH в роутер, там создаем каталог и файл под наш публичный ключ:

mkdir /tmp/local/root/.ssh
touch /tmp/local/root/.ssh/authorized_keys

Отдельной командой с локальной машины закидывем содержимое нашего публичного ключа id_dsa.pub на роутер.

cat ~/.ssh/id_dsa.pub | ssh <root@router> 'cat - >> /tmp/local/root/.ssh/authorized_keys'

В последующем мы отключим SSH-сервер в веб-интерфейсе, с тем, чтобы запускать dropbear с нашим набором параметров. Для этого создаем файл, который при загрузке роутера запустит SSH-сервер с авторизацией только по ключу, только на IPv4, без motd.

echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo "dropbear -m -s -4" >> /usr/local/sbin/post-boot


"Технологическое отверстие" в фаерволе также не будет создаваться автоматически. Придется сделать его сами:

echo "#!/bin/sh" > /usr/local/sbin/post-firewall
echo "iptables -I INPUT -p tcp --dport 22 -j ACCEPT" >> /usr/local/sbin/post-firewall
chmod 0755 /usr/local/sbin/post-*


Сохраняем настройки во флэш-память роутера.

flashfs save && flashfs commit && flashfs enable

Отключаем в веб-интерфейсе SSH-сервер, перегружаем роутер, проверяем.

Важный момент: напрямую это нигде не сказано, но у меня не заработали ключи длиннее 1024 бит.

Ручная перегенерация ключей сервера:

dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key


Другие полезные топики на тему SSH:
micro-howto: Подключение к роутеру через putty и far (http://wl500g.info/showthread.php?t=12357)
Использование ssh-тунелей для безопасного доступа к ресурсам LAN (SOCKS-proxy) (http://wl500g.info/showthread.php?t=12833)
Dropbear SSH server with key authentication (http://wl500g.info/showthread.php?t=2501)

Gaku
16-07-2010, 07:54
Задача: сделать учётные записи, под которыми можно будет логиниться по ssh, но нельзя будет выполнять команды (но можно будет пользоваться интернетом).

1. Редактирую файл /etc/group
inetusr:x:1:inetusr
2. Редактирую файл /etc/passwd
inetusr:qweqweqwe:1:1:inetusr:/usr/local/inetusr:/usr/local/nosh
3. Запускаю passwd inetusr и прописываю пароль.
3.1. Проверяю, что в /etc/passwd обновился хеш.
4. Создаю nosh-файл как указано в
http://www.murga-linux.com/puppy/viewtopic.php?t=17088 в посте Bruce B
5. Создаю домашний каталог для inetusr

Вопросы:
6. Далее надо сделать чтобы при загрузке автоматом добавлялась группа и пользователь (http://wl500g.info/showpost.php?p=87837&postcount=2)?
7. При попытке логина inetusr (без перезагрузки) выдаётся Access Denied.

Подскажите пожалуйста в чём могут быть грабли?

pdv-rt-n16
05-08-2010, 03:52
Прошу сильно не пинать. Есть возможность - пошлите.
На RT-N16 стоит джентельменский набор. В т.ч. ДЛ-энжин. Работает классно. Но... в задании тройка фильмов в HD качестве - каждый по 150...200 частей (с рапиды) т.е. качать будет ни одни сутки. А между делом надо ещё что-то качнуть (помельче). Что можно использовать как альтернативу (а точнее в параллель) к ДЛ-эндж.
ADOS зараза так и не пошёл!!!

getikalex
05-08-2010, 20:16
если срочно надо и если есть прямая ссылка - просто в фоновом режиме запускаю wget

wget -b -P /путь куда кидаю -o /путьлогфайла/имялогфайда --limit-rate=100k -c httpссылка
причем таких можно в фон накидать хоть десяток. только имена логфайлов - дать разные. Будут все сразу качать, и не мешать друг другу

pdv-rt-n16
06-08-2010, 03:49
если срочно надо и если есть прямая ссылка - просто в фоновом режиме запускаю wget

wget -b -P /путь куда кидаю -o /путьлогфайла/имялогфайда --limit-rate=100k -c httpссылка
причем таких можно в фон накидать хоть десяток. только имена логфайлов - дать разные. Будут все сразу качать, и не мешать друг другу

Спасибо за ответ. Только я новичек в этом деле. Поподробнее плизз.
wget запускать на роутере? Как? Через Putty или через командную строку в вебморде роутера или на компе (не хотелось бы)?? путь куда кидаю полный? т.е. /tmp/harddisk/.../... соответственно путь логфайла тоже полный? А сам логфайл надо создать или он сам создастся? Что такое: limit-rate=100k.
Да и ещё. Это можно делать только из дома или можно удаленно через инет?? (это важно)

Parkinstein
06-08-2010, 07:20
Спасибо за ответ. Только я новичек в этом деле. Поподробнее плизз.
wget запускать на роутере? Как? Через Putty или через командную строку в вебморде роутера или на компе (не хотелось бы)?? путь куда кидаю полный? т.е. /tmp/harddisk/.../... соответственно путь логфайла тоже полный? А сам логфайл надо создать или он сам создастся? Что такое: limit-rate=100k.
Да и ещё. Это можно делать только из дома или можно удаленно через инет?? (это важно)

Через Putty, несомненно, лучше
Пути должны быть полными
Файл создастся сам
limit rate - ограничение скорости в 100 кб\с
Через инет можно, так же через Putty (DDNS или по IP)

pdv-rt-n16
06-08-2010, 10:19
Через Putty, несомненно, лучше
Пути должны быть полными
Файл создастся сам
limit rate - ограничение скорости в 100 кб\с
Через инет можно, так же через Putty (DDNS или по IP)

замечательно работает из дома, т.е. с внутренней сетки с использованием Putty. А из внешки не получается зайти. Гдето чтото не так настраиваю. А что? я не знаю.

Parkinstein
06-08-2010, 10:39
замечательно работает из дома, т.е. с внутренней сетки с использованием Putty. А из внешки не получается зайти. Гдето чтото не так настраиваю. А что? я не знаю.

Ну и я не знаю... в связи с жарой и задымленностью, телепатические способности несколько притупились... IP внешний серый или белый?. DDNS поднимается? SSH поднят?

pdv-rt-n16
06-08-2010, 10:52
Ну и я не знаю... в связи с жарой и задымленностью, телепатические способности несколько притупились... IP внешний серый или белый?. DDNS поднимается? SSH поднят?

к телепатии не призываю - сам туплю.
Из заданных вопросов, честно, понял только про IP. IP белый это точно. DDNS - только что обнаружил такие буквы в вебморде роутера. Создал акаунт на сервере DynDNS.com. А что с этим дальше делать не знаю. Языки в школе учил плохо да и годы уже не молодые.
А про буквы SSH вобще не понял - где это искать.

Parkinstein
06-08-2010, 11:04
к телепатии не призываю - сам туплю.
Из заданных вопросов, честно, понял только про IP. IP белый это точно. DDNS - только что обнаружил такие буквы в вебморде роутера. Создал акаунт на сервере DynDNS.com. А что с этим дальше делать не знаю. Языки в школе учил плохо да и годы уже не молодые.
А про буквы SSH вобще не понял - где это искать.

Если "Джентельменский набор" отсюда (http://www.wl500g.info/showthread.php?t=21889), то SSH поднят, помимо аккаунта на DynDNS надо создать доменное имя (инструкции в интернете есть, я уверен, в том числе и на русском), далее вписать логин, пароль, доменное имя в настройки роутера, перезагрузить и пользоваться Putty... вместо IP вбивая доменное имя, полученное у DynDNS, порт 22... Вот как-то эдак... можно и внешнему IP стучаться на SSH... проверить в вебморде -
System Setup---Services---Enable SSH Server - Yes --- port-22

pdv-rt-n16
09-08-2010, 04:47
Если "Джентельменский набор" отсюда (http://www.wl500g.info/showthread.php?t=21889), то SSH поднят, помимо аккаунта на DynDNS надо создать доменное имя (инструкции в интернете есть, я уверен, в том числе и на русском), далее вписать логин, пароль, доменное имя в настройки роутера, перезагрузить и пользоваться Putty... вместо IP вбивая доменное имя, полученное у DynDNS, порт 22... Вот как-то эдак... можно и внешнему IP стучаться на SSH... проверить в вебморде -
System Setup---Services---Enable SSH Server - Yes --- port-22

что то с DynDNS у меня ничего не получилось...... да и ладно.
SSH включил порт 22 в Патти ставлю IP адрес порт 22 коннект по SSH - вылетает по тайм ауту без коннекта. Есть подозрение что порт 22 закрыт в корпоративной сети (на работе) откуда веду эксперименты. А можно назначить другой порт? что нибудь между 8000 и 8999?

Parkinstein
09-08-2010, 05:16
что то с DynDNS у меня ничего не получилось...... да и ладно.
SSH включил порт 22 в Патти ставлю IP адрес порт 22 коннект по SSH - вылетает по тайм ауту без коннекта. Есть подозрение что порт 22 закрыт в корпоративной сети (на работе) откуда веду эксперименты. А можно назначить другой порт? что нибудь между 8000 и 8999?

порт назначается ВХОДЯЩИЙ на роутере... На работе у Вас, видимо, закрыт протокол, как таковой... Некоторые команды можно передавать роутеру через страницу вебморды http://адрес_роутера/Main_AdmStatus_Content.asp
пишете в строке System command, к примеру:
wget -P /tmp/harddisk/downloads -c http://mirror.yandex.ru/ubuntu-releases/10.04/ubuntu-10.04-desktop-i386.iso
и забираете файл в папке /tmp/harddisk/downloads
Я тут взглянул, с чего сыр-бор начался... а что, простите, мешает использовать торренты?
Опять же.... кинуть в телнет wget со ссылкой можно и с любого, практически, смартфона..

pdv-rt-n16
09-08-2010, 11:04
пишете в строке System command, к примеру:
wget -P /tmp/harddisk/downloads -c http://mirror.yandex.ru/ubuntu-releases/10.04/ubuntu-10.04-desktop-i386.iso
и забираете файл в папке /tmp/harddisk/downloads
Я тут взглянул, с чего сыр-бор начался... а что, простите, мешает использовать торренты?
Опять же.... кинуть в телнет wget со ссылкой можно и с любого, практически, смартфона..

люкс! через системную команду ВСЁ заработало!! Спасибо!
А вот про торренты.... Я качаю торренты и неплохо. А как через прогу Р-Торрент качнуть ПРЯМУЮ ссылку??

Parkinstein
09-08-2010, 11:08
люкс! через системную команду ВСЁ заработало!! Спасибо!
А вот про торренты.... Я качаю торренты и неплохо. А как через прогу Р-Торрент качнуть ПРЯМУЮ ссылку??

прямую - никак

Basile
09-08-2010, 18:26
прямую - никакну, почемуже. Если трекер не использует авторизацию, можно в папку dl rtorrent скачать торрент (в конфиге rtorrent должна быть включена соответствующая фича):

wget -O/tmp/harddisk/torrent/dl/12947.torrent -c http://freetorrents.org.ua/engine/download.php?id=12947;)

Parkinstein
09-08-2010, 20:19
ну, почемуже. Если трекер не использует авторизацию, можно в папку dl rtorrent скачать торрент (в конфиге rtorrent должна быть включена соответствующая фича):

wget -O_/tmp/harddisk/torrent/dl/12947.torrent -c http://freetorrents.org.ua/engine/download.php?id=12947;)

Насколько я понял, под прямой ссылкой подразумевалось что-то типа
http://mirror.yandex.ru/ubuntu-releases/10.04/ubuntu-10.04-desktop-i386.iso
вот... :o

olegpronin
29-08-2010, 10:28
Это всё работает прекрасно, я знаю.

А как сделать, чтобы роутер мог подконнектиться сам к другому серверу без пароля по ssh?

Просто надо снимать бэкапы, я раньше прекрасно таким способов настраивал на сервере, а как в роутер загнать auth_keys я не могу понять.

Естественно с сервера попробовал скинуть auth_keys, не работает.

помогите пожалуйста!

dfayruzov
02-09-2010, 10:29
Только что все настроил.
По шагам:
1. Генерируем ключ:

dropbearkey -t rsa -f comp_private_key
Will output 1024 bit rsa secret key to 'comp_private_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCwd+5u8xmqOJM0V11e+h AAg0jGnQKp0I00lKi99WqTKB6qjocmPk1F+m4kpIuKpwO2xOhH zUMo8Zf7K+a/IXGNpQjN2/QSkEUFY1c7zigRd0bWUdUlK9eZ7Z3Vh0zH3U+mu/YW6o27BL+0YM2V9ePC8whinsV27AvmdI8njGUC9pcj dfayruzov@rt-n16
Fingerprint: md5 2c:bb:28:06:00:02:25:7a:49:85:89:d9:5d:4c:bd:a6


2. Используя vi или nano, копируем открытую часть ключа в ~/.ssh/authorized_keys на компе (выделена жирным выше).

3. Подключаемся с роутера на комп.

ssh -i comp_private_key -l username comp

olegpronin
07-09-2010, 10:48
спасибо большое, и у меня теперь работает.. уф.

igor77777
30-09-2010, 09:27
А как сделать чтобы при входе по ключу не просил вводить "passphrase"?

PS: Пытаюсь настроить вход в putty без ввода паролей и т.п.

pux
30-09-2010, 09:51
Либо читай про puttyGen и снимай пароль с секретного ключа, либо (лучше) читай про pageant и вводи пароль для ключа один раз при логине на клиентскую машину.

igor77777
30-09-2010, 10:09
Либо читай про puttyGen и снимай пароль с секретного ключа, либо (лучше) читай про pageant и вводи пароль для ключа один раз при логине на клиентскую машину.
Спасибо.
Просвятился.
Решил оставить ввод passphrase. В моем случае - это нормально.

igor77777
01-10-2010, 06:13
А теперь такой вопрос.
Сделал вход для обычных пользователей по ключу с вводом passphrase.

Как ограничить количество попыток ввода passphrase?

tolyan.com
01-10-2010, 22:32
Привет всем!
Два или три года стояла прошивка от Олега, последняя версия... Вчера зашил от энтузиастов, и сделал установку программ для чайников (http://wl500g.info/showthread.php?t=21889) (поставил два медиацентра, Transmission, фотоальбом и просмотр статистики)
Вот кртакая выдержка из логов:


02:18:46 02-10-2010 (warning|authpriv|dropbear) dropbear[5092]: login attempt for nonexistent user from 122.227.186.178:14005
02:18:47 02-10-2010 (info|authpriv|dropbear) dropbear[5092]: exit before auth: Disconnect received
02:18:51 02-10-2010 (warning|authpriv|dropbear) dropbear[5093]: login attempt for nonexistent user from 122.227.186.178:15445
02:18:52 02-10-2010 (info|authpriv|dropbear) dropbear[5093]: exit before auth: Disconnect received
02:18:56 02-10-2010 (warning|authpriv|dropbear) dropbear[5094]: login attempt for nonexistent user from 122.227.186.178:18319
02:18:57 02-10-2010 (info|authpriv|dropbear) dropbear[5094]: exit before auth: Disconnect received

Что характерно, при реконнекте pppoe роутер получает новый айпишник, и в течение коротого времени снова начинаются попытки зайти по SSH
Каким образом злодеи узнают мой новый айпи? Может с установкой софта для ленивых встало что-то нехорошее?
Каким образом отключить SSH и вебморду роутера, торрентов и всего прочего для внешки?

В общем, буду благодарен за полезную инфу, рекомендации и ссылки

TReX
01-10-2010, 23:01
Привет всем!
Два или три года стояла прошивка от Олега, последняя версия... Вчера зашил от энтузиастов, и сделал установку программ для чайников (http://wl500g.info/showthread.php?t=21889) (поставил два медиацентра, Transmission, фотоальбом и просмотр статистики)
Вот кртакая выдержка из логов:


02:18:46 02-10-2010 (warning|authpriv|dropbear) dropbear[5092]: login attempt for nonexistent user from 122.227.186.178:14005
02:18:47 02-10-2010 (info|authpriv|dropbear) dropbear[5092]: exit before auth: Disconnect received
02:18:51 02-10-2010 (warning|authpriv|dropbear) dropbear[5093]: login attempt for nonexistent user from 122.227.186.178:15445
02:18:52 02-10-2010 (info|authpriv|dropbear) dropbear[5093]: exit before auth: Disconnect received
02:18:56 02-10-2010 (warning|authpriv|dropbear) dropbear[5094]: login attempt for nonexistent user from 122.227.186.178:18319
02:18:57 02-10-2010 (info|authpriv|dropbear) dropbear[5094]: exit before auth: Disconnect received

Что характерно, при реконнекте pppoe роутер получает новый айпишник, и в течение коротого времени снова начинаются попытки зайти по SSH
Каким образом злодеи узнают мой новый айпи? Может с установкой софта для ленивых встало что-то нехорошее?
Каким образом отключить SSH и вебморду роутера, торрентов и всего прочего для внешки?

В общем, буду благодарен за полезную инфу, рекомендации и ссылки

Поменяйте номер порта на нестандартный желательно выше 7000, например 7022

tolyan.com
01-10-2010, 23:58
Спасибо, но я в вебморде сделал SSH только для LAN, это помогло. Сейчас ищу, как сделать недоступными с наружи все lighttpd приложения. Но, имхо, это лирика. Самое интересное тут: почему на старой прошивке, где стоял только rTorrent и был открыт доступ по SSH с наружи такого небыло.
Такое ощущение, что какая-то софтинка из установленного комплекта куда-то ломится, и говорит: я тут! А там злодеи смотрят где эта софтинка стоит и пытаются проникнуть...

TReX
02-10-2010, 01:05
Спасибо, но я в вебморде сделал SSH только для LAN, это помогло. Сейчас ищу, как сделать недоступными с наружи все lighttpd приложения. Но, имхо, это лирика. Самое интересное тут: почему на старой прошивке, где стоял только rTorrent и был открыт доступ по SSH с наружи такого небыло.
Такое ощущение, что какая-то софтинка из установленного комплекта куда-то ломится, и говорит: я тут! А там злодеи смотрят где эта софтинка стоит и пытаются проникнуть...

Потому что теперь это в логи пишется ) И после трех попыток подбора, адрес блокируется )

al37919
02-10-2010, 10:56
если настойчиво брутят с одного и того же IP, то его можно прописать в файл /usr/local/etc/ssh.deny Блокировать можно как отдельные IP, так и подсети в следующем виде:

1.2.3.0/24
5.6.7.8

возможно проблема на на роутере, а на ПК за роутером --- скажем троян какой порылся...

можно попробовать половить обмен с данным IP с помощью tcpdump, либо добавить в файрвол правило, которое будет логгировать соедининия с данным IP

tolyan.com
02-10-2010, 20:11
На данный момент доступ к роутеру с наружи не нужен совсем. Как уже писал выше, SSH сделал доступным только для локалхост - это вроде как помогло. Сейчас в логах попадаются вот такие штуки:


05:03:36 02-10-2010 (debug|kern|kernel) TCP: drop open request from 91.78.0.130/29490
05:03:36 02-10-2010 (debug|kern|kernel) TCP: drop open request from 217.172.25.177/56401
05:03:36 02-10-2010 (debug|kern|kernel) TCP: drop open request from 109.205.253.146/23663
05:03:41 02-10-2010 (debug|kern|kernel) TCP: drop open request from 88.205.212.141/3033
05:03:43 02-10-2010 (debug|kern|kernel) TCP: drop open request from 81.200.10.70/58647
05:03:43 02-10-2010 (debug|kern|kernel) TCP: drop open request from 89.250.155.235/52114
05:03:51 02-10-2010 (debug|kern|kernel) TCP: drop open request from 178.72.77.70/52997
05:03:51 02-10-2010 (debug|kern|kernel) TCP: drop open request from 94.179.46.174/57885
05:03:54 02-10-2010 (debug|kern|kernel) TCP: drop open request from 93.80.108.179/59199
05:03:54 02-10-2010 (debug|kern|kernel) TCP: drop open request from 94.179.8.203/54144
05:03:55 02-10-2010 (debug|kern|kernel) TCP: drop open request from 194.226.137.161/27246
05:03:55 02-10-2010 (debug|kern|kernel) TCP: drop open request from 95.188.139.83/57216

Судя по всему, это торрентовые дела... поправьте плиз, если ошибаюсь. А на счет
троян порылся крайне маловероятно, так как виндов не держим совсем, линуксоиды мы... =))

Щас вот найдем, как составить правило для iptables которое будет рубить все внешние входящие кроме торрентов - и совсем красота будет... Кстати, буду благодарен за рекомендации по этому вопросу. ;)

P.S. А что, на прошивке Олега, которая до энтузиастов была, неудачные попытки коннекта по SSH в логи не писались? Что-то верится с трудом...

TReX
02-10-2010, 23:13
... Кстати, буду благодарен за рекомендации по этому вопросу. ;)

P.S. А что, на прошивке Олега, которая до энтузиастов была, неудачные попытки коннекта по SSH в логи не писались? Что-то верится с трудом...

Вы из органов и это профессиональное или это первые признаки паранойи :D

Это были не неудачные попытки захода, а сработывание защиты от брутфорса, ввели ее не так давно ) Зачем лог забивать всякой ерундой, особенно в режиме debug он не по детски ресурс кушает...

А брутфорсят действительно жестоко, но на автомате и по словарям, так что вреда никакого, за 3 года при нормальном пароле никаких проблем )

Правда когда надоело забивание лога ушел на нестандартный порт, чего и вам советую - для софта проброшенного наружу, если софт позволяет не оставляйте стандартные порты или мапьте на нестандартный если с компьютера )

Basile
02-10-2010, 23:30
<...> почему на старой прошивке, где стоял только rTorrent и был открыт доступ по SSH с наружи такого небыло.<...>

Скорее всего вы разрешили ответы на пинг из интернета. Посмотрите, не разрешен ли ICMP в iptables и присутствует ли в конце цепочки INPUT дроп всего, что не разрешено выше?

P.S. А вообще лучше продемонстрируйте свой
iptables -vnL INPUT

Gaku
20-12-2010, 07:13
Добавляю строчку в Passwd с новым пользователем
Выполняю flashfs save && flashfs commit && flashfs enable
После перегрузки строка пропадает.

Подскажите пожалуйста как добавить passwd-файл во флэш?

Gaku
20-12-2010, 09:21
Я всё пытаюсь без дополнительной флешки провернуть добавление одного пользователя :-)

А есть ли для роутера легковесный пакет реализующий VPN/SSH-2/SFTP так чтобы их использование не повлияло на скорость 10Мбит с интернетом?

ryzhov_al
20-12-2010, 09:27
Я всё пытаюсь без дополнительной флешки провернуть добавление одного пользователя :-)
А в "инструкции с нуля..." как раз указано как добавить файл во флеш. Второй пост.


А есть ли для роутера легковесный пакет реализующий VPN/SSH-2/SFTP так чтобы их использование не повлияло на скорость 10Мбит с интернетом?

VPN - poptop,
SSH/SFTP - dropbear.

Первый можно установить во флеш память, второй есть в прошивке.

Gaku
20-12-2010, 11:39
Спасибо!

1. Получилось сделать гостевую учётную запись
home: /usr/local/nosh
shell: /bin/sh
Правда, Putty вылетает, при попытке запустить shell.
Если так
home: /usr/local/
shell: /usr/local/nosh
то при попытке логика, система говорит Access denied

2. poptop хочет установиться на /opt :-(

FilimoniC
18-01-2011, 14:32
Спасибо всем за информацию в этой ветке!
Прокопал туннель с работы на роутер WL-500W. Теперь могу с работы ходить куда угодно в обход запретов.
Теперь следующая задача. Коллега просит попользоваться моим роутером с той же целью. Сделал пользователя tunnel для этих целей.
Прав у него конечно мало, но просматривать файлы может.
Как ограничить ему права так, чтобы он не мог ничего делать кроме как использовать туннель? В линухе я начинающий пользователь.

Создать юзера с кривым шеллом (/bin/true в моем случае).

MooH
18-01-2011, 19:19
Создать юзера с кривым шеллом (/bin/true в моем случае).

Уже точно не помню, но кажется с кривым шеллом не пускал. Хотя я наверно что типа /bin/false писал

ABATAPA
19-01-2011, 05:47
Уже точно не помню, но кажется с кривым шеллом не пускал. Хотя я наверно что типа /bin/false писал

echo "/bin/true" >> /etc/shells
echo "/bin/sh" >> /etc/shells

MasterE
24-01-2011, 20:01
Ребят у меня mac os. Создал ключи RSA id_rsa, id_rsa.pub в папке .ssh на маке.

Роутер Asus RT-N16. Устанавливал скриптом все программы, на роутере стоит dropbear.
Вывел ярлык с входом в SSh роутера в док себе для удобства. Хочу чтобы роутер меня пускал по этим ключам в ssh без запроса пароля.

Куда и в какие дирректории надо закинуть RSA ключи, чтобы роутер принимал их и разрешал авторизацию моему маку без ввода ключа в самом терминале? И какие команды нужно прописать на роутере?

FilimoniC
25-01-2011, 08:58
Ребят у меня mac os. Создал ключи RSA id_rsa, id_rsa.pub в папке .ssh на маке.

Роутер Asus RT-N16. Устанавливал скриптом все программы, на роутере стоит dropbear.
Вывел ярлык с входом в SSh роутера в док себе для удобства. Хочу чтобы роутер меня пускал по этим ключам в ssh без запроса пароля.

Куда и в какие дирректории надо закинуть RSA ключи, чтобы роутер принимал их и разрешал авторизацию моему маку без ввода ключа в самом терминале? И какие команды нужно прописать на роутере?

Попробуйте сперва PUTTY-ей по ключам (у пути есть логи очень няшные).
Если пройдет, то чешите маководов на тему "куда".

Кстати, вот тут есть достаточные сведения
http://www.stocksy.co.uk/articles/Mac/ssh_on_mac_os_x/
(сам не маковод)

pux
25-01-2011, 11:40
Ребят у меня mac os. (...)
Куда и в какие дирректории надо закинуть RSA ключи (...) И какие команды нужно прописать на роутере?

Про директории и ключи вопрос непонятен. На клиенте (маке) или на сервере (роутере)? За мак ничего не знаю, на роутере вроде месяца три уже в прошивке О+э есть поле в веб-интерфейсе для ключа. Копируешь его туда из своего файлика id_rsa.pub, расставляешь галочки, и можно даже в консоль не лезть.

Где на клиенте лежит ключ -- пофигу, лишь бы программа SSH-клиента его находила. На эту тему смотрим в доку к программе. Думаю, во всех абсолютно клиентах можно указать путь к ключу.

MasterE
25-01-2011, 11:54
Про директории и ключи вопрос непонятен. На клиенте (маке) или на сервере (роутере)? За мак ничего не знаю, на роутере вроде месяца три уже в прошивке О+э есть поле в веб-интерфейсе для ключа. Копируешь его туда из своего файлика id_rsa.pub, расставляешь галочки, и можно даже в консоль не лезть.

Где на клиенте лежит ключ -- пофигу, лишь бы программа SSH-клиента его находила. На эту тему смотрим в доку к программе. Думаю, во всех абсолютно клиентах можно указать путь к ключу.

Мне нужно на сервере (роутере) узнать куда ключи класть. Где это поле есть, подскажи пожалуйста и как открыть файл id_rsa.pub ?

FilimoniC
25-01-2011, 12:25
Мне нужно на сервере (роутере) узнать куда ключи класть.

iMac:~ stocksy$ scp ~/.ssh/id_dsa.pub james@194.11.2.81:~/.ssh/authorized_keys2
Ключ id_dsa.pub на компе переименовывается в authorized_keys2 и кладется на роутер в папку ~/.ssh
~ - это домашний каталог пользователя

Примечание:
в Unix-like системах, файлы и папки, имя которых начинается с точки (например, .ssh), считаются скрытыми