Você está na página 1de 16

Segurana em Servidores Linux: Norma ISO 27002

Aula 12 - ISO 27002 Firewall 2


Slide1:

Slide2:

Segurana em Servidores Linux: Norma ISO 27002


Slide :

DROP. Bloqueamos tudo e depois liberamos o que for necessrio. Para iniciarmos, podemos ver como est o estado das CHA !", com o se#uinte comando$ Slide!:

Segurana em Servidores Linux: Norma ISO 27002


& iptables 'n '( ou & iptables 't filter 'n '( Onde$ 'n$ Op)*o para n*o fa+er resolu)*o de nomes. '($ Op)*o para listas as pol,ticas. 't$ Op)*o para escol-er a tabela.

Podemos que ver que as c-ains !P./, O./P./ e 0OR1ARD est*o com a sua polic2 em ACC3P/, e n*o e4iste nen-uma re#ra definida. 5uando come)armos a di#itar as re#ras para o iptables, elas v*o ficar arma+enadas em mem6ria. "e eu di#itar todas as min-as re#ras de depois reiniciar a min-a mquina, ser tudo perdido, pois estavam definidas somente na mem6ria.

Segurana em Servidores Linux: Norma ISO 27002


Slide":

Slide#:

5uando trabal-amos com 0ire8all iptables, n6s criamos um script de 0ire8all,


9

Segurana em Servidores Linux: Norma ISO 27002


que cont:m todas as re#ras que precisamos. Com script, fica fcil para fa+ermos uma manuten)*o em nosso 0ire8all e podemos dei4ar o script ser iniciali+ado no runlevel do sistema, ou se;a, n*o precisamos ficar carre#ando o script de 0ire8all toda a ve+ que a mquina li#ar, o sistema fa+ isso so+in-o. <uitos quando criam scripts, fa+em isso de forma desor#ani+ada, colocando re#ras sem separa)*o e sem ordem, o que causa problemas para fa+er a manuten)*o no script e as ve+es mal funcionamento do iptables, pois as re#ras s*o lidas de forma sequencial. Slide7:

Como voc=s est*o aprendendo, vamos usar a metodolo#ia (3>O, ou se;a, vamos criar vrios pequenos scripts, cada um com uma fun)*o espec,fica, depois no final, n6s vamos pe#ar os mel-ores scripts e ;untar em 1 ?nico script de 0ire8all. Para facilitar a administra)*o do script, vamos usar variveis e fun)@es.

Segurana em Servidores Linux: Norma ISO 27002


Slide$:

Slide%:

/rabal-ando com fun)@es, os comandos n*o v*o ser e4ecutados na ordem que est*o di#itados dentro do script, s6 ser*o e4ecutados quando a fun)*o for c-amada pelo nome dela. sso vai ser muito ?til, pois quando formos criar o
B

Segurana em Servidores Linux: Norma ISO 27002


script completo, vamos cri'lo i#ual aos scripts que est*o no diret6rio CetcCinit.d do >!.C(inu4. Slide10:

Os scripts do CetcCinit.d, trabal-am com fun)@es e com a estrutura CA"3 do "-ell "cript. Doc=s sabem como funciona o case do "-ell "criptE O case : para fa+er vrias condi)@es, como se fossem vrios if. Basicamente, ele fa+ o se#uinte$ Caso apare)a determinada palavra, fa)a determinada a)*o, caso apare)a outra palavra, tome outra a)*o. Para iniciar o Cron via lin-a de comando usamos esse comando$ & CetcCinit.dCcron start "e voc=s analisarem esse script, voc=s v*o ver que l dentro tem uma estrutura de case, e quando aparece a palavra start, ele fa+ determinado comando, que seria para iniciar o cron, ou se;a, caso apare)a a palavra start, fa)a determinado comando.
F

Segurana em Servidores Linux: Norma ISO 27002


Slide11:

!esse momento, que vamos criar vrios scripts, n*o fa+ muito sentido usarmos fun)@es, pois s*o scripts com uma ?nica fun)*o, mas v*o fa+er todo o sentido no script completo. Para criar e arma+enar os nossos scripts, n6s vamos criar um diret6rio fire8all dentro Cetc$ & mGdir CetcCfire8all & cd CetcCfire8all

O primeiro script que vamos criar, : um script c-amado drop.s-. 3sse : o script que vai fec-ar as pol,ticas bsicas. S&ri'(: dro')s* &HCbinCbasI

Segurana em Servidores Linux: Norma ISO 27002


P/JKL8-ic- iptablesM drop LM N K P/ 'P !P./ DROP K P/ 'P O./P./ DROP K P/ 'P 0OR1ARD DROP O drop Slide12:

& vim drop.sDe;am bem, todo "-ell "cript come)a com &HCbinCbas-. (o#o depois, defini uma varivel c-amada P/JKL8-ic- iptablesM.
P

Segurana em Servidores Linux: Norma ISO 27002


O comando 8-ic- iptables vai buscar o camin-o de onde est o binrio do iptables no sistema. a vanta#em disso : que seu script se torna um script portvel, ou se;a, voc= vai poder ;o#'lo em qualquer distribui)*o (inu4, n*o importa em qual diret6rio o iptables est. !a lin-a A do script eu crio a min-a fun)*o c-amada drop. Abro c-aves, para declarar o que vai ter dentro dela. 3sses comandos, est*o passando as c-ains !P./, O./P./ e 0OR1ARD para DROP. A op)*o 'P que define o estado da Polic2. !a lin-a 11 do script, eu fa)o a c-amada da fun)*o. "e eu n*o colocasse a c-amada da fun)*o e e4ecutasse o script n*o ia acontecer nada, ele n*o iria e4ecutar as re#ras, pois como eu disse a fun)*o : um container, que s6 e4ecuta o que dentro dela, quando ela : c-amada pelo nome. A#ora que o script est pronto, vamos dar permiss*o de e4ecu)*o para o script e e4ecut'lo$ & c-mod FAA drop.s& .Cdrop.sDe;am qual foi o resultado$ & iptables 'n '( Podemos ver que a Polic2 das CHA !" est como DROP. !esse momento todas as cone4@es est*o dropadas LbloqueadasM.

1Q

Segurana em Servidores Linux: Norma ISO 27002


Dai e4istir momentos, onde vamos precisar abrir o nosso 0ire8all, ou se;a, tirar todas as re#ras e passar a Polic2 para ACC3P/. Para isso, vamos criar um script c-amdo limpa.s-. 3sse script est postado no netclass$ S&ri'(: lim'a)s* &HCbinCbasP/JKL8-ic- iptablesM limpa LM N K P/ '0 K P/ '0 't nat K P/ '0 't man#le K P/ 'P !P./ ACC3P/ K P/ 'P O./P./ ACC3P/ K P/ 'P 0OR1ARD ACC3P/ O limpa

11

Segurana em Servidores Linux: Norma ISO 27002


Slide1 :

& vim limpa.s!esse script, podemos ver que temos a op)*o '0 L0lus-M, essa op)*o : a que limpa as re#ras das tabelas. ma#inem o se#uinte ambiente$ Doc= conectou remotamente via ss- em um dos seus servidores. 3sse seu servidor possu, um script de fire8all iptables ativado, onde a polic2 das C-ains est em DROP, e possu, re#ras que liberam al#uns acessos, inclusive a que libera o seu acesso. O que acontecereia se voc= di#itasse o se#uinte comando$ iptables '0. Aconteceria que voc=s perderiam a cone4*o imediatamente, pois a op)*o 0luss6 apa#a as re#ras e n*o muda o estado da polic2 das C-ains, ou se;a, o fire8all ficaria sem re#ra nen-uma com as C-ains !P./, O./P./ e 0OR1ARD em DROP.

1%

Segurana em Servidores Linux: Norma ISO 27002


3nt*o nesse script, estamos fa+endo um 0lus- em todas as tabelas, ima#inando que ten-am re#ras nas C-ains dessas tabelas, e depois passamos a polic2 das C-ains para ACC3P/. Com isso nossa mquina voltar como estava no in,cio. A#ora que ; definimos como vai ficar a Polic2 das C-ains, vamos rodar novamente o script drop.s- e come)armos a trabal-armos nas re#ras de e4ce)@es$ & .Cdrop.sCom tudo em DROP, ve;am se voc=s conse#uem pin#ar o endere)o de (oopbacG$ & pin# 1%F.Q.Q.1 Derifiquem se conse#uem pin#ar. 5uando disse que bloquearia tudo, : tudo mesmo. R importante liberarmos o endere)os de loopbacG pois muitas aplica)@es se comunicam atrav:s dessa interface. Damos criar o script loop.s-. S&ri'(: loo')s* &HCbinCbasP/JKL8-ic- iptablesM loop LM N K P/ 'A !P./ 'i lo 'd 1%F.Q.Q.1 '; ACC3P/ K P/ 'A O./P./ 'o lo 'd 1%F.Q.Q.1 '; ACC3P/ O loop

17

Segurana em Servidores Linux: Norma ISO 27002


Slide1!:

& vim loop.sDamos ver o que si#nifica cada uma das op)@es$ Slide1":

19

Segurana em Servidores Linux: Norma ISO 27002


'A$ 3ssa op)*o : utili+ada para adicionar uma re#ra a uma C-ain. O 'A si#nifica Append, pois com ela o iptables adiciona a re#ra lo#o abai4o de uma re#ra que ; e4iste. Poderiamos usar o ' que adiciona e re#ra no in,cio de todas as outras. 'i$ Op)*o que define a interface de nputL3ntradaM. 5uando uso o 'i, n6s s6 podemos usar nomes de interfaces, n*o podemos definir PSs 'o$ Op)*o que define a interface de OutputL"a,daM. A mesma coisa em rela)*o ao 'i. 'd$ Opc*o que define o destino. !essa op)*o, n*o podemos usar interfaces, s6 podemos usar endere)os P. ';$ A op)*o ';L;umpM, define a a)*o que deve ser tomada. !a primeira re#ra, estamos criando uma re#ra de entrada. A re#ra di+ que tudo que for entrarL !P./M pela interface de entrada lo, com destino ao endere)o de loopbacG : aceito L'; ACC3P/M. A se#unda re#ra, estamos criando uma re#ra de sa,da. A re#ra di+ que tudo que sairLO./P./M pela interface de sa,da lo, com destino ao endere)o de loopbacG : aceito. 3ssas re#ras, s*o bem diferentes de todas as outras que vamos ver, pois essa re#ra, basicamente libera acesso dela para ela mesma, ou se;a, da interface loopbacG para o endere)os de loopbacG, ; que : tudo local. Damos setar permiss*o de e4ecu)*o para o script e e4ecut'lo$ & c-mod FQQ loop.s& .Cloop.s-

1A

Segurana em Servidores Linux: Norma ISO 27002


De;amos como ficou as re#ras e vamos ver se conse#uimos pin#ar local-ost$ & iptables 'n '( & pin# 1%F.Q.Q.1

1B