Category Archives: Nginx

Реальный IP- адрес клиента при двойном проксировании NGINX

Вдруг так случилось и появилась необходимость организовать цепочку NGIXN -> NGINX ->APACHE, например если первый Nginx выступает как балансировщик нагрузки. При данной цепочке теряется реальный IP адрес пользователя. А если вы используете GEOIP то он вам нужен.

Есть простое решение используя дополнительную переменную:

Пример конфигурации первого NGINX в цепочке:

Пример конфигурации второго NGINX:

 

Источник: https://www.poseti.net/articles/realnyij-ip-pri-dvojnom-proksirovanii

 

 

 

Дизайн интерьеров

VDoc — веб-система коллективной работы над файловыми версиями документов с сохранением истории изменений, высоким уровнем защищенности информации и эффективным резервным копированием

Презентация системы VDoc в формате PowerPoint (скачать).

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

Возможности системы VDoc:

1. Система VDoc представляет собой веб-интерфейс и работает по протоколам http или https (протокол с шифрацией трафика).

2. Программный продукт VDoc — кросс-платформенный. Серверная часть системы может работать в Windows, Linux, MacOS. Пользователи же могут работать практически в любой операционной системе (Windows, Linux, MacOS, Android, IOS, FreeBSD и т.п.) и на любом устройстве (ноутбук, персональный компьютер, мобильный телефон, планшет, телевизор и т.п.), где есть современные браузеры.

3. Система VDoc — система с открытым исходным кодом. Вы можете приобрести систему вместе с исходными кодами и при необходимости изучать исходные коды, модифицировать систему под свои потребности.

4. В качестве сервера базы данных используется наиболее популярные кросс-платформенные СУБД: MsSQL, Postgresql.

5. Объем данных, который может вестись в системе — не ограниченный. Вы не увидите большой разницы в работе между массива информации размером мегабайты и данными размером во много терабайт.

6. Вирусы и другие вредоносные программы не смогут уничтожить данные, т.к. не могут получить такого доступа…

7. Пользователи не могут уничтожить данные. Т.к. все изменения логируются и сохраняются, а файлы не могут пользователи удалять (могут только помечать на удаление).

8. VDoc прост в использовании. Не нужно устанавливать программу — просто заходите на сайт и работаете. Интерфейс — интуитивно-понятный с всплывающими подсказками. Для работы VDoc нет необходимости в установке плагинов или другого стороннего программного обеспечения. Только браузер — это всё, что нужно для работы виртуального документооборота.

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

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

11. Информация в VDoc ищется очень быстро. Есть возможность искать по интересующим пользователей полям: № документа, дата документа, контрагент, статус документа, название, комментарий и т.п.

12. В VDoc предусмотрена гибкая система ограничения прав доступа к информации.

13. Усиленный режим защиты информации (доступный опционально) позволяет зашифровать информацию от хостер-провайдера, а так же очищать файлы на локальном компьютере.

14. VDoc предусматривает высокий уровень интеграции с другими программными решениями. Благодаря Api с VDoc можно обмениваться информацией из других систем.

15. Работать с VDoc безопасно. Браузер ограничивает максимально права программы.

Скрин-шоты программы:

Таблица сравнения возможностей различных способов сохранения информации: Скачать….

Вы можете посмотреть иформацию видео по системе:

Сайт разработчика: https://corp2.net/index.php/category/dokumentooborot/

 

Ограничение размера POST запроса в PHP

Увеличение размера POST

Иногда проект вырастает в нечто большее. Первоначальные POST запросы вырастают в размере, а времени менять архитектуру нет.

В первую очередь настройки php.ini. (если апач /etc/php5/apache2/php.ini или если fpm /etc/php5/fpm/php.ini)

post_max_size равный или больше предполагаемому размеру post.
upload_max_filesize — для загрузки файлов побольше. обычно равный post.
max_execution_time и max_input_time побольше, чтобы скрипт не отвалился на долгой загрузке.

Документация php.ini — http://www.php.net/manual/ru/ini.list.php

Так же сразу отключить, если установлено расширение php — suhosin. Найти можно по suhosin.so, suhosin.ini.
Его можно и не отключать, а настроить в suhosin.ini параметры:
suhosin.post.max_value_length
suhosin.request.max_value_length

Документация suhosin — http://www.hardened-php.net/suhosin/configuration.html

Если используется nginx, то в файле /etc/nginx/nginx.conf:
client_max_body_size больше предполагаемого post.

Так же
send_timeout и fastcgi_read_timeout побольше, иначе будет 504 ошибка.

Документация nginx — http://nginx.org/ru/

Если используется apache2, то в /etc/apache2/apache.conf:
LimitRequestFieldsize — размер поля
LimitRequestBody — размер всего запроса

