Архив рубрики: Публикации

Ошибка 403 forbidden nginx 1.4 6 Ubuntu

Ошибка 403 forbidden nginx означает что вы запросили ресурс у сервера, который он не может отправить, потому что у вас недостаточно прав для его просмотра. Фактически, это даже не ошибка, это сообщение HTTP 4xx, которое всего лишь сообщает, что у вас нет доступа к определенному контенту.

Достаточно часто такие сообщения показывается пользователям, потому что они были заблокированы на сайте или попытались получить доступ к файлу, который доступен только локально. В этой статье мы попытаемся разобраться со случаями, когда появление 403 forbidden nginx 1.4 6 Ubuntu не желательно и представляет из себя ошибку, которую веб-мастер или системный администратор должен решить. Но сначала рассмотрим основные причины почему вы можете видеть это сообщение.

Ошибка 403 Forbidden Nginx

Итак, ошибка 403 forbidden nginx 1.4 6 Ubuntu может возникать в таких случаях:

  • Пользователь заблокирован на сервере с помощью директивы deny в конфигурации nginx;
  • Доступ к данному ресурсу разрешен только с определенного IP адреса;
  • Пользователь пытается получить доступ к папке, отображение содержимого которой запрещено;
  • Nginx не может прочитать содержимое запрашиваемого файла в файловой системе;
  • Файл index не найден в каталоге.

Это основные причины, которые встречаются наиболее часто. Как видите, две последние из них представляют из себя проблему. Рассмотрим как ее решить.

Неверно выставлены права

Если права на файл, который пытается получить пользователь выставлены неправильно, то будет выдана такая ошибка. Необходимо, чтобы у Nginx были права не только на чтение этого файла, но и на чтение все родительских каталогов. Это можно проверить командой:

namei -l /var/www/public_html/index.html

Для всех элементов пути должен быть установлен флаг «r», чаще всего лучше подходят права 644, то есть, владелец может все, а группа и остальные только читать. Если права не соответствуют, то вы нашли проблему и осталось только исправить права с помощью chmod. Например:

chmod 644 /var/www/public_html/index.html

Вот так должно быть:

Также обратите внимание на владельца файлов и папок. Если nginx должен иметь возможность выполнять туда запись, то, возможно есть смысл сделать владельцем пользователя nginx или позже получите другую ошибку. Также, если с правами все хорошо, но ошибка не решена попробуйте отключить SELinux, возможно, эта служба мешает Nginx получить доступ к файлам.

Если вы используете PHP и получаете такую ошибку, то еще нужно проверить может ли Nginx получить доступ к сокету обработчика PHP. Желательно, чтобы php-fpm запускался с той же группой, что и nginx, потому что права, по умолчанию, для доступа к сокету 660 (для группы и для владельца). Поэтому проверьте поля listen.owner и listen.group в файле  /etc/php5/fpm/php-fpm.conf.

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

Неверно настроен index

Файл index открывается по умолчанию при запросе папки на сервере, в которой он находится. Если такого файла в папке нет или он настроен неправильно в конфигурационном файле nginx, то программа попытается отобразить содержимое папки, а это по умолчанию запрещено, поэтому вы получите 403 Foribden.

Чтобы решить проблему убедитесь, что файл index.html, index.php или как он у вас называется, находится в нужно папке, в той, которую вы запрашиваете. Проверьте конфигурационный файл и убедитесь, что в нем указана директива Index с правильным именем и расширением файла:

Если в директиве указаны только файлы html, а вы используете php, то уже понятно почему программа не может найти то, что нужно. Просто добавьте имя файла в директиву:

index index.html index.htm index.php;

Точно так же, если вы использовали python скрипт, то нужно добавить его расширение.

Выводы

В этой статье мы рассмотрели почему возникает ошибка 403 forbidden nginx 1.4 6 Ubuntu и пути ее решения. Это наиболее частые причины, с которыми сталкиваются пользователи и попробовав все это, скорее всего, вы решите свою проблему. Если у вас остались вопросы, спрашивайте в комментариях!



