Při mnoha příležitostech musíme přenášet více informací mezi zařízeními a nejběžnějším způsobem, jak toho dosáhnout, který trvá již více než 20 let, je použití protokolu FTP (File Transfer Protocol) a FTP, který umožňuje přenos mezi připojenými počítači. TCP na bázi klient / server.
S FTP používáme port 20 a 21. Nyní máme nový předdefinovaný protokol nazvaný SFTP, ve kterém najdeme povolený na všech serverech, které podporují SSH.
SFTP (SSH File Transfer Protocol) se liší od typu FTP, přestože podporuje všechny FTP klienty, které dnes najdeme. Přestože byl SFTP implementován s cílem přidat vrstvu zabezpečení, představuje zranitelnost na přístupové úrovni, protože jako standard poskytuje uživatelům systému plný přístup k přenosu souborů a používání prostředí Shell.
Dnes Solvetic naučí, jak konfigurovat CentOS 7, aby určitému uživateli zabránil v přístupu SSH se svobodou manipulovat se systémem pomocí protokolu SFTP0.
1. Vytvoření uživatele
Nejprve vytvoříme uživatele, který bude mít přístup omezen SSH, v tomto případě tomu budeme říkat přístup, provedeme následující:
přístup sudo adduserDále přiřadíme novému uživateli heslo provedením následujícího:
přístup sudo passwd
2. Vytvoření adresáře pro přenos souborů
Jakmile je náš uživatel vytvořen, dalším krokem je vytvoření adresáře, kde bude fungovat SFTP, zabraňující přístupu, a to musí být nakonfigurováno s určitými parametry.
Vytvoříme adresář s názvem / var / sftp / uploads, ve kterém bude část / var / sftp, uživatel root bude jeho vlastníkem a žádný jiný uživatel nebude mít aktivní oprávnění a v podadresáři / var / sftp / uploads bude vlastník přístup nového uživatele. Adresář vytvoříme pomocí následujícího řádku:
sudo mkdir -p / var / sftp / uploadsDále určíme uživatele root jako vlastníka v uvedeném adresáři:
sudo chown root: root / var / sftpUdělujeme oprávnění k zápisu uživateli root a čteme ostatním uživatelům na uvedené cestě:
sudo chmod 755 / var / sftp
Nyní upravíme vlastníka nahrávek tak, aby to byl přístup uživatele, provedeme následující:
přístup sudo chown: access / var / sftp / uploads
3. Omezení přístupu k adresáři
V tomto kroku uvidíme, jak omezit přístup pomocí terminálu na přístup uživatele, ale zda bude možné přenášet soubory. K tomu musíme upravit server SSH s preferovaným editorem, vim nebo nano, v následující cestě:
sudo nano / etc / ssh / sshd_configUvidíme následující:
V závěrečné části souboru přidáme následující:
Shoda přístupu uživatele ForceCommand internal-sftp HesloAuthentication ano ChrootDirectory / var / sftp PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
Změny uložíme pomocí kombinace kláves Ctrl + O a editor ukončíme pomocí kláves Ctrl + X. Použitá syntaxe znamená následující:
Porovnat uživateleŘekněte serveru SSH, aby provedl změny na zde uvedeném uživateli.
ForceCommand internal-sftpNutí server SSH spouštět SFTP, aby zabránil přístupu k prostředí.
Ověření hesla anoPovolit ověřování heslem
ChrootDirectory / var / sftp /Odkazuje na skutečnost, že uvedený uživatel nebude mít přístup mimo cestu / var / sftp.
AllowAgentForwarding no, AllowTcpForwarding no. a X11Forwarding neníTyto možnosti pro zadaného uživatele zakazují přesměrování portů, tunelování a předávání protokolů X11.
Jakmile soubor uložíme, provedeme následující příkaz, abychom provedli změny v SSH:
sudo systemctl restartovat sshd
4. Ověření připojení SSH
Krok 1
S tímto nakonfigurovaným bude čas ověřit přístup prostřednictvím SSH a ověřit, že budou možné pouze přenosy souborů. Za tímto účelem přejdeme k připojení prostřednictvím SSH, což v tomto případě bude.
ssh pří[email protected]Jakmile zadáme přístupové údaje, zobrazí se následující zpráva:
Krok 2
Tímto jsme ověřili, že připojení bude uzavřeno prostřednictvím SSH. Nyní zkusíme připojení pomocí protokolu sftp:
sftp [email protected]Zadáním hesla uvidíme, že je připojení úspěšné, a budeme moci přenášet soubory:
Krok 3
Zde můžeme pomocí příkazu ls vypsat dostupné adresáře a uvidíme složku pro nahrávání, kterou jsme vytvořili:
Krok 4
Tam můžeme přesouvat informace, ale pokud se pokusíme vrátit do výše uvedeného adresáře pomocí cd … nedostaneme chybu, ale vidíme, že nelze uvést žádný adresář:
Je to tak jednoduché, že můžeme omezit přístup díky sftp.