Безопасное облако ownCloud

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

И так приступим к установке. Я взял чисто установленный сервер Ubuntu 14.04. Так как ownCloud убрали из стандартных репозиториев нам надо добавить репозиторий http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ сделать это легко, открываем файл:


sudo nano /etc/apt/sources.list.d/owncloud.list

И прописываем в него deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.04/ /

Облачное хранилище onwCloud

Теперь обновляем список репозиториев:


sudo apt-get update

Устанавливаем сам ownCloud, вместе с ним так же установятся все необходимые пакеты.

Облачное хранилище onwCloud

Во время установки необходимо задать пароль для mysql

Облачное хранилище onwCloud

После того как все пакеты будут установлены, нам необходимо обезопасить наше хранилище и сделать к нему доступ только по HTTPS с использованием сертификатов. Для этого мы создаем папку с сертификатами:


sudo mkdir /etc/apache2/ssl

cd /etc/apache2/ssl

Теперь создадим ключ rsa.


sudo openssl genrsa -out owncloud.key 2048
Облачное хранилище onwCloud

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


sudo openssl req -x509 -new -key owncloud.key -days 365 -out owncloud.crt
Облачное хранилище onwCloud

Я поставил срок жизни сертификата в 1 год (365 дней), можете установить любое количество дней. Сертификат можно выкладывать в открытый доступ, а вот ключ надо хранить как зеницу ока!!! Заполняем данные сертификата.

Теперь необходимо настроить apache на HTTPS. Для этого открываем файл /etc/apache2/sites-available/default-ssl.conf


sudo nano /etc/apache2/sites-available/default-ssl.conf

В нём меняем e-mail, дописываем в него после строки SSLEngine on стороку SSLProtocol all -SSLv2 тем самым отключаем устаревший протокол. И меняем два параметра на:

	SSLCertificateFile /etc/apache2/ssl/owncloud.crt #Путь к сертификату
	SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key №Путь к ключу

Теперь с помощью утилит a2enmod и a2ensite говорим apache что надо использовать SSL


sudo a2enmod default-ssl

sudo a2ensite default-ssl

Перезапускаем apache командой:


sudo services apache restart

Заходим на нашес сервер https://НашСервер/owncloud подтверждаем безопасность открытия данной страницы, так как мы знаем что это наш сервер и его сертификат безопасен. И видим окно логина, задаем имя пользователя и пароль администратора. Настоятельно рекомендую использовать эти учетные данные только для администрирования сервера.

Облачное хранилище onwCloud

Теперь нам надо сказать ownCloud чтоб он использовал только HTTPS. В правом верхнем углу нажимаем на имя учетной записи и жмем "Администрирование", пролистываем почти в самый низ до пункта "Безопасность" и ставим там галочку "Принудить к HTTPS". Все готово, теперь создаем пользователей и можно пользоваться своим собственным хранилищем.