Wielu z was na pewno zastanawia się nad tym, w jaki sposób można wykorzystać stary sprzęt komputerowy zalegający w szafie i czy istnieje możliwość przerobienia takiego sprzętu na domową wersję NAS. Odpowiedź na to pytanie jest prosta, oczywiście można to zrobić i jest do tego wiele darmowych i dobrych narzędzi, które przedstawione zostaną w tym artykule.  

Jednym z najbardziej popularnych narzędzi, które można wykorzystać do tego celu, jest oprogramowanie FreeNAS (aktualnie TrueNAS). FreeNAS jest darmowym i otwartoźródłowym systemem operacyjnym, który umożliwia tworzenie i zarządzanie NAS-em. FreeNAS obsługuje wiele protokołów udostępniania plików, takich jak SMB/CIFS, NFS, FTP czy iSCSI, a także posiada interfejs webowy umożliwiający łatwe zarządzanie i konfigurację. 

Innym narzędziem, które można wykorzystać do stworzenia domowego NAS-a, jest OpenMediaVault czyli darmowy i otwartoźródłowy system operacyjny, który oferuje wiele funkcji związanych z zarządzaniem magazynem danych, takie jak udostępnianie plików, kopie zapasowe, serwery multimediów i wiele innych. Oprócz tego istnieje wiele innych darmowych rozwiązań, które można wykorzystać do stworzenia domowego NAS-a, np. NAS4Free, XigmaNAS (dawniej znany jako NAS4Free) czy Openfiler. 

W tym artykule opisane zostały możliwości narzędzia FreeNAS. 

FreeNAS – historia powstania 

Historia powstania oprogramowania FreeNAS sięga końca lat 90. XX wieku. Olivier Cochard-Labbé, francuski programista, stworzył projekt Open Source o nazwie NASLite. NASLite to niewielki system operacyjny stworzony specjalnie dla urządzeń typu NAS (Network Attached Storage). System ten działał na komputerach z procesorem x86 i wymagał niewielkiej ilości pamięci RAM, co umożliwiało wykorzystanie starych komputerów jako serwerów plików. 

W 2005 roku Olivier Cochard-Labbé postanowił zakończyć prace nad projektem NASLite, ale jego kod źródłowy pozostał otwarty, co umożliwiło kontynuowanie pracy przez innych programistów. 

W tym samym czasie, Volker Theile, niemiecki programista, rozpoczął prace nad projektem o nazwie FreeNAS. Pierwsza wersja FreeNAS została wydana w 2006 roku i bazowała na kodzie źródłowym NASLite. FreeNAS był rozwijany jako wolne i otwarte oprogramowanie oparte na systemie FreeBSD. Volker Theile zdecydował, że FreeNAS powinien być prosty w obsłudze, a jednocześnie oferować szeroką gamę funkcji, takich jak udostępnianie plików, kopie zapasowe, serwery multimediów i wiele innych. 

W ciągu kilku lat FreeNAS zyskał popularność wśród użytkowników, a jego rozwój był finansowany przez firmę iXsystems, która zatrudniła Volker Theile jako głównego programistę. W 2011 roku wydano FreeNAS 8, która wprowadziła wiele nowych funkcji, takich jak pluginy, które umożliwiały łatwe dodawanie nowych funkcji do systemu. 

W 2015 roku wydano FreeNAS 9.3, która wprowadziła wiele nowych funkcji, w tym możliwość instalacji systemu na dysku USB, lepsze wsparcie dla dysków SSD oraz wiele innych usprawnień. 

W 2016 roku FreeNAS zmienił swoją nazwę na TrueNAS Core, a firma iXsystems rozpoczęła sprzedaż urządzeń typu NAS opartych na tym systemie operacyjnym. Jednocześnie, kod źródłowy TrueNAS Core pozostał otwarty i nadal jest rozwijany niezależnie przez społeczność programistów jako darmowe oprogramowanie. 

W 2017 roku ukazała się wersja 11.0 TrueNAS, która wprowadziła szereg usprawnień w zakresie bezpieczeństwa, stabilności i wydajności systemu. W kolejnych latach TrueNAS był rozwijany dalej, a jego najnowsza wersja 12.0, wydana w 2020 roku, oferuje jeszcze większe możliwości, w tym rozszerzone wsparcie dla systemów plików, szyfrowanie dysków, automatyczne tworzenie kopii zapasowych i wiele innych. 

Warto zauważyć, że pomimo zmiany nazwy, TrueNAS Core nadal jest darmowym i otwartoźródłowym systemem operacyjnym, który może być wykorzystany do stworzenia domowego lub firmowego serwera plików. Wersja komercyjna TrueNAS, oferowana przez firmę iXsystems, zawiera dodatkowe funkcji i wsparcie techniczne, ale jej kod źródłowy również pozostaje otwarty. 