Документация apache2 директив — http://httpd.apache.org/docs/2.2/mod/core.html

VDoc документооборот (веб-приложение для файлового документооборота)

VDoc документообіг

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

Возможности системы VDoc:

1. Система VDoc представляет собой веб-интерфейс и работает по протоколам http или https (протокол с шифрацией трафика).

2. Программный продукт VDoc — кросс-платформенный. Серверная часть системы может работать в Windows, Linux, MacOS. Пользователи же могут работать практически в любой операционной системе (Windows, Linux, MacOS, Android, IOS, FreeBSD и т.п.) и на любом устройстве (ноутбук, персональный компьютер, мобильный телефон, планшет, телевизор и т.п.), где есть современные браузеры.

3. Система VDoc — система с открытым исходным кодом. Вы можете приобрести систему вместе с исходными кодами и при необходимости изучать исходные коды, модифицировать систему под свои потребности.

4. В качестве сервера базы данных используется наиболее популярные кросс-платформенные СУБД: MsSQL, Postgresql.

5. Объем данных, который может вестись в системе — не ограниченный. Вы не увидите большой разницы в работе между массива информации размером мегабайты и данными размером во много терабайт.

6. Вирусы и другие вредоносные программы не смогут уничтожить данные, т.к. не могут получить такого доступа…

7. Пользователи не могут уничтожить данные. Т.к. все изменения логируются и сохраняются, а файлы не могут пользователи удалять (могут только помечать на удаление).

8. VDoc прост в использовании. Не нужно устанавливать программу — просто заходите на сайт и работаете. Интерфейс — интуитивно-понятный с всплывающими подсказками. Для работы VDoc нет необходимости в установке плагинов или другого стороннего программного обеспечения. Только браузер — это всё, что нужно для работы виртуального документооборота.

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

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

11. Информация в VDoc ищется очень быстро. Есть возможность искать по интересующим пользователей полям: № документа, дата документа, контрагент, статус документа, название, комментарий и т.п.

12. В VDoc предусмотрена гибкая система ограничения прав доступа к информации.

13. Усиленный режим защиты информации (доступный опционально) позволяет зашифровать информацию от хостер-провайдера, а так же очищать файлы на локальном компьютере.

14. VDoc предусматривает высокий уровень интеграции с другими программными решениями. Благодаря Api с VDoc можно обмениваться информацией из других систем.

15. Работать с VDoc безопасно. Браузер ограничивает максимально права программы.

Скрин-шоты программы:

Таблица сравнения возможностей различных способов сохранения информации: Скачать….

Вы можете посмотреть иформацию видео по системе:

 

Подробнее, читайте на сайте разработчика: http://k2soft.org/vdoc-dokumentooborot

nginx + php-fpm + PHP APC + WordPress multisite (subdirectory) + WP Super

У меня на хостинге использовался Nginx+Apache. Однако, в один прекрасный момент я столкнулся с тем, что интернет-магазины на WordPress не закидывали в корзину товары. Вначале я думал, что это проблема в CMS, потом, что проблема PHP. Но, в результате, после длительной борьбы с проблемой я увидел, что проблема в Nginx. Просто при ЧПУ нужно исправить настройки. В результате, получилось решение Nginx + PHP-FPM.

Вот настройки /etc/nginx/nginx.conf:

Настройка виртуального хостинга:

Для WP Super Cache:

Источник: https://wordpress.org/support/topic/nginx-php-fpm-php-apc-wordpress-multisite-subdirectory-wp-super-cache

3D визуализация и интерьер

Ubuntu: установка и настройка связки nginx + apache + php + mysql

В это статье я расскажу как быстро развернуть LAMP сервер на Ubuntu с кеширующим nginx

Для всех команд необходим sudo, потому сразу войдем для удобства в этот режим:

Далее, обновляем данные из репозитариев:

Установка MySQL сервер:

Во время установки нас попросят ввести пароль root для сервера MySQL, вводим 2 раза. Дожидаемся окончания установки.

Установка Apache, nginx, php:

Дожидаемся окончания установки.
Включаем модули rewrite и include в apache2 при помощи утилиты — a2enmod:

Меняем порт в apache2 со стандартного 80 на 8080 (2 строчки):

Создаем новый веб сервер (VirtualHost), создаем файл конфигурации:

И вставляем в него следующий текст:

Далее, создаем папку сайта и запускаем сайт:

Проверяем в браузере — http://domain.com:8080

Конфигурируем nginx:

Приводим конфиг к такому виду:

Далее создаем и правим конфиг нашего сайта:

Вносим в него следующие записи:

Перезапускаем сервисы и проверяем работу:

