Tworzenie „chmury” OwnCloud na serwerach fizycznych oraz wirtualnych (Hyper-V)

owncloud_logoW przedsiębiorstwach, które stosują wdrożoną politykę bezpieczeństwa informacji, istotnym problemem okazuje się zabezpieczanie urządzeń przenośnych służących do przenoszenia danych pomiędzy przedsiębiorstwem a komputerami przenośnymi lub domowymi. W zależności od zapisów w polityce bezpieczeństwa, w której muszą zostać zapisane zasady odnoszące się do praw i obowiązków wynikających z wynoszenia danych poza organizację, muszą zostać wypracowane metody ich zabezpieczania podczas przenoszenia. Jeśli w sieci przedsiębiorstwa poziom bezpieczeństwa danych jest akceptowalny, to przedsiębiorstwo może utracić nad nimi kontrolę podczas przenoszenia danych pomiędzy komputerami. Generuje to istotne luki w bezpieczeństwie – w szczególności wówczas, gdy przenoszone dokumenty są szczególnie ważne dla organizacji. Praktyka wykazuje jednak, że istnieją stanowiska pracy, które wymagają pracy zdalnej lub też wymagające przetwarzania danych poza organizacją. Wiąże się to z koniecznością użycia pamięci przenośnych, takich jak: pendrive’y, dyski zewnętrzne USB, czy karty pamięci. Istotnym problemem przy korzystaniu z urządzeń przenośnych jest ich kontrola oraz ewidencjonowanie. Istnieje kilka rozwiązań umożliwiających kontrolę, wprowadzanie ograniczeń, czy też – blokowania. Jednym z najprostszych jest stosowanie oprogramowania do selektywnego blokowania i włączenie dostępu wybranym pracownikom, co pozwala zmniejszyć ryzyko wycieku lub kradzieży danych, lecz nie rozwiązuje to w żaden sposób bezpieczeństwa fizycznego tych urządzeń, na których dane są przenoszone. Innym sposobem jest zastosowanie oprogramowania, które oprócz selektywnego zarządzania każdym z urządzeń, umożliwia szyfrowanie ich zawartości. Wadą wszystkich przedstawionych powyżej metod jest ryzyko utraty danych na skutek awarii urządzenia. Użytkownicy często pracują na dokumentach zapisanych bezpośrednio w pamięci przenośnej, zamiast w pierwszej kolejności skopiować dane na dysk komputera, co jeszcze bardziej zwiększa ryzyko utraty danych. Urządzenia pamięci przenośnych charakteryzują się dużą awaryjnością, co w szczególności dotyczy pamięci typu pendrive, natomiast odzyskiwanie danych w domowych warunkach jest trudne, a czasem wręcz niemożliwe.

Naczelną zasadą w bezpieczeństwie informatycznym jest redundancja możliwie największej liczby obszarów (RAID, zasilanie, Active Directory, łącze, etc.), stąd naturalnym sposobem zwiększenia bezpieczeństwa przenoszonych danych w zakresie ochrony przed kradzieżą, utratą czy też zagubieniem jest stosowanie duplikatów. Tego typu mechanizm może być z powodzeniem wdrożony przy użyciu niewielkiego nakładu finansowego. Mam tu na myśli wykorzystanie usług dzierżawy miejsca na serwerach zdalnych, takich jak OneDrive, GoogleDrive czy Dropbox. Usługi te, nazywane potocznie „chmurą”, w rzeczywistości są jedynie usługami hostingu plików, zaś pojęcie „chmury” ma znacznie szerszy kontekst. Usługi – w tym także udostępniane bezpłatnie oferują (także w darmowej wersji) powierzchnię serwera na przechowywanie plików, pozwalając skutecznie eliminować pamięci przenośne, dzięki działającym na komputerach klienckich agentom, synchronizującym dane poprzez sieć Internet. Co więcej, oprócz zainstalowanych na komputerach firmowych czy domowych, oferują dodatkowo aplikacje dedykowane urządzeniom przenośnym, za pomocą których można uzyskiwać dostęp do własnych danych ze smartfonów czy tabletów. W wielu przypadkach darmowa powierzchnia oferowana przez te usługi do od 2 do 15GB, co pozwala na przechowywanie wielu dokumentów.

