SóProvas


ID
1395889
Banca
FGV
Órgão
PROCEMPA
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

O administrador de uma máquina Linux, com IPTABLES previamente instalado e configurado, resolveu permitir acesso remoto à sua própria máquina por meio de SSH, utilizando a porta padrão do protocolo.

Assumindo que as regras do IPTABLES já configuradas permitem qualquer pacote saindo desta máquina, uma das formas de resolver o problema seria por meio do comando

Alternativas
Comentários
  • Resposta: Letra A

    Como o Administrador resolveu liberar o acesso ao SSH, podemos matar a questão com algumas informações básicas:

    O SSH utiliza a porta 22 do protocolo TCP com isso eliminamos a letra C e a letra E;

    Como o parâmetro de entrada é o INPUT eliminamos a letra B e D, sobrando apenas a letra A, que é a resposta.
     

    Abaixo coloquei umas explicações sobre os parâmetros de configuração do IPTABLES que foram retiradas do site: http://www.hardware.com.br/dicas/resumo-iptables.html
     

    -j: É usado no final de cada regra, especificando uma ação, que pode ser:

    -j ACCEPT : Aceita o pacote. Ele é encaminhado ao destino sem passar pelas demais regras.

    -j REJECT : Rejeita educadamente o pacote, enviando um pacote de resposta ao emissor. Quando uma porta está fechada em modo reject, o emissor recebe rapidamente uma resposta como "connect to host 192.168.1.1 port 22: Connection refused".

    -j DROP: O DROP é mais enfático. O pacote é simplesmente descartado, sem aviso. O emissor fica um longo tempo esperando, até que eventualmente recebe um erro de time-out.

    -j LOG: Este último parâmetro permite logar conexões. É interessante usar esta regra principalmente em portas muito visadas, como a do SSH, pois assim você tem uma lista de todos os endereços que acessaram seu servidor na porta especificada.

    --dport ou --destination-port: Especifica uma porta. O uso mais comum para esta opção é para abrir portas de entrada (e depois aplicar uma regra que fecha as demais), como na regra que abre para conexões na porta 22, neste caso o SSH;

    -A INPUT: Especifica que a regra se aplica a pacotes de entrada, ou seja, pacotes recebidos pelo servidor, em qualquer interface.

    -A OUTPUT: A regra se aplica a pacotes de saída, transmitidos pelo próprio servidor.

    -A FORWARD: Este parâmetro é usado ao compartilhar a conexão com a Internet, permitindo que os micros da rede local acessem através do servidor. Os pacotes de outros micros, encaminhados pelo servidor, são tratados como "FORWARD", diferentemente dos pacotes transmitidos pelo próprio servidor, que são tratados como "OUTPUT". Você pode definir regras diferentes para cada situação.

    -p tcp: Especifica que a regra se aplica a pacotes TCP, o que é o mais comum.

    -p udp: Alguns serviços usam também portas UDP. Um bom exemplo são os servidores DNS, que escutam tanto na porta 53 TCP, quanto na 53 UDP. Este parâmetro permite definir regras que se aplicam a estes casos, abrindo ou fechando as portas UDP

  • Pergunta pegadinha: e se a questão A contivesse -A ao invés de -I estaria correta? iptables -A INPUT -p tcp --dport 22 -j ACCEPT. As duas são usadas para inserir regras na cadeia, porém, -A sempre insere no final da cadeia, enquanto que -I insere no início, ou você pode definir uma posição qualquer. Então, nesse cenário, se a banca não mencionar nada sobre a existência de outras regras, a resposta é sim, estaria correta. Porém, no caso da existência de outras configurações, a resposta seria errada. Por que? Porque no caso da existência de outras regras, ao incluir o comando -A, esta seria incluída no final do chain e o tráfego seria rejeitado pela primeira regra (nunca atingindo a segunda). Com o comando -I, isso não acontece, pois ele tem prioridade sobre regras existentes, ou pode até ser incluido na posição de prioridade a escolha do administrador.