Dzięki pracy Olivier Cochard-Labbé i Volker Theile, a także społeczności programistów, FreeNAS / TrueNAS Core stał się jednym z najpopularniejszych systemów operacyjnych dla urządzeń typu NAS. Jego prostota w obsłudze, elastyczność i szerokie możliwości sprawiają, że jest on wybierany zarówno przez użytkowników domowych, jak i małe i średnie przedsiębiorstwa. 

TrueNAS – możliwości 

TrueNAS to zaawansowany system operacyjny stworzony specjalnie dla urządzeń typu NAS, który oferuje wiele funkcjonalności i możliwości i opcji konfiguracyjnych. Śmiało można powiedzieć, że jest to najbardziej popularne i najbardziej rozbudowane, darmowe wciąż narzędzie do tego celu. 

Najważniejsze funkcje i możliwości TrueNAS: 

  1. Udostępnianie plików: umożliwia łatwe udostępnianie plików w sieci, dzięki czemu użytkownicy mogą mieć dostęp do swoich danych z dowolnego urządzenia. To standardowa i podstawowa funkcja.  
  1. Bezpieczeństwo: oferuje wiele funkcji zwiększających bezpieczeństwo danych, w tym szyfrowanie dysków, filtrowanie ruchu sieciowego, dostęp przez protokół SSH, firewall i wiele innych możliwości konfiguracji. 
  1. Kopie zapasowe: umożliwia tworzenie automatycznych kopii zapasowych danych. 
  1. Serwer multimediów:  umożliwia udostępnianie multimediów w sieci, co pozwala na łatwe odtwarzanie muzyki i filmów na różnych urządzeniach. Dzięki temu jeśli mamy bibliotekę multimediów zgromadzoną na dyskach twardych będziemy mogli dzielić się nią z innymi i uruchamiać te multimedia na różnych urządzeniach. 
  1. Wirtualizacja:  pozwala na wirtualizację systemów operacyjnych, co umożliwia uruchomienie wielu maszyn wirtualnych na jednym serwerze. 
  1. Chmura prywatna: umożliwia tworzenie prywatnej chmury, dzięki której użytkownicy mogą mieć dostęp do swoich danych z dowolnego miejsca na świecie. 
  1. Zarządzanie użytkownikami i grupami: oferuje zaawansowane funkcje zarządzania użytkownikami i grupami, co umożliwia kontrolowanie dostępu do danych. 
  1. Integracja z Active Directory: może być zintegrowany z serwerem Active Directory, co umożliwia łatwe zarządzanie użytkownikami i grupami w środowisku Windows. 
  1. Dostęp do danych: przy pomocy wielu protokołów komunikacyjnych: obsługuje wiele protokołów, takich jak SMB, NFS, FTP, iSCSI, co umożliwia łatwe udostępnianie i dostęp do danych w różnych środowiskach. 
  1. Współpraca z innymi systemami: jest kompatybilny z wieloma innymi systemami, co umożliwia łatwe integrowanie z istniejącą infrastrukturą informatyczną. 
  1. Konfigurowalna architektura pamięci masowej: oferuje wiele opcji konfiguracji pamięci masowej, takich jak RAID, ZFS, czy też dyski SSD, co pozwala na wybór odpowiedniej architektury w zależności od potrzeb użytkownika. 
  1. Monitoring i raportowanie:  pozwala na monitorowanie wydajności systemu, dzięki czemu można łatwo śledzić i diagnozować problemy związane z działaniem urządzenia. Ponadto, system umożliwia generowanie raportów na temat wykorzystania pamięci masowej, ruchu sieciowego, itp. 
  1. Wbudowany serwer LDAP: oferuje wbudowany serwer LDAP, co pozwala na łatwe zarządzanie użytkownikami i grupami. 
  1. Obsługa wirtualizacji Docker: obsługuje wirtualizację kontenerów Docker, co pozwala na łatwe uruchamianie aplikacji w izolowanych środowiskach. 
  1. Integracja z systemami backupu: może być zintegrowany z wieloma systemami backupu, co umożliwia łatwe tworzenie kopii zapasowych danych na zewnętrznych urządzeniach. 
  1. Dostęp do urządzenia przez internet: oferuje funkcję zdalnego dostępu do urządzenia, co pozwala na łatwe zarządzanie urządzeniem z dowolnego miejsca na świecie. Trzeba oczywiście przy tym pamiętać o odpowiednim zabezpieczeniu takiego urządzenia. 
  1. Automatyczna aktualizacja oprogramowania: oferuje funkcję automatycznej aktualizacji oprogramowania, co pozwala na łatwe utrzymanie urządzenia w aktualnej wersji. Podniesie to nie tylko komfort wzbogacając urządzenie o nowe funkcje, ale przede wszystkim zadba o odpowiednie bezpieczeństwo. 
  1. Obsługa wielu języków: obsługuje wiele języków, co umożliwia korzystanie z systemu w różnych krajach i regionach w tym także obsługuje nasz rodzimy język polski. 