Pod tym linkiem można zapoznać się z ofertą dysków wirtualnych.

Usługi te muszą być stosowane wraz z dodatkowymi zabezpieczeniami, takimi jak: silne hasła, szyfrowanie dysku (np. Bitlocker z modułem TPM lub bez) oraz przy aktywnym haśle BIOS, ponieważ zainstalowany agent usługi w systemie posiada na stale zapisane hasło, stąd każdy, kto uzyska dostęp do konta użytkownika w systemie, ma nieograniczony dostęp do jego danych. Przed wdrożeniem dostępnych rozwiązań, warunki korzystania z tych usług muszą zostać ujęte w polityce bezpieczeństwa, pracownicy przeszkoleni i zobowiązani pisemnie do przestrzegania zasad bezpieczeństwa.



Problem z usługami oferowanymi przez duże korporacje polega na tym, że istotne dane biznesowe organizacji przechowywane są poza systemem organizacji, co może narazić przedsiębiorstwo na szereg niebezpieczeństw, takich jak szpiegostwo przemysłowe. Najgorszym przypadkiem są te usługi, które swoje datacenter ulokowały poza krajami członkowskimi UE. Co więcej – niektóre zapisy dotyczące warunków przechowywania danych są kontrowersyjne i należy dokładnie przeanalizować je przed wyborem tego typu usług. Sugeruję w tym przypadku korzystać z usług polskich firm, które posiadają datacenter położone na terenie Polski lub firm, które posiadają datacenter na terenie Unii Europejskiej a przy tym techniczne i licencyjne warunki przechowywania danych gwarantują duży stopień bezpieczeństwa.

Sprawdzonym rozwiązaniem może być także utworzenie własnej usługi przechowywania plików. Wdrożenie tego typu usługi jest tanie, a przy tym charakteryzuje się akceptowalnym bezpieczeństwem technologii oraz przechowywania, bowiem pliki znajdują się na dyskach serwera organizacji, zaś administrator czy osoby decyzyjne w organizacji mogą mieć dostęp do przetwarzanych danych przez pracowników. Rozwiązanie to charakteryzuje się także dużymi możliwościami rozszerzenia powierzchni na dane, bowiem z czasem pracownicy mogą potrzebować więcej miejsca, które w prosty sposób można zapewnić poprzez zwiększanie pamięci dyskowej.

Jedną z najbardziej rozpowszechnionych systemów tego typu jest OwnCloud, który z powodzeniem można wdrożyć w organizacji. Jest to aplikacja napisaną w języku PHP i wydana na licencji AGPLv3, która pozwala na darmowe utworzenie osobistego, bądź firmowego dysku umożliwiającego dostęp do dokumentów, filmów, muzyki, zdjęć, kontaktów i kalendarzy za pośrednictwem internetu. Dostęp realizowany jest przez przeglądarkę internetową, bądź poprzez protokół WebDAV. Możliwości tego rozwiązania są o wiele większe.

Funkcjonalność OwnCloud

  • przechowywanie plików,
  • udostępnianie pliki wewnątrz pomiędzy grupami i pojedynczymi użytkownikami,
  • udostępnianie publicznie z zabezpieczeniem hasłem dostępu oraz czasu dostępności,
  • montowanie innych zasobów czy usług dyskowych,
  • wersjonowanie plików, które umożliwia cofnięcie zmian w dokumencie,
  • szyfrowanie katalogu użytkownika,
  • kosz na usunięte dokumenty,
  • klienty dla systemów Windows, Mac OS X, Linux, Android oraz iOS,
  • zarządzanie kontaktami, kalendarzami i zakładkami,
  • synchronizacja kontaktów i kalendarzy z urządzeniami mobilnymi i aplikacjami poprzez calDAV i cardDAV,
  • zarządzanie grupami kalendarzy oraz udostępnianiem ich wybranym użytkownikom oraz grupom,
  • galeria zdjęć i odtwarzacz muzyczny,
  • aplikacja dokumenty (w wersji 6 ownCloud) do grupowej edycji dokumentów odf,
  • wsparcie dla plików PDF i ODF.

