SFTP - Rone-Gleison/SRE GitHub Wiki

TOPOLOGIA

CONFIGURAÇÃO

1 - Edite o arquivo sshd_config utilizando o editor de texto vim:

Acesse o arquivo:# vim /etc/ssh/sshd_config

Altere o conteúdo utilizando o modelo de configuração do arquivo sshd_config com Hardening aplicado:

#configuração SFTP

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin no
PermitEmptyPasswords no
PermitUserEnvironment no
Banner /etc/issue.net
ClientAliveInterval 300
ClientAliveCountMax 0
LoginGraceTime 120
LogLevel INFO
MaxStartups 5
MaxAuthTries 3
MaxSessions 15
StrictModes yes
AuthorizedKeysFile  .ssh/authorized_keys
HostbasedAuthentication no
IgnoreRhosts yes
PubkeyAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding no
UseDNS no
PermitTunnel no
MaxStartups 20:60:90

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

#Configuracao algoritmos MAC
MACs hmac-sha2-512,hmac-sha2-256,hmac-sha1,[email protected],[email protected],[email protected]

#Criptografia no modo Contador (CTR) - desativar as cifras Arcfour e CBC
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected]

#Disable the reported weak encryption algorithm(s)
KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256

Subsystem sftp internal-sftp -l INFO

Match group sftp_users
  ChrootDirectory /srv/%u
  ForceCommand internal-sftp
  X11Forwarding no
  AllowTcpForwarding no

2 - Crie o grupo sftp_users:

groupadd sftp_users

3 - Crie o usuário o(s) user_teste e altere sua senha:

Por padrão o usuario é criado em /home mas como se trata de sftp iremos alterar para /srv seguindo as boas praticas: Crie o usuário#

useradd -m -c "USER:usuario de teste sftp" -d /srv/user_test user_test

Altere a senha# passwd user_test

4 - Insira o usuário user_test no grupo sftp_users:

OBS: usuários no grupo sftp_users não poderão realizar conexão SSH, somente SFTP.

usermod -aG sftp_users user_test

5 - Crie o diretório Arquivos dentro da home para user_test:

mkdir /srv/user_test/Arquivos
```python

6 - Atribua a propriedade do diretório Arquivos para o usuário user_test:

```python
chown user_test:user_test /srv/user_test/Arquivos
```python

7 - Atribua a propriedade da home do user_test para o usuário root:

```python
chown root:root /srv/user_test/

8 - Altere as permissões da home do user_test:

chmod 750 /srv/user_test/

9 - Reinicie o serviço sshd:

systectl restart sshd

GERENCIAMENTO

POSSIVEIS ERROS DE CONEXÃO

Analise dos logs (usuário errado, senha errada): Ubuntu/Debia: /var/log/auth.log Centos/Oracle/RHEL: /var/log/secure

egrep  "senha|usuario|ip" /var/log/log_correpondente

Teste de conexão: LINUX:

nc ip_sftp 22 -v

WINDOWS:

tnc ip_sftp -port 22

PERMISSÃO EM DIRETÓRIO | ARQUIVOS