Por que algum tráfego IP de saída não contém informações de UID?

1

Estou fazendo log de saída no meu servidor usando IPTABLES com a seguinte linha, que deve fornecer informações de UID em todo o tráfego registrado:

-A OUTPUT -j LOG --log-prefix "IPTABLES(O): " --log-level info --log-uid

No entanto, de vez em quando, eu obteria logs sem o UID assim:

IPTABLES(O): IN= OUT=eth0 SRC=1.2.3.4 DST=5.6.7.8 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=54321 DF PROTO=TCP SPT=50505 DPT=443 WINDOW=342 RES=0x00 ACK PSH FIN URGP=0

Quais são os motivos para o tráfego de saída não conter nenhuma informação de UID?

    
por Question Overflow 11.09.2014 / 15:25

1 resposta

2

Uma das razões usuais é a sequência final FIN ACK. Depois que um aplicativo cliente chama close () no soquete TCP, um pacote ACK + FIN é enviado para o servidor e o programa cliente é encerrado. Neste ponto, não há processo associado à conexão TCP, mas ainda não está concluído.

Ao aplicar um filtro de proprietário, é costume também adicionar uma regra para ACEITAR pacotes com o estado ESTABLISHED para cobrir esses "pacotes residuais".

iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner foo -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -m state --state ESTABLISHED -j ACCEPT
    
por 27.11.2018 / 12:46