Bezpieczeństwo przechowywania plików zapewnia wersjonowanie plików oraz możliwość szyfrowania katalogu użytkownika. Wersjonowanie zapewnia kontrolę nad kolejno modyfikowanymi plikami, gdzie zawsze można powrócić do wcześniejszej wersji pliku.

Niezbędne narzędzia do utworzenia usługi:

  1. Serwer lub komputer pełniący rolę serwera. Dla 50 klientów można zastosować dowolny komputer z pamięcią 1 lub 2GB (lub więcej). Dla większej ilości klientów, lepiej zastosować dedykowany serwer fizyczny lub wirtualny.
  2. Stałe łącze do Internetu. W moim przypadku jest Neostrada z modemem LiveBox, jednak może to być dowolne inne łącze, najlepiej ze stałym adresem IP. W przypadku łącza z dynamicznie przydzielanym IP, konieczne będzie wykorzystanie np. serwisu ddns.net. Łącze DSL sprawdzi się o wiele lepiej niż Neostrada. Oczywiście szybsze łącza będą bardziej odpowiednie w przypadku dużej ilości podłączonych klientów.

Pobieranie systemu operacyjnego Ubuntu Server

Obraz serwera należy pobrać ze strony http://www.ubuntu.com/download/server. Po pobraniu, jeśli instalacja ma się odbywać na urządzeniu fizycznym, należy nagrać obraz systemu na płycie. Jeśli zaś instalacja będzie się odbywać na hypervisorze, wystarczy obraz .iso, który zostanie dołączony na koniec tworzenia maszyny wirtualnej.

Konfiguracja Hyper-V

Poniższy opis dotyczy wyłącznie przypadku, gdy usługa OwnCloud będzie wirtualizowana na hyperwisorze Microsoft. Jeżeli zaś instalacja będzie odbywać się na serwerze fizycznym, tę część należy pominąć.

Pierwszą czynnością jest stworzenie nowego przełącznika wirtualnego, który umożliwi maszynie wirtualnej na dostęp do bezpośredniej komunikacji z Internetem. Aby utworzyć nowy przełącznik, należy użyć opcji: Akcja->Manadżer przełącznika wirtualnego.

switche1

Jako typ przełącznika należy zaznaczyć: zewnętrzny, a następnie kliknąć: Utwórz przełącznik wirtualny.

switche2

W polu nazwa, należy wpisać dowolną nazwę tworzonego przełącznika, która w tym przypadku to Cloud – Linux. W opcji sieć zewnętrzna należy wybrać kartę sieciową, która będzie podłączona do routera.

Tworzenie maszyny wirtualnej

W przypadku wyboru wirtualizacji, będąc w przystawce zarządzania, należy utworzyć nową maszynę wirtualną poprze menu Akcja->Nowe->Maszyna wirtualna.

hyperv1

W polu nazwa należy wpisać przyjazną nazwę nowo tworzonej maszyny i kliknąć Dalej>.

hyperv2

Następnie należy zdefiniować pamięć RAM dla maszyny, która w moim przypadku wynosi 2GB i sprawuje się bardzo dobrze. Jeśli jednak serwer ma obsługiwać większą ilość klientów, warto podać 4GB lub więcej – w zależności od dostępnej pamięci RAM serwera.

hyperv3

Kolejnym krokiem jest wybór komunikacji tworzonej maszyny z Internetem. Należy wybrać nazwę nowo utworzonego przełącznika, który pośredniczy pomiędzy maszyną, a routerem podłączonym do Internetu.

hyperv4

Przedostatnim etapem jest skonfigurowanie wirtualnego dysku twardego, którego powierzchnia zależy od ilości przechowywanych danych oraz od zasobów serwera. Oczywiście im większa powierzchnia, tym więcej danych klientów pomieści chmura.

hyperv5

Ostatni etap tworzenia nowej maszyny wirtualnej to podłączenie pobranego obrazu serwera Ubuntu z rozszerzeniem .iso jako dysku CD/DVD, z którego automatycznie nastąpi jego instalacja. Należy wybrać opcję Zainstaluj system operacyjny z rozruchowego dysku DC/DVD-ROM, zaś jako plik obrazu wskazać pobrany plik .iso.

hyperv6

