Безопасно ли использовать секретный поддомен для dev версии проекта?

Я разрабатываю проект и держу dev версию на спец. поддомене с доступом по http-auth.
Хочу настроить pwa, но http-auth мешает. Будет ли безопасно использовать какой-нибудь секретный не очевидный поддомен и отключить http-auth? Сможет ли кто-то найти этот поддомен?
  • Вопрос задан
  • 388 просмотров
Решения вопроса 5
@remzalp
Программер чего попало на чем попало
В общем случае секретный домен не секьюрно, можно тупо перебором натолкнуться. Плюс за поисковиками замечалось, что они через встроенные в браузеры инструменты мониторинга отслеживают обращение на новые сайты и втихую добавляют их в поисковый индекс.
А DEV версия обычно страдает огромным количеством дебаговой информации, поэтому обезопасить желательно.

Если авторизация чем-то мешает, то просто можно средствами веб-сервера блокировать доступ не с ип адресов разработчика (.htaccess, nginx.conf), либо организовать cookies, которая будет проверяться перед отдачей контента.
Ответ написан
@ar2rsoft
PHP-developer
Как один из вариантов, если дев версию смотрят ограниченное количество людей, можно днсы не прописывать, а прописать айпи в hosts, у тех, кому нужен доступ.
Ответ написан
Комментировать
@mikluha
ANSI C, Perl, Erlang. FreeBSD, Linux, Mac OS.
Как минимум провайдер сможет.
Если у тебя подгружаются скрипты/css/картинки с внешних ресурсов - админы этих ресурсов могут увидеть адрес твоего сервера.
А действительно ли это так страшно, что твой dev сайт кто-то найдет?
Ответ написан
ну все просто подобное использую и я
1.
делаем маску в nginx для всех дев сайтов
2. закрываем их паролем
3. открываем свои айпи
4. открываем бэкэнды и апи ( дабы автаризация не мешала а пароль там не нужен поскольку файлы и так закрыты)

пример конфига

server {
######################################################################
## Server configuration
######################################################################
        listen *:80;
        server_name 1nnm.ru www.1nnm.ru  ;
        root /var/www/1nnm.ru/web;


######################################################################
## Enable gzip for proxied requests and static files
######################################################################
    # Enable gzip for proxied requests and static files
    gzip on;
    gzip_proxied any;
    gzip_vary on;
    gzip_http_version 1.1;
    gzip_types application/javascript application/json text/css text/xml;
    gzip_comp_level 4;

######################################################################
## Log configuration
######################################################################
#Все логи отключены
        error_log /dev/null crit;
        access_log off;

######################################################################
## 555 Еrror requires password password
######################################################################
# Дев сайты закрыты htpass  login:dev pass:dev (второй кусок ниже)
        error_page 555 = @pass;
        location @pass {
                auth_basic      "Unauthorized";
                auth_basic_user_file    /var/www/dev_htpasswd;
                proxy_pass              http://127.0.0.1:82;
                proxy_set_header        Host            $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                                }
######################################################################
## Errors send to apache2
######################################################################
# у апача своих алиасов куча,  а так же некоторая статика отдается
# средствамси php, по этому все ошибки обрабатывать только apache2
        error_page 401 403 404 405 500 502 503 = @fallback;
        location @fallback {
                proxy_pass              http://127.0.0.1:82;
                proxy_set_header        Host            $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

                }

######################################################################
## Locations configuration
######################################################################
#Отключаем логирование ошибок No such file or directory
## Disable .htaccess files

        location ~ /\.ht {
                deny all;

                access_log off;
                log_not_found off;
        }
        ##
        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        ##
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        ##


######################################################################
# сервисы  на сайте phpmyadmin почта и letxencrypt
        location /phpmyadmin/ {
                deny all;
                # поставить пароль на phpmyadmin
                return 555;
                root  /usr/share/phpmyadmin/;
        }
        ##
        location /webmail/ {
                rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
        }
        # letsencrypt
         location /.well-known/acme-challenge/ {
                alias /usr/local/ispconfig/interface/acme/;
                default_type text/plain;

         }
# static content
# Отдаем статику напрямую с nginx
        location ~* ^.+\.(jpg|jpeg|svg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
                root  /var/www/1nnm.ru/web;
                access_log off;
                expires max;
                gzip_static on;
        }

# default location
        location / {
                index index.php index.html index.htm;
                proxy_pass              http://127.0.0.1:82;
                proxy_set_header        Host            $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                        ######################################################################
                ## Dev site Protection Requests in location /
                ######################################################################
                # Дабы дев сайты не индексировались поисковиками, принудительно
                # Ставим пароли на них,  все что начинается с dev,old. или домен ks03
                        if ($http_host ~* "^(dev|old|www.old|www.dev)\..*\..{2,8}$"){
                                return 555;
                                }
                                if ($http_host ~* "^.*\.ks03\.ru$"){
                                return 555;
                                }

                                include /etc/nginx/locations.d/*.conf;
                }

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы