Na conexão ssh o auth.log mostra como IP de origem o IP externo do servidor ao invés do IP do cliente

1

Eu tenho uma situação muito estranha com a minha conexão ssh. Toda vez que eu conecto ao meu servidor, qualquer que seja o meu ip externo, a conexão tem como fonte o ip externo do servidor.

Exemplo de exemplo

    Server S.O.:  PCLinuxOS
    Client ip:    [C.C.C.C]
    Server ip:    [S.S.S.S]

Após a conexão bem-sucedida do ssh, eu executo o comando "last" e recebo isso:

username pts/0        [S.S.S.S]   Wed Jan 29 19:29   still logged in

Este é o resultado do netstat procurando pela porta 22:

$ netstat -atn | egrep '(:22)'
tcp        0     96 192.168.1.34:22            [S.S.S.S]:31685        ESTABLISHED

Não consigo encontrar o ip do cliente [C.C.C.C] em qualquer lugar.

Eu não teria nenhum problema em particular sobre isso, mas agora vem a melhor parte. Eu encontrei um ataque no meu servidor dentro do auth.log:

Jan 27 12:55:42 localhost sshd[2295]: Invalid user a from [S.S.S.S]
Jan 27 12:55:42 localhost sshd[2295]: input_userauth_request: invalid user a [preauth]
Jan 27 12:55:42 localhost sshd[2299]: Invalid user a from [S.S.S.S]
Jan 27 12:55:42 localhost sshd[2299]: input_userauth_request: invalid user a [preauth]
Jan 27 13:49:58 localhost sshd[17917]: Invalid user jack from [S.S.S.S]
Jan 27 13:49:58 localhost sshd[17917]: input_userauth_request: invalid user jack [preauth]
Jan 27 13:50:07 localhost sshd[17923]: Invalid user ibsadmin from [S.S.S.S]
Jan 27 13:50:07 localhost sshd[17923]: input_userauth_request: invalid user ibsadmin [preauth]

Após esse ataque, o resultado é que o daemon do fail2ban inserirá o IP do servidor [S.S.S.S] na lista banida e não consigo mais conectar ao servidor.

O servidor está atrás de um roteador com um encaminhamento de porta NAT na porta ssh. O problema não está presente quando eu me conecto ao servidor de dentro da minha LAN, o IP correto é mostrado neste caso. Este é o meu arquivo sshd_config:

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_IDENTIFICATION LC_ALL
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AuthorizedKeysFile      .ssh/authorized_keys
ChallengeResponseAuthentication no
ClientAliveInterval 60
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
IgnoreRhosts yes
KeyRegenerationInterval 1h
LoginGraceTime 30
MaxAuthTries 2
MaxSessions 4
MaxStartups 10:30:60
PasswordAuthentication no
PermitEmptyPasswords no
PermitRootLogin no
Port 22
PubkeyAuthentication yes
RSAAuthentication yes
StrictModes yes
Subsystem       sftp    /usr/lib64/ssh/sftp-server
TCPKeepAlive yes
UseDNS  no
UsePAM no
UsePrivilegeSeparation yes
X11Forwarding yes

Tenho certeza de que não tive esse problema há um mês, mas não consigo descobrir o que mudou.

EDITAR:

Este é o resultado do comando iptables -L:

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-SSH  tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-SSH (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
    
por terabyte 29.01.2014 / 19:55

1 resposta

0

O problema do endereço IP do seu próprio roteador exibido nos registros como a origem de qualquer conexão externa é causado pelo software NAT (conversão de endereço de rede) em execução no roteador. Tente usar um roteador diferente. (Se você estiver confortável em fazer isso, você também pode atualizar seu roteador com um firmware melhor, como o Gargoyle).

    
por 17.11.2017 / 21:27