Ostatnie okno kreatora zawiera podsumowanie konfiguracji, zaś kliknięcie przycisku Zakończ spowoduje utworzenie nowej maszyny wirtualnej, która będzie automatycznie dostępna na liście dostępnych maszyn.

Przede wszystkim należy teraz uruchomić nową maszynę wirtualną (prawy klawisz na nazwie maszyny -> Uruchom) oraz podłączyć się do niej (prawy klawisz na maszynie->Połącz). Nastąpi instalacja serwera Linux Ubuntu.

Instalacja Ubuntu Server

Instalacja systemu została opisana w tym artykule.

Po zainstalowaniu systemu, należy zalogować się w konsoli i pobrać pakiety integracji z wirtualizacją (tylko w przypadku, gdy Linux został zainstalowany jako maszyna wirtualna):

apt-get install --install-recommends linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial

Po instalacji, można przejść do kolejnych kroków.

Instalacja MySQL

Pierwszym pakietem, który należy pobrać i zainstalować jest baza danych MySQL. Aby zainstalować serwer, wystarczy wpisać polecenie:

sudo apt-get install mysql-server

Podczas instalacji, instalator poprosi użytkownika o podanie hasła root dla serwera. Warto zdefiniować sile hasło i przechowywać je w bezpiecznym miejscu, ponieważ będzie ono przydatne przy konfigurowaniu serwera SQL. Po zainstalowaniu, można w prosty sposób sprawdzić, czy demon pracuje, wydając polecenie service mysql status.

Jeśli serwer jest aktywny, należy podłączyć się do konsoli zarządzania serwera MySQL:

sudo mysql -u root -p      (należy podać hasło zdefiniowane przy instalacji MySql)

utworzyć nową bazę danych:

CREATE DATABASE owncloud;

dodać użytkownika oraz nadać mu uprawnienia do tworzonej bazy:

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'hasło';

Po wykonankiu powyższych poleceń można wyjść z konsoli MySql:

exit

Instalacja serwera WWW – Apache2

OwnCloud wymaga do pracy serwera WWW – Apache. Aby zainstalować serwer, należy wydać komendę:

sudo apt-get install apache2

Po zakończeniu instalacji, można sprawdzić działanie serwera, wpisując w przeglądarkę adres serwera: http://192.168.1.2, gdzie powinna ukazać się domyślna strona Apache.



Instalacja PHP

Php jest interpretowanym językiem programowania, który jest wymagany, ponieważ OwnCloud jest napisany właśnie w tym języku. Aby zainstalować PHP, należy wpisać:

sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php5 sudo apt-get install imagemagick

zaś, po zainstalowaniu, należy zainstalować także dodatki do PHP:

sudo apt-get install php7.0-mysql 
sudo apt-get install php7.0-gd php7.0-curl 
sudo apt-get install php7.0-zip php7.0-dom php7.0-mb
php7.0-intl php7.0-mcrypt php7.0-bz2 php7.0-zip

Pobieranie OwnCloud na dysk serwera

Pobieranie pakietu OwnCloud odbywa się poprzez wydanie komendy:

wget https://download.owncloud.org/community/owncloud-9.1.1.tar.bz2

Następnie należy rozpakować pobrane archiwum:

tar - xjf owncloud-9.1.1.tar.bz2

i przenieść rozpakowany katalog do domyślnego katalogu www serwera apache, który znajduje się w /var/www/html poleceniem:

cp -r owncloud /var/www/html

Teraz można otworzyć w przeglądarce adres http://adres_serwera/owncloud. Prawdopodobnie zostanie wyświetlony błąd: Can’t write into config directory! This can usually be fixed by giving the webserver write access to the config directory.

sudo chown -R www-data:www-data /var/www/owncloud/

Tym razem skrypt instalacyjny załaduje się poprawnie i będzie informował o ew. braku zależności w pakietach.

Następnym krokiem jest konfiguracja katalogu OwnCloud w serwerze Apache.

Należy w tym celu utworzyć nowy plik:

sudo touch /etc/apache2/sites-available/owncloud.conf

Wpisać do niego poniższą zawartość pleceniem:

sudo nano /etc/apache2/sites-available/owncloud.conf

Alias /owncloud "/var/www/owncloud/"
<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All
 <IfModule mod_dav.c>
  Dav off
 </IfModule>
 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