Источник: http://evolan.org/linux/ubuntu-ustanovka-i-nastrojka-svyazki-nginx-apache-php-mysql/

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Nginx, блокировка доступа по IP

Продолжаем ковырять nginx и перекладывать на него функции с apache. В общем-то, у апача я давно не использую описанную здесь функцию, поэтому и забыл написать.

Формально, в nginx существует 2 способа ограничить доступ по ip. Первый — вполне привычные директивы — deny/allow. Второй — очень удобный для ограничения доступа в куче мест — geo переменные.

С deny/allow всё понятно, использовать их можно-нужно так же, как в любом другом веб-сервере:

Эти строчки можно вписать почти в любой кусок конфига — начиная с http {} (тогда правила распространятся на весь сервер) и заканчивая отдельным location {}.

Второй способ уже интереснее и не встречается в apache. Как вы знаете, в nginx можно очень удобно работать с любыми переменными. А в переменные писать что угодно. Так вот — почему бы не делать что-либо в зависимости от того, какой IP адрес у посетителя? Прелесть такого варианта в том, что мы можем отдавать не 403ю ошибку, как в первом способе, а 404ю. Или редиректить на другой сайт. Или ещё-что нибудь… ну и так далее.

Собственно говоря, выглядит это так. Пишем в секцию http {} (для того, чтобы эту переменную мы могли использовать в любом server {} ):

Что мы в итоге написали. Если кто-то придет из подсети 192.168.1.0/24 — то переменная $accessvar выставляется в 1. Если из 192.168.2.0/24 — то в 2. Если пришла машина с IP адресом 1.1.1.1/2.2.2.2/4.4.4.4 — то переменная выставляется в 3. Если какой-то другой адрес — то 0.
При помощи if-ов мы можем юзать эти штуки уже как угодно. Например, у нас есть сайт internal.company.name для сотрудников (и для серверов, чтобы они забирали оттуда какую-либо информацию для обновления сайтов). И сайт compmany.com, на который должны попадать посетители.
Случайных посетителей сайта internal будем редиректить на правильный сайт:

Это, кстати, спасет и от надоедливых ботов, которые игнорируют robots.txt.
Далее. У нас есть 3 location:
/buh — сюда нам нужно пускать только бухгалтеров (ну там морда «1С:Підприємство», например)
/manager — сюда только менеджеров
/export — сюда только серверы.

Представляете, какой вам ад пришлось бы разводить в конфигах, чтобы добиться этого с access/deny )? А тут вам нужно только поддерживать актуальный список адресов в одном месте. Можно сочетать с VPN, чтобы адреса точно нужные были =)

Ну и не забываем порестартить nginx:


Помните, deny/access работает быстрее, но обладает очень узким функционалом. Но от ddos’a оно не спасет тоже — от ддоса лучше защищаться файрволлом. Поэтому переменные geo имеют право на существование. При этом они куда более удобны при правильном использовании. Кстати, можно создавать сразу именованные переменные — buh, manager, server, например =)


Джерело: https://debian.pro/726

Защита файла wp-config.php в nginx

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

В файле wp-config.php CMS WordPress хранит пароли и логины для доступа к базе данных. Это очень безопасная информация. Есть вероятность, что в момент отладки приложения или веб-сервера данный файл может быть доступен злоумышленникам, поэтому, рекомендуется защищать данный файл от доступа в веб-серверах.

Защита в веб-сервере Apache указывается в файле .htaccess:

Защита в веб-сервере Nginx:

Автор: Рудюк С . А. https://corp2.net

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Дизайн интерьеров

Безопасность WordPress. 3 самых эффективных способа защиты от брутфорса

По статистике, около 19% от общего количества всех сайтов Интернета, работают на WordPress — это почти каждый пятый сайт. Успех платформы вполне логичен и закономерен, не зря еще 5 лет назад я сделал ставку именно на нее. Но сегодня речь пойдет не о преимуществах WordPress, а о его безопасности. Высокая популярность платформы активизировала злые силы, и вот уже на протяжении нескольких месяцев в Рунете идут массовые атаки на сайты, работающие на WordPress. Атаки настолько серьезные и настолько массовые, что не выдерживают даже самые мощные серверы. Хостинг-провайдеры, конечно, принимают меры, порой даже самые радикальные, вплоть до полной блокировки администраторских консолей WordPress. Поэтому, если вас еще не заблокировали, лучше самостоятельно провести ряд несложный действий по укреплению обороны вашего WordPress.

В этой статье я расскажу о самых эффективных способах защиты вашего сайта именно от брутфорса (brute force) — метода подбора и взлома пароля путем перебора всех теоретически возможных вариантов. Так как все последние массовые атаки работают по этому методу.

