Vid många tillfällen måste vi överföra flera uppgif.webpter mellan enheter och det vanligaste sättet att göra det, som har pågått i mer än 20 år, är att använda FTP -protokollet (File Transfer Protocol) och FTP som tillåter överföring mellan anslutna datorer. Till TCP tar klient / serverbasen.
Med FTP använder vi port 20 och 21. Nu har vi ett nytt fördefinierat protokoll som heter SFTP där vi hittar aktiverat på alla servrar som stöder SSH.
SFTP (SSH File Transfer Protocol) skiljer sig från FTP -typen, även om den stöder alla FTP -klienter som vi hittar idag. Även om SFTP har implementerats för att lägga till ett lager av säkerhet, utgör det en sårbarhet på åtkomstnivån eftersom det, som standard, ger full åtkomst till systemanvändare att överföra filer och använda Shell.
Idag kommer Solvetic att lära sig hur man konfigurerar CentOS 7 för att förhindra att en viss användare har SSH -åtkomst med friheten att manipulera systemet genom SFTP0 -protokollet.
1. Användarskapande
Först skapar vi användaren som har åtkomstbegränsad av SSH, i det här fallet kallar vi det åtkomst, vi utför följande:
sudo adduser åtkomstDärefter tilldelar vi ett nytt lösenord till den nya användaren genom att köra följande:
sudo passwd -åtkomst
2. Skapa katalogen för filöverföring
När vår användare har skapats är nästa steg att skapa katalogen där SFTP kommer att agera, förhindra åtkomst och detta måste konfigureras med vissa parametrar.
Vi kommer att skapa en katalog som heter / var / sftp / uploads där / var / sftp -delen, rotanvändaren kommer att vara dess ägare och ingen annan användare kommer att ha aktiva behörigheter och i underkatalogen / var / sftp / uploads kommer ägaren att vara den nya användarens åtkomst. Vi skapar katalogen med följande rad:
sudo mkdir -p / var / sftp / uploadsDärefter etablerar vi rotanvändaren som ägare i den angivna katalogen:
sudo chown root: root / var / sftpVi beviljar skrivbehörighet till rotanvändaren och läser för de andra användarna i den angivna sökvägen:
sudo chmod 755 / var / sftp
Nu ändrar vi ägaren av uppladdningar så att det är användarens åtkomst, vi utför följande:
sudo chown access: access / var / sftp / uploads
3. Begränsa åtkomst till en katalog
I det här steget kommer vi att se hur man begränsar åtkomst via terminal till användarens åtkomst men om det kommer att vara möjligt att överföra filer. För detta måste vi redigera SSH -servern med den föredragna redigeraren, vim eller nano, i följande sökväg:
sudo nano / etc / ssh / sshd_configVi kommer att se följande:
I den sista delen av filen lägger vi till följande:
Matcha användaråtkomst ForceCommand internal-sftp PasswordAuthentication ja ChrootDirectory / var / sftp PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
Vi sparar ändringarna med tangentkombinationen Ctrl + O och avslutar redigeraren med tangenterna Ctrl + X. Den syntax som används innebär följande:
MatchanvändareBe SSH -servern att tillämpa ändringarna på den användare som anges där.
ForceCommand intern-sftpTvingar SSH -servern att köra SFTP för att förhindra åtkomst till Shell.
PasswordAuthentication jaAktivera lösenordsautentisering
ChrootDirectory / var / sftp /Det hänvisar till det faktum att den angivna användaren inte kommer att ha åtkomst bortom / var / sftp -sökvägen.
AllowAgentForwarding no, AllowTcpForwarding no. och X11Forwarding är inte detDessa alternativ inaktiverar vidarebefordran av portar, tunneling och vidarebefordran av X11 -protokoll för den angivna användaren.
När vi har sparat filen kör vi följande kommando för att tillämpa ändringarna i SSH:
sudo systemctl starta om sshd
4. Verifierar SSH -anslutningen
Steg 1
Med detta konfigurerat är det dags att validera åtkomst via SSH och verifiera att endast filöverföringar är möjliga. För detta går vi till anslutningen via SSH som i detta fall kommer att vara.
ssh [email protected]När vi har angett åtkomstuppgif.webpterna ser vi följande meddelande:
Steg 2
Med detta har vi verifierat att anslutningen kommer att stängas via SSH. Nu ska vi prova anslutningen med sftp -protokollet:
sftp [email protected]Genom att ange lösenordet ser vi att anslutningen lyckades och vi kommer att kunna överföra filer:
Steg 3
Där kan vi använda kommandot ls för att lista de tillgängliga katalogerna och vi kommer att se den överförda mappen som vi har skapat:
Steg 4
Där kan vi flytta information men om vi försöker återgå till en katalog ovan med cd … får vi inget fel men vi ser att ingen katalog kan listas:
Det är så enkelt att vi kan begränsa åtkomst tack vare sftp.