</Directory>

oraz utworzyć łącze symboliczne do stron włączonych:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

oraz włączyć w serwerze WWW kilka modułów:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo a2enmod xml

na koniec należy zrestartować serwer poleceniem: sudo service apache2 restart. Po tych czynnościach można ponownie skontrolować działanie strony. Jeśli wszystko działa, można przystąpić do dalszych czynności.

Konfiguracja szyfrowania SSL dla serwera Apache

Choć usługa będzie prawidłowo działać już na tym etapie, trudno jednak uznać obecny stan konfiguracji za bezpieczny, ponieważ komunikacja pomiędzy klientem a serwerem odbywa się bez szyfrowania. Należy więc zastosować mechanizm SSL, który zapewni szyfrowanie przesyłanych danych.

Włączenie SSL spowoduje, że strona usługi będzie dostępna pod adresem https, zaś zestawienie połączenia będzie odbywać się w następujących etapach: podłączenie klienta, odpowiedź serwera z certyfikatem (x509), weryfikacja ważności certyfikatu, wygenerowanie klucza symetrycznego przez klienta i zaszyfrowanie go asymetrycznie za pomocą klucza publicznego serwera, przesłanie przez klienta klucza symetrycznego w postaci zaszyfrowanej do serwera, odebranie go przez serwer, zweryfikowanie danych i odszyfrowanie klucza, transmisja szyfrowana.

W celu włączenia szyfrowania, należy dokonać modyfikacji konfiguracji. W pierwszej kolejności należy włączyć w serwerze Apache następujące moduły (konsola):

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 reload

Teraz już można spróbować wywołać stronę https://domena/owncloud

apachessl1

Niestety certyfikat Apache podpisywany własnym CA zawsze będzie wymagał od użytkownika ręcznego dodania tego certyfikatu jako zaufanego. Jednak w przypadku usługi dedykowanej pracownikom organizacji, kwestia zaufania do witryny, tożsamości serwera oraz certyfikatu jest w mojej opinii akceptowalna.

Po kliknięciu Zaawansowane i kontynuacja, strona otworzy się poprawnie i będzie działać szyfrowanie, jednak certyfikat domyślny budzi wątpliwości co do wystawcy, co widać na obrazku poniżej.

certowncloudbad

Istnieje kilka dróg rozwiązania:

  1. Zakup certyfikatu u dostawcy, co jednak wiąże się z kosztami.
  2. Wykorzystanie darmowego certyfikatu, jednak wygenerowany root certyficat własnego CA nie będzie dostępny w przeglądarkach internetowych, co spowoduje, że użytkownicy, którzy otworzą stronę, bądź połączą się za pomocą klienta do usługi, zobaczą błąd o braku podpisu przez zaufane centrum autoryzacyjne.

W tym artykule zostanie przedstawiony opis metody drugiej, w której zostanie wygenerowany certyfikat, w którym zostaną zapisane dane organizacji, co umożliwi jego identyfikację przez pracowników.

Tworzenie samopodpisującego się certyfikatu

Wszystkie komendy należy wpisywać w konsoli. Najpierw należy utworzyć katalog, w którym będą przechowywane certyfikaty:

sudo mkdir /etc/apache2/ssl