1. Первое с чего нужно начать — это избавиться от пользователя admin. Если у вас нет пользователя admin, можете сразу переходить к пункту 2. В WordPress начиная с 3 версии это делается очень просто. Достаточно создать нового пользователя, наделить его администраторскими правами, а старого пользователя «admin» — удалить. При его удалении, WordPress предложит вам выбрать нового пользователя, который станет автором публикаций старого администратора.

В старых версиях WordPress эта процедура проделывается с помощью пары SQL-запросов:

2. Очень важно обратить внимание на пароль администратора. Лучше если это будет хаотичная комбинация заглавных и строчных букв, знаков и цифр не менее чем из 10-12 символов.

3. При бутфорсе WordPress, производится огромное количество запросов к файлу авторизации «wp-login.php», и будет правильно обеспечить ему двойную защиту.

Если вы работаете с сайтом один, и ваш интернет-провайдер предоставляет вам статичный IP-адрес, вы можете разрешить доступ к директории «wp-admin» только с вашего IP-адреса, заблокировав тем самым для всех остальных даже возможность авторизации. Делается это следующим образом. В директории «wp-admin» создаем файл «.htaccess» следующего содержания:

Где IP — это ваш IP-адрес. Узнать его вы можете, например, здесь.

Если же, кроме вас с сайтом работают еще люди со статическими IP-адресами, вы можете просто добавить их в список ниже. Например, так:

Где, IP1, IP2, IP3 — разрешенные IP-адреса.

Благодаря этому, все пользователи (боты) с IP-адресами, не указанными в списке разрешенных, просто не получат доступа к директории «wp-admin» и, соответственно, не смогут брутфорсить файл «wp-login.php». Всем им будет возвращаться ошибка 403.

Если провайдер вам выдает динамический IP-адрес, меняющийся с каждым новым подключением к Интернету, тогда этот способ не пройдет, т.к «.htaccess» придется редактировать при каждом вашем подключении к Сети. С помощью все того же «.htaccess» мы можем установить дополнительную серверную HTTP-авторизацию. Делается это следующим образом.

Все в той же директории «wp-admin» создаются два файла: «.htaccess» и «.htpasswd». В первом будут храниться инструкции, во втором разрешенные данные для доступа к директории.

В «.htaccess» пишем следующее:

Где fullpath — полный путь к файлу «.htpasswd». Обратите на это должное внимание, т.к это самая частая ошибка. Полный путь вы можете узнать у своего хостинг-провайдера или с помощью небольшого php-скрипта:

Или другим способом:

Если вы по каким-то причинам не хотите паролить всю директорию «wp-admin», вы можете запаролить непосредственно файл «wp-login.php». Делается это аналогично, но в «.htaccess» нужно написать следующее:

Файл «.htpasswd» в обоих случаях должен выглядеть следующим образом:

Где username — это имя разрешенного пользователя, а password — это пароль. Обратите внимание, что пароль хранится в зашифрованном виде. Поэтому, предварительно ваш пароль нужно зашифровать. Сделать это можно, например, с помощью этого сервиса. На пароль действуют те же правила, что указаны в пункте 2 данной публикации.

Для использования нескольких пользователей с паролями, вы можете просто перечислить их по-порядку. Например, вот так:

Если вы сделаете все правильно, перед авторизацией в WordPress вам будет предложено ввести логин и пароль доступа к директории (файлу). И только после успешного входа вы сможете авторизоваться и войти в администраторскую консоль.

В Safari 6.0.5 на Mac OS это выглядит примерно так:

htpasswd

В других браузерах возможно немного иначе.

Выполнив хотя бы эти 3 пункта, вы в разы снизите вероятность взлома вашего WordPress.

Дополнительные меры по защите WordPress

Дополнительно вы можете защитить таким же образом файл настроек WordPress «wp-config.php». Я бы рекомендовал его защитить, потому что в нем содержатся данные для подключения к БД MySQL. Делается это аналогично:

Также, я бы рекомендовал вам проверить директории вашего сайта. Дело в том, что очень многие хостеры и безалаберные сисадмины не закрывают по-дефолту просмотр директорий сайтов своих клиентов. Если, к примеру, ввести в адресную строку браузера: http://вашсайт/wp-includes/ и вы увидете содержимое этой директории — нужно бить тревогу и срочно закрывать просмотр. Для этого можно создать в директориях, которые вы хотите закрыть от просмотра, пустые файлы «index.html» или дописать в ваш «.htaccess» всего одну строку:

Которая запретит серверу показывать содержимое директорий.

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

Их обзор в рамках данной публикации я проводить не буду.

Если в процессе настройки защиты WordPress от брутфорса у вас возникнут сложности — вы всегда можете обратиться ко мне за помощью. Контакты здесь.

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