TrueNAS Core, a TrueNAS Scale – różnice 

Rozwiązanie opisywane w tym artykule posiada dwie wersje – TrueNAS Core i TrueNAS Scale, które nieco się od siebie różnią. Najważniejsze różnice między tymi dwoma rozwiązaniami to: 

System plików: TrueNAS Core korzysta z systemu plików ZFS, podczas gdy TrueNAS Scale wykorzystuje system plików OpenZFS. 

Interfejs graficzny: TrueNAS Core ma bardziej tradycyjny interfejs graficzny, który jest znany użytkownikom z poprzednich wersji systemu FreeNAS. TrueNAS Scale natomiast posiada bardziej nowoczesny interfejs oparty na technologii webowej. 

Architektura: TrueNAS Core bazuje na FreeBSD, podczas gdy TrueNAS Scale działa w oparciu o system Debian. 

Wspierane aplikacje: TrueNAS Core obsługuje wiele aplikacji, takich jak Owncloud, Plex, czy BitTorrent Sync, natomiast TrueNAS Scale skupia się na wirtualizacji i konteneryzacji, obsługując takie technologie jak Docker i Kubernetes. 

Wymagania sprzętowe: TrueNAS Scale wymaga nowocześniejszego sprzętu, w tym procesorów x86_64 z obsługą wirtualizacji, co może wpłynąć na koszt wdrożenia. 

Model biznesowy: TrueNAS Core jest w pełni darmowy i otwartoźródłowy, natomiast TrueNAS Scale oferuje modele subskrypcji z różnymi poziomami wsparcia technicznego i usługami w chmurze. 

Model rozwijania: TrueNAS Core jest rozwijany przez społeczność iXsystems oraz użytkowników, którzy mają wkład w projekcie. TrueNAS Scale z kolei jest rozwijany głównie przez iXsystems, a także ma społeczność użytkowników i deweloperów. 

Skalowanie: TrueNAS Core obsługuje skalowanie w pionie, co oznacza, że można dodawać więcej zasobów sprzętowych, takich jak dyski twarde, aby zwiększyć wydajność i pojemność systemu. TrueNAS Scale natomiast skupia się na skalowaniu w poziomie, co oznacza, że można dodawać dodatkowe węzły klastra, aby zwiększyć wydajność i pojemność. 

Wspierane protokoły: TrueNAS Core obsługuje wiele protokołów, takich jak SMB, NFS, AFP, iSCSI, S3 i FTP. TrueNAS Scale obsługuje natomiast SMB, NFS, iSCSI i S3. 

Wirtualizacja: TrueNAS Core oferuje wbudowane wsparcie dla wirtualizacji przy użyciu technologii bhyve, natomiast TrueNAS Scale skupia się na konteneryzacji przy użyciu technologii Docker i Kubernetes. 

Przepustowość: TrueNAS Core ma tendencję do osiągania lepszej przepustowości niż TrueNAS Scale, co jest związane z wykorzystywanym systemem plików oraz architekturą systemu. 

Dostępność: TrueNAS Core jest dostępny na większą liczbę platform sprzętowych, w tym na architekturze ARM, natomiast TrueNAS Scale wymaga procesorów x86_64. 

Te wymienione wyżej różnice to główne między tymi dwoma rozwiązaniami, dzięki czemu możemy łatwiej dokonać wyboru rozwiązania, które będziemy chcieli wdrożyć u siebie. 

Bezpieczeństwo plików i systemu TrueNAS 