2017-06-07T15:36:07
Сервер

Установка Nagios в Ubuntu

Nagios — это один из самых распространенных инструментов мониторинга серверов Linux и Windows с открытым исходным кодом. С помощью него вы сможете следить за выполнением различных приложений и сервисов удаленно, через веб-интерфейс. Nagios также может контролировать маршрутизаторы и другие сетевые устройства.

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

Установка Nagios в Ubuntu

Есть несколько способов установить Nagios Ubuntu 16.04. Вы можете воспользоваться PPA или устанавливать с помощью архива, загруженного на официальном сайте. На данный момент самая последняя версия — 4.3. В PPA доступна только 4.2, поэтому мы рассмотрим ручную установку с помощью архива.

Но перед тем как мы перейдем к установке необходимо обновить систему и установить все необходимые компоненты для сборки программы:

sudo apt update

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

Затем нужно создать группу и пользователя, от имени которых будет запускаться Nagios, а также команды оболочки, выполненные в веб-интерфейсе:

sudo useradd nagios

$ sudo groupadd nagcmd

Добавьте пользователя nagios и пользователя, от имени которого запускается Apache в группу nagcmd:

sudo usermod -a -G nagcmd nagios

$ sudo usermod -a -G nagcmd www-data

 

Затем нам нужно скачать исходные коды nagios. Это можно сделать с помощью команды терминала, но поскольку мы хотим получить самую новую версию, то лучше зайти на официальный сайт и скачать.

Сначала кликните по пункту «Nagios Core», затем пролистайте вниз и нажмите «Download»:

На этом этапе вы можете заполнить информацию о себе, или пропустить, нажав «Skip download»:

Осталось выбрать версию, например, 4.3.2. После того как загрузка будет завершена перейдите в папку с загрузками и распакуйте архив:

cd ~/Загрузки/

$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

Теперь можно переходить к компиляции nagios. Для этого нужно выполнить такие команды:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/

$ make all

$ sudo make install

$ sudo make install-init

$ sudo make install-config

$ sudo make install-commandmode

$ sudo make install-webconf

Настройка Nagios в Ubuntu

Все конфигурационные файлы программы будут размещены установщиком в /usr/local/nagios/etc/. Настройки по умолчанию позволяют запустить Nagios, но нам нужно внести еще несколько изменений. Откройте файл contact.cfg и измените электронный адрес, на который будут приходить оповещения:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

define contact{

contact_name nagiosadmin ; Краткое имя пользователя

use generic-contact ; Шаблон по умолчанию

alias Nagios Admin ; Полное имя пользователя

email admin@losst.pro ; Ваш Email

}

Для работы веб-интерфейса необходимо создать пароль пользователя nagiosadmin с помощью htpasswd, без него вы просто не сможете войти в интерфейс:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Наконец, для корректной работы нужно внести несколько настроек для веб-сервера. Включите модуль cgi:

sudo a2enmod cgi

Перезапустите веб-сервер:

sudo service apache2 restart

Для получения дополнительных возможностей nagios вы можете установить набор плагинов. Для этого сначала скачайте его:

Теперь распакуйте архив и перейдите в папку с ним:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz

$ cd /tmp/nagios-plugins-2.1.1/

Для компиляции модулей выполните:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

$ make

$ make install

Модули установлены в папку с Nagios, теперь проверьте правильность конфигурации:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Для автоматического запуска создадим Unit файл для systemd:

sudo vi /etc/systemd/system/nagios.service

[Unit]

Description=Nagios

BindTo=network.target

[Install]

WantedBy=multi-user.target

[Service]

User=nagios

Group=nagios

Type=simple

ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

 

Запуск Nagios

Почти все готово, осталось запустить сервис и начать использовать. Для запуска сервиса наберите:

sudo systemctl stat nagios

Чтобы открыть веб-интерфейс nagios будет достаточно набрать ip адрес и url nagios в браузере. Если вы устанавливали все это на локальном компьютере, то используйте:

http://localhost/nagios

Сразу после открытия странички вам нужно будет ввести имя пользователя nagiosadmin и пароль, который вы задали для него ранее. После этого можете пользоваться всеми возможностями программы:

Выводы

В этой статье мы рассмотрели как выполняется настройка nagios 4, а также полная установка последней версии в операционной системе Ubuntu. Несмотря на то, что, на первый взгляд, все кажется сложным, процесс достаточно простой. Теперь вы можете осуществлять мониторинг nagios ubuntu 16.04. Надеюсь, эта информация была полезной для вас.

https://youtu.be/nk52SLnjGy0



2017-06-06T14:32:49
Сервер

Установка OpenMediaVault на флешку

OpenMediaVault — открытая масштабируемая система управления сетевым устройством хранения (программный NAS) на основе Debian Linux. Включает в себя программный RAID (0,1,5,6), почтовый клиент, SSH, (S) FTP, CIFS (Samba), NFS, DAAP медиа-сервер, RSYNC, ISCSI, BitTorrent-клиент.

Возможности могут быть расширены с помощью плагинов, доступных через репозиторий. В этой статье мы рассмотрим как выполняется Установка OpenMediaVault на флешку, а также как выполнить настройку продукта перед использованием.

Установка OpenMediaVault на флешку

Имеется в виду, что сама система будет работать с отдельной флешки, не затрагивая основные жесткие диски, которые используются для хранения файлов и других задач. В моем случае я взял два HDD объемом 1Тб и сделал из них RAID 1 mirror. У меня получился чистый терабайт в зеркале, а система стоит на отдельной флешке (Мне этот вариант показался очень удобным). Установка и настройка OpenMediaVault:

  1. Скачиваем образ системы со страницы на sourcefoge;
  2. С помощью программы Unetbootin нарезаем образ на флешку и у нас получается загрузочная флешка с системой OpenMediaVault;
  3. Берем ВТОРУЮ флешку (я взял 16гб, можно и меньше), делаем низкоуровневое форматирование программой HDD Low Level Format;
  4. Вставляем обе флешки в компьютер, который будет использоваться для NAS и через BIOS загружаемся с флешки, на которую нарезан образ, начнется установка;
  5. Выбираем «Install», следуем по пунктам. Там ничего особенного, выбираем язык, местоположение, раскладку клавиатуры;
  6. Далее, программа установки попросит выбрать диск, на который необходимо установить систему (на этом этапе будьте внимательны и не перепутайте диск, куда надо ставить). У меня было 4 диска (2 терабайтника — их не трогаем, флешка на 16gb и еще одна флешка на 16gb) Я знаю что одна из флешек называется transcend и она пустая — соответственно ее и выбираем в качестве диска, на который выполняется установка OpenMediaVault;
  7. Если будет ошибка установки (не сможет разметить область), то вернитесь к пункту 5 (необходимо полное форматирование с уничтожением файловой системы на флешке);
  8. После установки системы программа установки начнет установку grub на флешку, которую выбрали ранее и здесь может выскочить очередная ошибка «Не удалось установить GRUB на /dev/sda». Проблема в том, что в моей системе несколько дисков, а dev/sda — это первый терабайтник который будет в RAID, а флешка transcend — /dev/sdc (В вашем случае это может быть dev/sdb или dev/sdd — смотрите внимательно когда выбираете диск, на который ставить систему). GRUB по дефолту пытается установиться не на тот раздел, поэтому сделаем это вручную. Нажимаем кнопку «продолжить».
  9. Возвращаетесь в главное меню установки debian и выбираете пункт «Запуск оболочки»;
  10. В оболочке выполняете следующие команды:

    chroot /target

    $ grub-install /dev/sd[a-z]


    Здесь a-z последняя буква вашей флешки, которую вы выбирали для установки системы. В моем случае я писал:

    grub-install /dev/sdc

    $ update-grub

    $ exit

    $ exit
  11. Вы вернулись в основное меню установки Debian, далее выбираете «Продолжить без установки загрузчика»;
  12. Установка завершается, вас просят вытащить загрузочную флешку, на которую вы изначально резали образ и компьютер перезагружается;
  13. После перезагрузки появляется приглашение ко вводу строки Login. Логиньтесь под root (пароль вы указывали при установке). После того как залогинитесь, вводите команду ifconfig, она подскажет IP адрес, который получила машина. В моем случае это был 192.168.0.244, теперь настройка OpenMediaVault может быть выполнена с помощью любого устройства через веб-интерфейс. Логин веб-морды admin, пароль openmediavault.

