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