Como habilitar e configurar SFTP no CentOS 7

Em muitas ocasiões devemos transferir múltiplas informações entre dispositivos e a forma mais comum de fazê-lo, que já existe há mais de 20 anos, é utilizando o protocolo FTP (File Transfer Protocol) e FTP que permite a transferência entre computadores conectados a. TCP tendo como base cliente / servidor.

Com o FTP, usamos as portas 20 e 21. Agora temos um novo protocolo predefinido chamado SFTP, no qual encontramos ativado em todos os servidores que suportam SSH.

SFTP (SSH File Transfer Protocol) é diferente do tipo FTP, embora suporte todos os clientes FTP que encontramos hoje. Embora o SFTP tenha sido implementado para adicionar uma camada de segurança, ele apresenta uma vulnerabilidade no nível de acesso, pois, por ser um padrão, concede acesso total aos usuários do sistema para transferir arquivos e usar o Shell.

Hoje a Solvetic vai ensinar como configurar o CentOS 7 para evitar que um determinado usuário tenha acesso SSH com a liberdade de manipular o sistema através do protocolo SFTP0.

1. Criação de usuário


Primeiro criaremos o usuário que terá acesso restrito por SSH, neste caso o chamaremos de acesso, executamos o seguinte:
 sudo adduser access
Em seguida, atribuímos uma senha ao novo usuário executando o seguinte:
 sudo passwd access

2. Criação do diretório para transferência de arquivos


Uma vez criado nosso usuário, o próximo passo é criar o diretório onde o SFTP irá atuar, impedindo o acesso e este deve ser configurado com alguns parâmetros.

Vamos criar um diretório chamado / var / sftp / uploads no qual a parte / var / sftp, o usuário root será o seu proprietário e nenhum outro usuário terá permissões ativas e no subdiretório / var / sftp / uploads o proprietário será o novo acesso do usuário. Criamos o diretório usando a seguinte linha:

 sudo mkdir -p / var / sftp / uploads
Em seguida, estabelecemos o usuário root como o proprietário no diretório indicado:
 sudo chown root: root / var / sftp
Nós concedemos permissões de gravação ao usuário root e lemos aos outros usuários no caminho indicado:
 sudo chmod 755 / var / sftp

Agora modificamos o dono dos uploads para que seja o acesso do usuário, executamos o seguinte:

 acesso sudo chown: access / var / sftp / uploads

3. Restringindo o acesso a um diretório


Nesta etapa veremos como restringir o acesso por terminal ao acesso do usuário, mas se será possível transferir arquivos. Para isso devemos editar o servidor SSH com o editor preferido, vim ou nano, no seguinte caminho:
 sudo nano / etc / ssh / sshd_config
Veremos o seguinte:

Na parte final do arquivo, adicionamos o seguinte:

 Corresponder acesso do usuário ForceCommand internal-sftp PasswordAuthentication sim ChrootDirectory / var / sftp PermitTunnel não AllowAgentForwarding não AllowTcpForwarding não X11Forwarding não 

Salvamos as alterações usando a combinação de teclas Ctrl + O e saímos do editor usando as teclas Ctrl + X. A sintaxe usada implica o seguinte:

Match UserDiga ao servidor SSH para aplicar as alterações ao usuário indicado ali.

ForceCommand internal-sftpForça o servidor SSH a executar SFTP para impedir o acesso ao Shell.

PasswordAuthentication simHabilitar autenticação de senha

ChrootDirectory / var / sftp /Refere-se ao fato de que o usuário indicado não terá acesso além do caminho / var / sftp.

AllowAgentForwarding não, AllowTcpForwarding não. e o X11Forwarding não éEssas opções desabilitam o encaminhamento de porta, encapsulamento e encaminhamento de protocolo X11 para o usuário especificado.

Depois de salvar o arquivo, executaremos o seguinte comando para aplicar as alterações no SSH:

 sudo systemctl restart sshd

4. Verificando a conexão SSH

Passo 1
Com isso configurado, será hora de validar o acesso via SSH e verificar se apenas transferências de arquivos serão possíveis. Para isso vamos à conexão via SSH que neste caso será.

 ssh [email protected]
Assim que inserirmos as credenciais de acesso, veremos a seguinte mensagem:

Passo 2
Com isso verificamos que a conexão será encerrada via SSH. Agora vamos tentar a conexão usando o protocolo sftp:

 sftp [email protected]
Ao inserir a senha, veremos que a conexão foi bem-sucedida e poderemos transferir os arquivos:

etapa 3
Lá podemos usar o comando ls para listar os diretórios disponíveis e veremos a pasta de uploads que criamos:

Passo 4
Lá podemos mover as informações, mas se tentarmos retornar a um diretório acima usando cd … não obteremos um erro, mas vemos que nenhum diretório pode ser listado:

É tão simples que podemos restringir o acesso graças ao sftp.

wave wave wave wave wave