Настройка SFTP сервера

Дальше настройка SFTP сервера (FTP работающий по 22 порту, т.е. если включен SSH, то и защищенный FTP тоже работает сразу же):

  1. Идем на закладку «Сервисы»«SSH» в веб-морде OpenMediaVault, включаем SSH;
  2. Идем на закладку «Хранилище»«Файловые системы». Создаем раздел формата ext4;
  3. Идем на закладку «Управление правами доступа»«Пользователь». Создаем пользователя, обязательно добавляем его в группы users и ssh;
  4. Идем на закладку «Общие каталоги» и добавляем общую папку. Придумываем имя шаре, указываем том на котором она будет лежать. Путь создется сам исходя из названия. Сохраняем. Здесь же выбираем привилегии и ставим галочку чтение/запись нашего пользователя;
  5. Возвращаемся в раздел «Пользователь» и вкладке «Настройки» включаем домашнюю директорию. Путь будет называться по имени шары. Суть такая: имяШары/имяПользователя — это и будет домашняя папка. Оно там само выберется в выпадающем списке;
  6. Ставим программу CyberDuck и с помощью нее можно подключиться по защищенному ftp соединению к нашему NAS. Пишем IP сервера, логин и пароль и порт 22.

 

Выводы

В этой статье мы разобрали как выполняется настройка и установка OpenMediaVault. По вопросам пишите на ink.dude(at)mail.ru или в комментариях.

 

Update:

Вышла новая стабильная версия OpenMediaVault v3, установка производится абсолютно точно так же, никаких проблем возникнуть не должно.

Поставим плагин omv-extras для установки других плагинов:) Там будет очень много всего интересного, крайне рекомендую. В первую очередь — уменьшение записи данных на флешку, чтобы она дольше прожила

Официальный мануал http://omv-extras.org/joomla/index.php/guides

1. Качаем deb пакет для OMV 3.x http://omv-extras.org/openmediavault-omvextrasorg_latest_all3.deb

2. Идем в веб-морду нашего nas и заходим в левой панели в закладку «Плагины«



3. Нажимаем на кнопку «Загрузить» и указывает тот deb пакет, который загрузили ранее. Ждем, пока загрузится и установится.

4. Ищем его в списке плагинов (будет называться openmediavault-omvextrasorg), отмечаем галочкой и вверху нажимаем «Установить«.

5. Обновите страницу openmediavault и в левой панели в разделе «Система» увидите новую кнопку с картинкой розетки OMV-Extras, заходите туда и подключайте репозиторий который на тесте, второй по списку (перед plex)



6. Возвращаемся во вкладку «Плагины» и теперь там появилось очень много всего интересного, ищем openmediavault-flashmemory, отмечаем галочкой — устанавливаем, обновляем страницу OMV

7. Слева в панели «Хранилище» появилась новая кнопка «Flash memory«, заходим в нее и читаем «Notes», там вручную надо подправить fstab. Ничего криминального там не будет, просто подключитесь по putty с компа на ваш nas по 22 порту под root и сделайте то что указано в инструкции, потом уже включите плагин и в reboot.



