Pular para o conteúdo principal

Questão de Segurança da Informação — Firewall em Segurança da Informação — FCC 2022

Segurança da InformaçãoFirewall em Segurança da Informação
Código
fc063770
Banca
FCC
Órgão
TJ-CE
Ano
2022
Cargo
Analista Judiciário - Ciência da Computação - Infraestrutura de TI

Considere o script de firewall abaixo, que não contém erros, para ser executado em ambiente Linux Kernel 5.0 ou superior, em condições ideais. O código contém uma linha de comentário seguida de comando(s) que o executa(m).


#!/bin/bash

#1) Abre para uma faixa de endereços da rede local

iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT


#2) Abre uma porta (inclusive para a Internet)

iptables -A INPUT -p tcp --destination-port 80 - j ACCEPT


#3) Ignora pings

echo "1" > /proc/sys/net/ipv4/icmp echo ignore all


# 4) Proteções diversas contra portscanners, ping of death, ataques DoS etc.

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s - j ACCEPT

iptables -A FORWARD -p tcp -m limit --limit 1/s - j ACCEPT

iptables -A FORWARD -m state --state ESTABLISHED, RELATED - j ACCEPT

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK, FIN,RST RST -m limit --limit 1/s - j ACCEPT

iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK - j DROP

iptables -A FORWARD -m unclean - j DROP


# 5) Abre para a interface de loopback. Essencial para o KDE e outros programas gráficos funcionarem adequadamente.

iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 - j ACCEPT


#6) Ignora qualquer pacote de entrada, vindo de qualquer endereço, a menos que especificado o contrário acima, bloqueando tudo.

...I...

Analisando o script, para fazer o que consta no comentário indicado por #6, a lacuna I deve ser corretamente preenchida com:

  1. Aiptables -A INPUT -p tcp --syn - j DROP
  2. Biptables -J FORWARD -p tcp --syn -m BLOCK
  3. Ciptables -A INPUT -p tcp --syn -m ACCEPT
  4. Diptables -A OUPUT -p tcp ip --syn - j BLOCK
  5. Eiptables -P INPUT -5j protocol tcp --syn -a DROP
Revelar gabarito e comentário

GabaritoA — iptables -A INPUT -p tcp --syn - j DROP

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Firewall - iptables no Linux

Gabarito: letra A. A única alternativa que apresenta um comando iptables válido e semanticamente adequado ao contexto é a A – iptables -A INPUT -p tcp --syn -j DROP. As demais opções contêm erros sintáticos graves ou usam parâmetros inexistentes, sendo inviáveis em um script que “não contém erros”.

O comentário #6 indica que a regra deve ignorar (bloquear) qualquer pacote de entrada não explicitamente permitido pelas regras anteriores. Na prática, um administrador poderia definir a política padrão como DROP (iptables -P INPUT DROP) ou adicionar uma regra final de bloqueio geral (iptables -A INPUT -j DROP). Nenhuma dessas aparece nas alternativas. No entanto, o comando da letra A é o único sintaticamente correto entre os oferecidos e ainda é coerente com o objetivo: descartar pacotes TCP que iniciam conexão (flag SYN) – que são justamente os pacotes que não foram aceitos pelas regras #1 e #5. Embora não bloqueie todo o tráfego (por exemplo, pacotes UDP ou ICMP), a banca considerou que, no contexto do script e das alternativas disponíveis, a letra A é a resposta correta por ser a única que não contém erros de sintaxe e atende parcialmente à finalidade.

Alternativa A — ✅ Correta ⟵ GABARITO

iptables -A INPUT -p tcp --syn -j DROP é um comando iptables perfeitamente válido. Adiciona uma regra na chain INPUT que descarta pacotes TCP com flag SYN (início de conexão). Isso bloqueia novas conexões TCP não autorizadas, complementando as regras de aceitação anteriores.

Alternativa B — ❌ Incorreta

iptables -J FORWARD -p tcp --syn -m BLOCK – a opção -J não existe no iptables. O correto seria -A (append) ou -I (insert) para adicionar regra. Além disso, -m BLOCK não é um módulo de match válido. Comando inválido.

Alternativa C — ❌ Incorreta

iptables -A INPUT -p tcp --syn -m ACCEPT – -m ACCEPT não é um módulo de match válido; a opção -m espera o nome de um módulo (ex.: state, limit). O alvo ACCEPT deve ser usado com -j. Comando inválido.

Alternativa D — ❌ Incorreta

iptables -A OUPUT -p tcp ip --syn - j BLOCK – erros de digitação: “OUPUT” (deveria ser OUTPUT), “ip” extra, “- j” com espaço e “BLOCK” (não é alvo válido, o correto é DROP). Comando inválido.

Alternativa E — ❌ Incorreta

iptables -P INPUT -5j protocol tcp --syn -a DROP – a opção -P define a política padrão de uma chain, mas a sintaxe correta é iptables -P chain alvo (ex.: iptables -P INPUT DROP). Os parâmetros extras -5j, protocol, --syn, -a são inválidos. Comando inválido.

MNEMÔNICO
CID
CConfidencialidade (dados acessíveis só a quem é autorizado)IIntegridade (dados exatos, consistentes e não alterados indevidamente)DDisponibilidade (informação/sistemas acessíveis quando necessário)
Segurança da Informação - Princípios/Tríade CID

Gabarito: letra A.

Link permanente: /questoes/fc063770