Drugie życie starych maszyn - Linuksowy serwer FTP - TechPolska.pl

Drugie życie starych maszyn – Linuksowy serwer FTP

Technologia nie stoi w miejscu, a czasy świetności podzespołów przemijają z każdą sekundą. Dawne kombajny multimedialne dzisiaj budzą jedynie uśmiech politowania oraz przywracają z pamięci miłe wspomnienia.
Czemu jednak ponownie tego wszystkiego nie wykorzystać? Warto przecież poświęcić chwilę i pozwolić, by sprzęt ten zyskał drugie życie!

 

Sprzęt i system

Za platformę posłuży Dell Optiplex 740, który nigdy nie był specjalnie mocnym komputerem. Nie jest to jednak dla nas problemem, w jego obecnej sytuacji sprosta większości postawionych przed nim zadań.

Skrócona specyfikacja:
CPU: AMD Athlon 64 X2 3800+ @ 2.0 GHz
RAM: 4x 512 MB @ 667 MHz
GPU: Nvidia GeForce 6150 LE

Dodatkowo zamontowane są w środku trzy, niezależne karty sieciowe – to jednak jest temat na całkowicie osobny, równie ciekawy artykuł, więc nie będziemy poruszać szerzej tej kwestii.

Całością zarządza system operacyjny Debian 9.1.0 „Stretch” w wersji 64 bitowej, bez jakiegokolwiek DE czy nawet zainstalowanego X11.
Nie będzie nam to w żaden sposób potrzebne, a pozwoli oszczędzić i tak limitowane już zasoby.

neofetch serwera

 

Główne cele

Zadania, jakie postawiłem przed tym Dellem, to możliwość zdalnego zarządzania za pomocą SSH (telnet nie będzie brany pod uwagę), wgrywania oraz pobierania plików dzięki FTP, a także hostowania dedykowanych serwerów gier.

Jest to tylko bardzo niewielki wycinek możliwości.
Czemu by nie uczynić komputera, np. serwerem DHCP czy DNS? Albo nawet przerobić go w pełnoprawny router?

Ogranicza nas tak naprawdę tylko nasza wiedza, umiejętności i wyobraźnia.
Osobiście zdecydowałem się na takie rozwiązania w powodu ogromnej podatności na modyfikacje Garry’s Moda oraz grupki znajomych chętnych do grania i zarządzania maszyną.
Pozostałe rzeczy mają tylko ułatwić to zadanie.

Nikt jednak nikomu nie zabrania uczynić naszą maszynę miejsce spotkań staroszkolnego Call Of Duty, czy do dziś rozpamiętywanego pierwszego Modern Warfare.
A może postawicie na tym coś zupełnie innego?

 

OpenSSH

Wydając polecenie aptitude install openssh-server pobieramy odpowiednie pakiety, które pozwolą nam odpowiednio ustawić serwer SSH.
Nie jest to zadanie skomplikowane, bo tak naprawdę standardowa konfiguracja zapewnia nam już pełną funkcjonalność.

Jednakże poleceniem vim /etc/ssh/sshd_config otwieramy plik konfiguracyjny.

Warto tutaj wspomnieć o kilku zagadnieniach:

Port – standardowo serwer działa na porcie 22, lecz możemy dowolnie ustawić nasłuch TCP na np. 2222
PermitRootLogin – ustala, czy możliwym będzie logowanie do serwera jako root, nie polecam na to zezwalać
PrintLastLog – określa, czy należy wyświetlać dane o ostatnim logowaniu do serwera
ListenAddres – adresy IP, na których oczekiwane są połączenia
LoginGraceTime – czas po którym serwer rozłączy użytkownika, który nie przeszedł pomyślnie próby autoryzacji

Te i wiele innych parametrów można znaleźć znacznie dokładnie opisane w manualu użytkownika, do którego lektury zachęcam.

Aby połączyć się z naszym serwerem, musimy najpierw zrestartować cały proces komendą systemctl restart sshd, a następnie wystarczy wpisać:

# ssh -p port login@adres

Oczywiście podstawiając prawdziwe dane w miejsce przykładów.
Polecam także systemctl enable sshd, aby mieć pewność, że serwer uruchamia się wraz ze startem naszego systemu.

 

ProFTPD

W przypadku ProFTPD możliwości konfiguracji i dostosowania serwera jest ogrom i każdy znajdzie coś dla siebie. My jednak zajmiemy się bardzo podstawową funkcjonalnością, która umożliwi nam łączenie się z serwerem, jako uprawniony do tego użytkownik, oraz w sposób anonimowy.

W tym celu, komendą aptitude install proftpd-basic zaopatrujemy się w potrzebne nam narzędzia.

Pliki konfiguracyjne znajdują się w głównie w katalogu /etc/proftpd/, jednak lepszym wyjściem jest, gdy niektóre z nich zapisane zostaną w katalogu conf.d.
Dzięki temu, np. podczas aktualizacji pakietów, nie zostaną one zmienione!

vim /etc/proftpd/conf.d/custom_server.conf

Polecenie to pozwala rozpocząć nam tworzenie i edycję interesującego nas pliku konfiguracyjnego, w którym powinno się znaleźć:

<Global>
         RequireValidShell off
</Global>

UseIPv6 off
DefaultRoot ~ ftpusr

<Limit LOGIN>
         DenyGroup !ftpusr
</Limit>

Dzięki takiemu wpisowi ograniczamy folder czy grupę logowania, lecz będziemy musieli stworzyć także użytkownika bez ważnego loginu powłoki.
Warto to zrobić w taki właśnie sposób ze względów bezpieczeństwa.

Żeby jednak móc się jakkolwiek zalogować, potrzebujemy stworzyć użytkownika!
Użyjemy do tego następującej linii:

# adduser ftpusr --home /var/www/ftp --shell /bin/false

Warto na koniec dodać anonimowego użytkownika z prawami tylko do odczytu, w tym celu tworzymy plik komendą vim /etc/proftpd/conf.d/anonym.conf

<Anonymous ~ftpusr>
        User    ftp
        Group   ftp

        UserAlias       anonymous       ftp

        DirFakeUser on ftp
        DirFakeGroup on ftp
        RequireValidShell       off
        MaxClients      10
        
        <Directory *>
                <Limit WRITE>
                DenyAll
                </Limit>
        </Directory>

</Anonymous>

Ostatnim co nam pozostało, to dodanie użytkownika ftp do grupy ftpusr, aby mógł on korzystać z tego anonimowego obszaru. Całość załatwimy za pomocą adduser ftp ftpusr.

# systemctl restart proftpd
# systemctl enable proftpd

Zaś wydanie tych dwóch komend powinno nam zapewnić bezproblemową pracą na naszym serwerze FTP.

UWAGA!

Warto osobno dodać także szyfrowanie do serwera, gdyż bez tego wszystkie dane są przekazywane jedynie w formie tekstowej!

 

Podsumowanie

Cały wpis jest wstępem do znacznie większej całości. Chciałem silnie zakomunikować, że nawet zapomniane sprzęty, jeśli tylko włożyć w nie odpowiednio dużo serca, mogą przysłużyć się nam do czegoś pożytecznego.

Co więcej – cała wyniesiona nauka i doświadczenia są w stanie zaowocować w przyszłości, kiedy zaczniemy łączyć fakty i wątki.
Przecież SSH jest tak niesamowicie ważne, a prywatne FTP wygodne.

Na dziś to tyle, zachęcam do samodzielnego odkrywania oraz dzielenia się spostrzeżeniami!

Cheers!

Drugie życie starych maszyn – Linuksowy serwer FTP
Oceń ten post!

Login

Welcome! Login in to your account

Remember me Lost your password?

Lost Password