2017-06-03T16:53:43
Сервер

Открытые порты Ubuntu

В современных операционных системах не обойтись без взаимодействия программ с внешней средой и интернетом.  Для этого используется специальные механизмы — порты.

Но порты представляют определённую угрозу. Если в программе есть какая-либо уязвимость, то любой пользователь локальной сети сможет получить доступ к вашему компьютеру, а в некоторых случаях даже к вашей информации. Поэтому нужно быть очень осторожным с открытыми портами. В этой статье мы разберёмся, как посмотреть открытые порты Ubuntu.

Что такое порты и зачем они нужны?

Порты — это более широкое понятие, чем просто возможность подключится к удалённому компьютеру через сеть. Когда процесс хочет обратиться к серверу, ему нужно каким-либо образом идентифицировать, к какому серверу он хочет подключиться. Если мы знаем 32 битный IP-адрес сервера, то мы можем без проблем к нему подключиться.

Но как указать программу, к которой нужно обратиться? Для решения этой проблемы оба протокола UDP и TCP поддерживают систему портов. Порт — это целое число от 1024 до 65535. Все номера до 1024 зарезервированы и используются только определёнными службами, например, 22 — ssh, http — 80, FTP — 21 и так далее.

Таким образом, процесс прослушивает определённый порт на сервере, а клиент, который хочет к нему обратиться, должен знать этот порт. Вся обработка прав доступа к портам в большинстве случаев ложится на процесс, поэтому если в его коде есть уязвимости, то это может стать серьёзной проблемой безопасности.

Открытые порты Ubuntu

Существуют не только порты, к которым программы подключаются удалённо, но и локальные порты, используемые программами для общения между собой. В качестве локальных также могут использоваться удалённые.

В Linux существует несколько утилит, которые можно использовать, чтобы посмотреть открытые порты. Одни из них полноценные сетевые сканеры, другие — локальные утилиты, отображающие всю доступную информацию. Рассмотрим основные из них.

netstat

Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:

netstat -ntlp | grep LISTEN

Опция -l сообщает, что нужно посмотреть прослушиваемые порты, -p  показывает имя программы, -t и -u — отображают TCP и UDP порты, а -n показывает ip адреса в числовом виде. Дальше нужно выбрать только те строки, где встречается слово LISTEN, чтобы найти только прослушиваемые порты.

Здесь в первом столбце отображается протокол, затем два столбца — это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес — 127.0.0.1, то это значит, что сервис доступен только на этом компьютере, а значение 0.0.0.0 или :: означает любой адрес, к таким сервисам могут подключаться из сети. В нашем примере это Apache и systemd-resolvd.

lsof

Утилита lsof тоже предназначена для просмотра открытых соединений. Основная ее функция — просмотр открытых файлов, но с её помощью можно посмотреть открытые порты Ubuntu. Используйте такие параметры:

sudo lsof -nP -i | grep LISTEN

Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и  имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.

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

sudo lsof -nP -i

ss

Команда ss — это улучшенная версия netstat. Точно так, как для замены ifconfig была придумана утилита ip, ss разработали для замены netstat. Команда будет выглядеть следующим образом:

ss -ltupn

Все данные здесь выводятся почти так же, как и в netstat, поэтому вы легко во всём разберётесь. В дополнение к выше перечисленным командам: возможно, вам нужно будет посмотреть на правила брандмауэра iptables, чтобы понять, какие порты закрыты с его помощью:

iptables -L

В нашем примере нет никаких ограничений. Политика по умолчанию — ACCEPT. На промышленных серверах может применяться политика DENY, а нужные порты будут разрешены с помощью правил.

nmap

Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:

ifconfig

Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:

nmap -sT 192.168.1.3

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

sudo nmap -A 192.168.1.3

Как пользоваться nmap, читайте в отдельной статье.