Vai configurar o IPTables e precisa de muitas especificações para sua empresa? Veja neste tutorial como personalizar de forma simples as regras, adicionando horário, dia de semana ou do mês para aplicar as regras necessárias.
1. Primeiramente, vamos listar as regras existentes do firewall.
$ iptables -L -v
Neste exemplo, estamos utilizando um iptables sem regras pré-definidas.
2. Vamos adicionar a primeira regra. Aqui, faremos uma liberação da porta 80 TCP das 8 horas da manhã até às 22 horas da noite. Insira o comando abaixo;
$ iptables -A INPUT -p tcp --dport 80 -m time --timestart 08:00 --timestop 22:00 -j ACCEPT
3. Veja como a regra fica disposta:
Os parâmetros timestart e timestop foram utilizados aqui para regular, respectivamente, quando a regra terá início e fim;
4. Além destes, outros parâmetros possíveis para a configuração das regras são o weekdays e o monthdays. O weekdays deve vir acompanhado dos dias da semana “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat” e/ou “Sun” – de Segunda-feira a Domingo.
Exemplo de sintaxe:
$ iptables -A INPUT -p udp --dport 53 -m time --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT
Neste comando, serão aceitas as conexões de entrada na porta udp 53 de segunda a sexta-feira.
Por sua vez, a opção monthdays, requer os valores de 1 a 31, informando o(s) dia(s) do mês.
Exemplo de sintaxe:
$ iptables -A INPUT -p tcp --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -m time --timestart 08:00 --timestop 22:00 --monthdays 1,2,3,4,5 -j ACCEPT
Liberação das conexões de entrada para o range TCP 513 a 65535 com a porta de destino 22. A regra é válida das 8 horas às 22 horas, nos dias 1º ao 5º de todos os meses.
5. Caso mude de ideia, você pode remover a regra com o seguinte passo a passo:
Liste as regras com o comando a seguir para numerá-las,
$ sudo iptables -L --line-numbers
Perceba que ele é dividido em três partes: INPUT, FORWARD e OUTPUT. Aqui, vamos remover a segunda regra da porção INPUT:
$ iptables -D INPUT 2
Pronto. A regra com restrição de tempo foi removida com sucesso!