TrueNAS to system przechowywania danych, który został zaprojektowany z myślą o bezpieczeństwie danych. Niżej omówię kilka mechanizmów, które zastosowano w TrueNAS, aby zapewnić maksymalny poziom bezpieczeństwa nie tylko plików, ale i ogólnego korzystania z tego rozwiązania: 

  1. TrueNAS opiera się na systemie plików ZFS, który oferuje szereg mechanizmów bezpieczeństwa, takich jak mechanizmy weryfikacji integralności danych i automatycznej naprawy błędów. ZFS również oferuje wersjonowanie plików, co pozwala na łatwe przywracanie danych w przypadku przypadkowego usunięcia lub uszkodzenia.
  2. TrueNAS oferuje wiele wbudowanych narzędzi bezpieczeństwa, takich jak wirtualne interfejsy sieciowe (VLAN), kontrolę dostępu do plików (ACL) oraz protokoły szyfrowania (SSL/TLS).
  3. TrueNAS umożliwia autoryzację i uwierzytelnianie użytkowników za pomocą różnych metod, takich jak LDAP, Active Directory, a także wbudowanych systemów autoryzacji i uwierzytelniania.
  4. TrueNAS oferuje wbudowane narzędzia do tworzenia i przechowywania kopii zapasowych, co zapewnia ochronę przed utratą danych z powodu awarii sprzętu lub innych czynników. Kopie mogą być przechowywane lokalnie lub zdalnie.
  5. TrueNAS oferuje możliwość audytowania systemu, co pozwala na monitorowanie i rejestrowanie działań użytkowników oraz zmian w konfiguracji systemu.
  6. TrueNAS regularnie wydaje aktualizacje, które zawierają łatki bezpieczeństwa i poprawki błędów, co zapewnia ciągłe ulepszanie i zwiększanie poziomu bezpieczeństwa systemu.
  7. TrueNAS zawiera wbudowany firewall, który umożliwia kontrolowanie ruchu sieciowego i zwiększenie bezpieczeństwa systemu. Dzięki temu możemy podnieść bezpieczeństwo jeśli chcemy wystawić na zewnątrz to rozwiązanie.
  8. TrueNAS oferuje wbudowane narzędzia monitorowania, które umożliwiają kontrolowanie wydajności i dostępności systemu, co pozwala na szybką reakcję na wszelkie problemy i zagrożenia. 
  9. Szyfrowanie danych w TrueNAS może odbywać się na dwóch poziomach: na poziomie systemu plików oraz na poziomie protokołów sieciowych. Szyfrowanie na poziomie systemu plików polega na zastosowaniu odpowiedniego szyfrowania dla każdego pliku lub folderu. Dzięki temu, nawet jeśli dane zostaną skradzione lub nieuprawnione osoby uzyskają do nich dostęp, nie będą w stanie ich odczytać bez klucza szyfrowania. W TrueNAS możliwe jest szyfrowanie danych przy użyciu algorytmów AES-XTS, AES-CBC oraz Blowfish.  Szyfrowanie danych na poziomie protokołów sieciowych to proces szyfrowania danych podczas ich transmisji przez sieć. Dzięki temu, nawet jeśli dane są przechwycone przez nieuprawnioną osobę, nie będzie ona w stanie ich odczytać bez klucza szyfrowania. W TrueNAS możliwe jest szyfrowanie danych przy użyciu protokołów SSL/TLS, SSH i IPSec. 
  10. TrueNAS wykorzystuje mechanizmy weryfikacji integralności, aby wykryć wszelkie próby naruszenia danych. Mechanizm ten pozwala na szybkie wykrycie i reakcję na wszelkie zmiany w danych, które nie powinny mieć miejsca. 
  11. TrueNAS oferuje zaawansowane funkcje kontroli dostępu do zasobów systemu, takie jak mechanizmy ACL, role, grupy i użytkownicy, co pozwala na dokładne określenie, kto ma dostęp do jakich zasobów.
  12. TrueNAS umożliwia wykrywanie zagrożeń, takich jak ataki z zewnątrz czy próby włamania, co pozwala na szybką reakcję i ochronę danych. 

Podsumowując, TrueNAS to innowacyjne i bezpieczne rozwiązanie do przechowywania i zarządzania danymi. Poniżej przedstawiam argumenty, które przemawiają za wykorzystaniem TrueNAS z punktu widzenia bezpieczeństwa. TrueNAS wykorzystuje wiele różnych mechanizmów zabezpieczeń, w tym funkcje szyfrowania, autentykacji i kontroli dostępu, co pozwala na utrzymanie wysokiego poziomu bezpieczeństwa. Oferuje także szereg narzędzi do monitorowania systemu, które pomagają w wykrywaniu problemów i szybkim reagowaniu w przypadku awarii lub problemów z wydajnością systemu. TrueNAS może być łatwo skalowany w zależności od potrzeb, co pozwala na dostosowanie systemu do rosnących wymagań biznesowych. 

Dzięki temu TrueNAS stanowi doskonałe rozwiązanie dla firm i organizacji, które potrzebują bezpiecznego i niezawodnego systemu do przechowywania i zarządzania danymi, ale także nadaje się doskonale do zakładanego przez nas celu, czyli wykorzystania starego sprzętu i zamianę go w narzędzie do przechowywania danych.