Następnie należy wygenerować klucz i certyfikat

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Podczas tego kroku, należy podać kilka informacji. Podczas tworzenia certyfikatów nie używaj polskich znaków diakrytycznych (ą, ł, ó, Ł, Ó, itp.) oraz znaków specjalnych (< > ~ ! @ # $ % ^ * / \ ( ) ? . , &).

Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Województwo
Locality Name (eg, city) []:Miasto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizacja
Organizational Unit Name (eg, section) []:Nazwa np. wydziału
Common Name (e.g. server FQDN or YOUR name) []:twoja_omena.pl
Email Address []:twoj_adres_email@domena.pl

Certyfikaty zostaną wygenerowane do nowo utworzonego katalogu. Pozostało jedynie podłączyć certyfikat z Apachem. A tym celu należy wyedytować plik konfiguracyjny serwera i wprowadzić zmiany:

sudo nano /etc/apache2/sites-enabled/@default-ssl.conf

Nowy plik konfiguracyjny:

<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
 ServerAdmin adresemail@domena.pl
 ServerName twoja_domena.pl
 ServerAlias www.twoja_domena.pl
 DocumentRoot /var/www/html
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl/apache.crt
 SSLCertificateKeyFile /etc/apache2/ssl/apache.key
 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>
 </VirtualHost>
</IfModule>
<IfModule mod_headers.c>
 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>

Na koniec należy ponownie zrestartować usługę serwera WWW

Instalacja OwnCloud przez instalator (o ile nie wystąpiły błędy):

owncloudinst1

  • Username: nazwa konta administratora, który będzie zarządzał pozostałymi użytkownikami,
  • Password: hasło konta administratora,
  • Data folder: folder fizyczny, w którym będą przechowywane dane użytkowników, warto dla bezpieczeństwa wybrać katalog spoza dostępnego /var/www – proponuję wpisać /var/clouddata (lub inny – losowy, zaś jeśli wystąpi błąd podczas instalacji, należy „ręcznie” utworzyć katalog w konsoli i przyznać prawa dostępu sudo chown -R www-data:www-data /var/clouddata/.
  • Database user: użytkownik bazy danych – owncloud,
  • Database password: hasło do bazy danych, które zostało zdefiniowane podczas tworzenia bazy danych i użytkownika,
  • Database name: nazwa bazy danych – owncloud,
  • localhost: serwer bazy danych, w tym przypadku zawsze localhost, chyba, że baza znajduje się na innej maszynie.

Przyciśnięcie Finish setup spowoduje utworzenie tabel w bazie danych i skonfigurowanie chmury.

Na koniec instalator wyświetli okno z propozycją pobrania klientów chmury dla różnych systemów operacyjnych (desktop oraz mobilnych).

owncloudinst2

Problemy z połączeniem od strony Internetu

Usługa będzie działać poprawnie wyłącznie wówczas, gdy dostępne jest połączenie z zewnątrz na serwer Linux dostępny w strefie zdemilitaryzowanej bądź są przekierowane porty na konkretny serwer. W przypadku Neostrady i routera Livebox jest to ustawienie opcji w NAT/PAT. Jeżeli jednak usługodawca internetowy nie pozwala na połączenia z zewnątrz poprzez port 443, lub też działa już inna usługa na tym porcie, należy zmienić port nasłuchu serwera Apche np. z portu 443 na port 10443.  W tym celu należy dokonać zmiany w konfiguracji:

sudo nano /etc/apache2/ports.conf

zmienić porty 443 na 10443, zapisać zmiany  oraz w /etc/apache2/sites-enabled/@default-ssl.conf w wierszu <VirtualHost _default_:443> na <VirtualHost _default_:10443> a następnie zrestartować serwer WWW:

sudo service apache2 restart

Następnie, jeśli to konieczne, dokonać modyfikacji wpisów w zaporze routera i ponownie spróbować się połączyć z zewnątrz.

Uwaga! – Zmiana portu lub adresu usługi OwnCloud wymaga jednocześnie zmiany w pliku konfiguracyjnym, gdzie należy dokonać zmiany trusted_domain.

'trusted_domains' =>
  array (
   0 => 'localhost',
   1 => 'nazwa.domeny.pl',
   2 => '192.168.1.2',
),

W przypadku, gdy zmiana portu nie zadziała z Neostradą, może się okazać, że Orange zablokował dostęp do portów z zewnątrz. Można jednak spróbować obejść zabezpieczenia operatora, dodając dodatkowy ciąg znaków do id (loginu na sesję ppp). Należy wówczas przetestować 3 poziomy bezpieczeństwa, przy czym należy mieć na uwadze, że w każdym wypadku blokowany jest port 25.

Warto wypróbować zmianę profilu domyślnego zgodnie z poniższym zestawieniem:

  • login@neostrada.pl ograniczenia dla portów 25, 135, 137, 138, 139, 445,
  • podstawowy-login@neostrada.pl ograniczenie dla portów 135, 137, 138, 139, 445,
  • bez_ochrony-login@neostrada.pl – brak ograniczeń.

Przedrostek bez ochrony lub podstawowy może być wpisany wyłącznie wielkimi, lub wyłącznie małymi literami. Kombinacje wielkich i małych liter (np.: bez_OCHRONY, czy BEZ_OchronY ) nie będą rozpoznawane i ochrona nie będzie usunięta. Po zmianie konfiguracji połączenia, należy ponownie przetestować dostęp z zewnątrz.

Polski język

Język można wybrać po zalogowaniu się na własne konto i wybraniu opcji Personal->Language, jednak aby domyślnie włączyć język polski, należy otworzyć do edycji plik config.php i dodać jedną linijkę:

sudo nano \var\www\html\owncloud\config\config.php
'default_language'=>'pl',

Po ponownym zalogowaniu, domyślnym językiem będzie język polski.

Konfiguracja dodatkowa

Będąc zalogowanym na koncie administratora, warto wprowadzić kilka zmian w konfiguracji. W menu Użytkownik->Administrator->Udostępnianie można ograniczyć maksymalny rozmiar przesyłanych plików np. na 50M (rozmiar przesyłanych plików zależy od przechowywanych danych).

Jeśli organizacja posiada wyłącznie jeden serwer OwnCloud, warto wyłączyć stowarzyszenia (opcja: Dodaj serwer automatycznie po pomyślnym utworzeniu stowarzyszonego udziału).

Podgląd plików MS Office i OpenOffice z poziomu przeglądarki

Usługa OwnCloud automatycznie posiada moduł podglądu dokumentów PDF, jednak w przypadku dokumentów OpenOffice czy Office, należy zainstalować dodatkowy pakiet i zmienić konfigurację systemu, by podgląd tego typu dokumentów odbywał się z poziomu przeglądarki. Przede wszystkim należy zainstalować z poziomu konsoli pakiet LibreOffice:

sudo apt-get install libreoffice

Menu aplikacje należy włączyć plugin Dokumenty.

Następnie w konfiguracji Administrator->Dokumenty, należy zaznaczyć w opcji: Wsparcie MS Word (wymaga openOffice/libreOffice) pierwszą wartość: lokalny (openOffice/libreOffice jest zainstalowany na tej maszynie. Ścieżka do binariów jest podawana przez preview_libreoffice_path w config.php) i kliknąć Zastosuj.

Jeśli ustawienie nie zadziała, to być może rozwiązaniem jest modyfikacja pliku Config.php, gdzie należy podać niezbędne parametry:

sudo nano /var/www/owncloud/config/config.php

i przed końcem należy dodać linie konfiguracji:

'preview_libreoffice_path' => '/usr/bin/libreoffice',
'enable_previews' => true,
'preview_max_scale_factor' => 1,

Program antywirusowy

Każdy komputer użytkownika musi być wyposażony w program antywirusowy, jednak dobrą praktyką jest instalowanie systemu antywirusowego w każdym punkcie sieci. W konfiguracji usługi OwnCloud istnieje możliwość włączenia skanowania plików pod kątem oprogramowania złośliwego, jednak w pierwszej kolejności należy taki pakiet zainstalować z poziomu konsoli:

sudo apt-get install clamav clamav-daemon clamav-freshclam

Następnie należy sprawdzić status usługi poleceniem:

sudo service clamav-daemon status

i jeśli usługa nie pracuje, należy ją uruchomić:

sudo service clamav-daemon start

Po tej operacji, można włączyć kontrolę plików w opcji Administrator->Konfiguracja antywirusa, gdzie z listy rozwijanej PROPONUJĘ wybrać Daemon (Socket). Opcja Socket pozostaje domyślna: /var/run/clamav/clamd.ctl.

W przypadku wyboru z listy: Plik wykonywalny, położenie pliku /usr/bin/clamscan jest dla Ubuntu prawidłowe i nie wymaga zmiany. Jeśli jednak nie ma pewności, gdzie został zainstalowany clamscan, należy w konsoli wydać polecenie whereis clamscan. Decyzji natomiast wymaga opcja Działania dla zainfekowanych plików znalezionych podczas skanowania, którą warto ustawić na Usuń plik.

Uwaga – stosowanie skanera antywirusowego w trybie „Plik wykonywalny” powoduje znaczne obciążenie zarówno pamięci RAM serwera oraz procesora, stąd warto wybrać opcję Daemon Socket. 

Konfiguracja użytkowników

Teraz przyszła pora na edycję użytkowników, którzy będą mieli dostęp do chmury. Należy więc kliknąć w w prawym górnym rogu w login i wybrać opcję – Użytkownicy.

Aby utworzyć użytkownika, należy wpisać nazwę nowego użytkownika oraz hasło, a następnie użyć funkcji Utwórz. Po utworzeniu, należy z listy po prawej stronie wybrać limit przydziału dyskowego.

Wymuszenie szyfrowania

Wymuszenie wykorzystania SSL warto także skonfigurować w pliku config.php, gdzie należy dodać:

'forcessl' => true,
'forceSSLforSubdomains' => true,

Po zapisaniu zmian, OwnCloud będzie zawsze wymagał szyfrowanego połączenia z klientem.

Instalacja klientów na komputerach pracowników

Aby zainstalować program – klienta na komputerze pracownika, należy pobrać wersję dla systemu ze strony https://owncloud.org/install/#install-clients. Instalacja nie wymaga opisu, jednak gdy pojawi się prośba o podanie witryny, należy wskazać: https://domena/owncloud:443 lub https://domena/owncloud:10443 (w zależności od portu, na którym nasłuchuje serwer). Następnie, jeśli certyfikat jest samopodpisywalny, należy potwierdzić zaznaczając Ufaj temu certyfikatowi mimo wszystko i kliknąć OK.

owncloud_cert_klient

Warto także w konfiguracji klienta zaznaczyć opcję Ogólne->Uruchamiaj podczas startu Windows, by agent uruchamiał się zawsze po włączeniu komputera.

Plik log znajduje się w katalogu danych i ma nazwę owncloud.log, jednak w prosty sposób można ją zmienić, a dodatkowo zarządzać kilkoma parametrami loga – w tym rotacją czy poziomem  szczegółów. Parametr log_level może przybierać wartości:

  • 0 = Debugowanie,
  • 1 = Informacje,
  • 2 = Ostrzeżenia,
  • 3 = Błędy.
  • Wartość domyślna to 2.

Modyfikacja plików loga OwnCloud w pliku config.php

'logtimezone' => 'Europe/Warsaw','log_rotate_size' => true,
'log_rotate_sizerotation' => 1048576,
'log_type' = > 'owncloud',
'log_file' => '/var/log/owncloud/owncloud.log',
'log_level' => 2,

Przeniesienie plików log do katalogu /var/log/owncloud wiąże się z utworzeniem tego katalogu i zmiany jego właściciela na www-data. Rozmiar pliku obliczany jest wzorem: X(MM) * 1024 * 1024.

Błąd CSRF check failed

Jeśli podczas logowania się na konta użytkowników za pomocą przeglądarki wystąpi błąd CSRF check failed, należy zalogować się na konto administratora, przejść do opcji Aplikacje i wyłączyć ShareFiles.

Zapora

Na koniec warto dopasować reguły zapory, co zostało opisane tu: http://leszek-klich.pl/2016/09/29/linux-firewall-ufw/

Wnioski

  1. Wdrożony system pozwolił wyeliminować pamięci przenośne w przedsiębiorstwie, które stanowiły istotne zagrożenie dla pracowników, którzy do codziennej pracy wykorzystywali je do przenoszenia danych.
  2. System działa od kilku miesięcy i charakteryzuje się bezawaryjną pracą.
  3. System nie wymaga dużych zasobów serwera i w przypadku około 40 klientów wystarczy komputer o niewielkich parametrach.
  4. Dane pracowników zostały zabezpieczone, tj. znajdujące się zaszyfrowanych komputerach przenośnych dane zostały zbublowane na serwerze, a dzięki temu, po awarii dysku twardego, która się zdarzyła, zamiast konieczności odzyskiwania danych, wystarczyła wymiana podzespołu i ponowne podłączenie się do usługi, w celu ponownej synchronizacji kopii lokalnej.
  5. Zamiast podwójnych haseł (Windows i szyfrowanie pamięci przenośnej), istnieje jedno hasło, co spowodowało istotne zmniejszenie prawdopodobieństwa zapisania hasła przez pracownika np. na kartce, co widać także po znikomej częstotliwości próśb o reset hasła.

3847total visits,3visits today

Tagi , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

2 + 2 =