Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: защита web-интерфейса transmission-daemon  (Прочитано 3839 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн goodcat

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
защита web-интерфейса transmission-daemon
« : 28 Декабрь 2015, 06:50:22 »
Все привет, меня интересует как и какими средствами можно защитить web-интерфейс transmission-daemon от брутфорса?

Оффлайн gregory5

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5085
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #1 : 28 Декабрь 2015, 07:37:02 »
fail2ban?

Оффлайн goodcat

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #2 : 28 Декабрь 2015, 09:57:15 »
А можете подсказать конфигурацию для transmission? Я уже второй день на эту тему мучаю гугль, ни чего толкового не нашел.

Оффлайн gregory5

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5085
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #3 : 28 Декабрь 2015, 22:01:24 »
вам не сам трансмиссион нужен, поэтому не вышло найти, вам нужен протокол через который доступ к нему

у вас аутинтификация  по ssl https? вот это и настройте, в стандартном конфиге вроде идёт уже это сразу

там же ssh ftp ..... лишним не будет

копировать стандартный конфиг сюда я думаю смысла нет, почитайте вики, возможно стоит более жёсткие условия блокировки настроить по числу попыток,времени блокировки нежели по стандарту идут
« Последнее редактирование: 28 Декабрь 2015, 22:03:21 от gregory5 »

Оффлайн goodcat

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #4 : 29 Декабрь 2015, 05:28:19 »
ага я понял о чем вы говорите, но как то не совсем понял как работает аутентификация в transmission, посмотрю еще вечером на машине GUI на телефоне вроде по http, при https не соединялось.
{"rpc-enabled": true, - включаем web-интерфейс.} вот из-за этой строки, в настройках, начал сомневаться, что работает аутентификация по http. RCP как то меня совсем запутал. 

Оффлайн pr0.JeR

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #5 : 24 Январь 2019, 13:52:29 »
В итоге решили проблему? Просто я щас думаю как защититься от брута

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #6 : 25 Январь 2019, 07:36:40 »
Не выставляйте web-интерфейс наружу. Это же очевидно.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27366
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #7 : 26 Январь 2019, 02:33:32 »
+1
SSH тоннель - очевидное решение.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vit5041

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #8 : 11 Июнь 2020, 00:56:19 »
Есть рабочая схема -- использовать nginx в качестве https reverse-proxy и отлавливать неуспешные попытки в access.log fail2ban'ом.
В результате transmission доступен откуда угодно через публичное имя, удобно использовать андроид-приложение transmission-remote на телефоне, не нужно подключаться к vpn.

Пара дней полет нормальный!  :)

nginx конфиг (/etc/nginx/sites-enabled/reverse):
(10.8.0.2 заменить на localhost при необходимости; не уверен в необходимости создавания всех locations, однако так работает и трогать уже не хочется)

server {
      listen 443 ssl;
      server_name yourdomain.com;

ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

location / {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass              http://10.8.0.2:9091;
}

location /d/transmission/rpc {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass              http://10.8.0.2:9091/d/transmission/rpc;
}

location /d/transmission/web {
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass              http://10.8.0.2:9091/d/transmission/web;
}

}

server {
listen 80;
server_name yourdomain.com;
return 301 https://yourdomain.com$request_uri;
return 403;
}

Конфигурация лога в nginx.conf: логировать только ошибки


log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

map $status $loggable
{
    ~^[2] 0;
    default 1;
}
access_log  /var/log/nginx/access.log  main if=$loggable;

Конфигурация jail для Fail2Ban:
при необходимости адаптировать failregex; также можно создать filter transmission.local и вместо failregex сделать filter = transmission

[transmission]
banaction = iptables-allports
enabled = true
port = 443
protocol = tcp
filter =
failregex = <HOST>.*\[.*\]\s\"GET.*\"\s40[1,3]\s.*
logpath = /var/log/nginx/access.log
maxretry = 5

« Последнее редактирование: 28 Октябрь 2020, 11:24:30 от vit5041 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27366
    • Просмотр профиля
Re: защита web-интерфейса transmission-daemon
« Ответ #9 : 11 Июнь 2020, 11:14:52 »
return 301 https://yourdomain.com$request_uri;
return 301 https://$host$request_uri;
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.135 секунд. Запросов: 24.