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

Как вы защищаете развернутую серверную панель? в идеале с аутентификацией.

3 ответа

Из документов Deployd:

Чтобы настроить панель мониторинга на своем сервере, введите dpd keygen в командной строке вашего сервера, чтобы создать ключ удаленного доступа. Тип dpd showkey получить ключ; Вы должны хранить это где-нибудь в безопасности.

Затем вы можете перейти к /dashboard маршрут на сервере и введите этот ключ, чтобы получить доступ.

Смотрите здесь: http://docs.deployd.com/docs/server/your-server.md#s-Dashboard%20Access-2728

Кстати, документация на docs.deployed.com содержит больше подробностей, чем документация на github.

Надеюсь это поможет.

  1. Изменить каталог (cd) в корень вашего проекта Deployd.
  2. Бежать dpd keygen,
  3. Бежать dpd showkey и сохранить ключ где-нибудь.
  4. Перезапустите dpd с помощью --environment production опция, в противном случае не требуется ключ при доступе /dashboard,
  5. Перейти к вашему API /dashboard и вставьте ключ в диалог.

Кроме того, я ограничиваю его только пользователями ввода данных. Это не идеально (я также хочу удалить кнопку удаления ресурса), но здесь идет:

env.sh

# this makes deployd require key for /dashboard
export NODE_ENV=production

.production.patch (отключает события-конфиг-редакторы)

--- node_modules/deployd/lib/resources/dashboard/index.ejs  2016-11-21 16:10:05.406025488 +0100                                                                                               
+++ node_modules/deployd/lib/resources/dashboard/index.ejs.new  2016-11-21 16:09:51.009794524 +0100
@@ -65,7 +65,7 @@
         <a href="#" class="options"><span class="caret"></span></a>
         <% if (type && type.dashboardPages) { %>
           <ul class="nav pages type-icons <%= isCurrent ? '' : 'hide' %>">
-            <% type.dashboardPages.forEach(function(p) { %>
+            <% type.dashboardPages.forEach(function(p) { if( p.match(/Config|Events|Properties/) != null ) return %>
               <li <%- isCurrent && (Context.page || '').toLowerCase() === p.toLowerCase() ? 'class=active' : ''%>  ><a href="/dashboard/<%= resource.id %>/<%= p.toLowerCase() %>/"><i class="icon-white icon-custom <%= p.toLowerCase() %>"></i> <%= p %></a></li>
             <% }); %>
           </ul>

.git / hooks / post-merge (автоматически вызывается при git pull)

#!/bin/bash

# disallow users from changing resource schema's, event-code and config.json
patch -Np0 < .production.patch

[[ ! -n $NO_NPM ]] && npm update
Другие вопросы по тегам