Страница 1 из 1

Альтернативный способ защиты сервера

Добавлено: 16 янв 2013, 18:44
soeldo
Заранее прошу, сильно не бейте!
В руководстве пользователя Максим дает рекомендации относительно того, как можно защититься от попыток несанкционированного доступа через внешку.

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

У меня вопрос, возможно ли каким-то ИНЫМ способом защитить директорию F:\OpenServer\modules\system\html\openserver\ от доступа с внешнего IP или локальной сети?

В моем случае данная директория становится доступной как из локальной сети так и с внешки при обращении к серверу как по локальному http://10.113.12.15/openserver/ так и по внешнему IP http://XX.XX.XX.XX/openserver/ А это не есть гуд...

Пробовал скопировать в служебную папку F:\OpenServer\modules\system\html\openserver\ файлик htaccess с директивой
order allow,deny
allow from localhost
deny from all
Но это не ограничивает доступ к этому каталогу на сервере.

Каким образом, можно полностью заблокировать доступ к служебной папке openserver и всем скриптам, находящимся внутри данного каталога не активируя встроенную защиту через панель управления OpenServera и не снижая производительность сервера приложений?

Руководство пользователя мною прочитано, пароли для root пользователей установлены.

Добавлено: 16 янв 2013, 18:52
Максим
Не знаю какой сервер вы используете, приведу пример для дефолтного апача. В конфиге сервера есть такой блок:
<Directory "%sprogdir%/modules/system/html/*">
    AllowOverride None
    Options -MultiViews -Indexes -FollowSymLinks -IncludesNoExec -Includes -ExecCGI
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/8 ::1/128
    Allow from %ips%
    %allow%Allow from all
    <LimitExcept GET POST HEAD>
        Order deny,allow
        Deny from all
    </LimitExcept>
    AddDefaultCharset Off
    <IfModule dir_module>
    DirectoryIndex index.php
    </IfModule>
</Directory>
Удалите там две строки:
    Allow from %ips%
    %allow%Allow from all
т.е. останется только Allow from 127.0.0.0/8 ::1/128 и это позволит серверу запускаться, но и доступа в папку ни у кого не будет.

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

Добавлено: 16 янв 2013, 18:56
soeldo
Благодарю Вас, Максим, за обстоятельный ответ на мои вопросы! Насчет угроз через скрипты, это понятно, но так мы сможем прикрыть уж наиболее легкодоступные места в обороне...
Возникла необходимость дать доступ к серверу разработки своим коллегам через внешку, и не устранив все потенциальные угрозы безопасности, делать этого никак не хотелось...
Прихожу к выводу, что именно Ваша сборка более удобна в развертывании и работе, чем все те, которыми нам приходилось пользоваться ранее. Обязательно, отблагодарю материально, как только сдам очередной проект заказчику! Спасибо!

Добавлено: 16 янв 2013, 19:11
Asmodey
soeldo писал(а): Возникла необходимость дать доступ к серверу разработки своим коллегам через внешку, и не устранив все потенциальные угрозы безопасности, делать этого никак не хотелось...
ВПН. И ключики коллегам.
Вроде как OpenVPN сервером на БГ работает. Не пробовал.
Клиентом очень великолепно от ХР до 7, 32 и 64.

Добавлено: 16 янв 2013, 19:17
Максим
soeldo писал(а):пароли для root пользователей установлены.
Надеюсь для дефолтного юзера по имени mysql тоже.

Добавлено: 16 янв 2013, 21:55
soeldo
Максим писал(а):Надеюсь для дефолтного юзера по имени mysql тоже.
Обязательно, а как же без этого.
Asmodey писал(а):ВПН. И ключики коллегам.
Вроде как OpenVPN сервером на БГ работает. Не пробовал. Клиентом очень великолепно от ХР до 7, 32 и 64.
Пробовал пробросить VPN тоннель первым делом. Вот только это оказалось не тривиальной задачей, когда тестовый сервак находится в корпоративной сети за тремя маршрутизаторами. Даже TeamViewer-ом пробиться не получается. Настроил сервер для работы на нестандартном порту, вряд ли кто сунется...
А строчки в конфиге удалять не стал, просто закомментировал. А вдруг потом понадобится...

Добавлено: 17 янв 2013, 13:36
Asmodey
soeldo писал(а):Пробовал пробросить VPN тоннель первым делом
:) Да не вопрос. 80 tcp пробросили ;) Ну к нему ещё 80 udp

Добавлено: 30 июн 2013, 18:17
head
Спасибо! То что доктор прописал.

Re:

Добавлено: 21 дек 2017, 17:07
Леонид Николаевич
Максим писал(а):
soeldo писал(а):пароли для root пользователей установлены.
Надеюсь для дефолтного юзера по имени mysql тоже.
Здравствуйте Максим! Будьте добры, подскажите, пожалуйста, для входа в phpMyAdmin панель пользователю root тоже надо установить пароль или его установление достаточно только для всех модулей СУБД?