[SECURITY-L] CAIS-Alerta: Alteracoes de configuracao necessarias para o Horario de Verao 2007/2008

CSIRT - UNICAMP security em unicamp.br
Seg Out 8 10:52:13 -03 2007


----- Forwarded message from Centro de Atendimento a Incidentes de Seguranca <cais em cais.rnp.br> -----

From: Centro de Atendimento a Incidentes de Seguranca <cais em cais.rnp.br>
Subject:  CAIS-Alerta: Alteracoes de configuracao necessarias para o Horario
 de Verao 2007/2008
To: pop-seg em cais.rnp.br, rnp-alerta em cais.rnp.br, rnp-seg em cais.rnp.br
Date: Fri, 5 Oct 2007 14:59:40 -0300 (BRT)

-----BEGIN PGP SIGNED MESSAGE-----


Prezados,

Como foi devidamente anunciado pelo CAIS, o horario de verao 2007/2008 
tera´ inicio em 14 de Outubro de 2007 e terminara´ em 17 de Fevereiro de 
2008. Com isto, algumas configuracoes nos sistemas sao necessarias.

O horario de verao esta relacionado ao TIMEZONE adotado no sistema. Ou 
seja, o timezone funciona como uma "mascara" sobre o relogio do sistema, 
adequando o horario mostrado ao usuario e utilizado pelos programas 
(localtime) `a localidade em que o sistema se encontra, mas deixando 
intacto o relogio do sistema (horario absoluto), sempre em UTC (GMT 0).

Se o relogio do sistema (horario absoluto) marca 16:00h UTC, ajustado 
sempre por NTP, entao temos que:

. Para o timezone do Brasil (GMT-3), o horario mostrado ao
  usuario sera' 13:00h - GMT-3 (localtime)

. Para o timezone de Paris 
  (Franca - GMT+1), por exemplo, o horario mostrado ao usuario seria
  17:00h - GMT+1 (localtime)


Assim, nenhuma modificacao na configuracao do servico de NTP e' 
necessaria. Entretanto, deve-se tomar um cuidado especial com os 
*servidores* NTP (Stratum 1, Stratum 2 e outros) quando das modificacoes 
de configuracao para o horario de verao. Caso o servidor NTP detecte uma 
diferenca maior que 20 minutos entre o horario do sistema (horario 
absoluto) e o horario registrado pelo servidor NTP (ntpd, OpenNTPD), o 
servico NTPD podera' parar. Assim, deve-se redobrar a atencao durante o 
processo de configuracao do horario de verao em hosts que proveem este 
servico.

Lembramos tambem que para algumas versoes de Linux/Unix podera' ser 
necessario reiniciar o daemon "cron" apos o inicio do horario de verao, de 
forma que as tarefas agendadas atraves do Cron possam continuar a ser 
executadas no horario correto. Para mais informacoes, verifique o manual 
do "cron" e "crontab" do seu sistema.

A seguir sao descritos os procedimentos de atualizacao do localtime em 
sistemas FreeBSD, GNU/Linux, Solaris, AIX e Windows, bem como em alguns 
equipamentos Cisco que usam o IOS. Antes de prosseguir com estes 
procedimentos e' preciso que se saiba de antemao o timezone da sua regiao.

   DICA: Consulte o site da Agencia Nacional de Energia Eletrica 
         (http://www.aneel.gov.br/65.htm) para saber qual timezone se 
         aplica 'a regiao do Brasil na qual seus sistemas estao.


1. CISCO IOS
2. GNU/Linux
3. FreeBSD
4. OpenBSD
5. Solaris
6. AIX
7. MS Windows


1. Cisco IOS
============

Nos arquivos de configuracao dos roteadores Cisco sera' preciso incluir 
(ou atualizar) as seguintes linhas:

 clock timezone GMT-3 -3
 clock summer-time GMT-2 date Oct 14 2007 0:00 Feb 17 2008 0:00

 *OBS: Os logs gerados pelo Cisco passarao a informar a hora como GMT-2,
       que e' a nova configuracao do timezone.


2. GNU/Linux
============

Usuarios de sistemas baseados em GNU/Linux devem seguir o procedimento 
abaixo:


1. Verificar a existencia do arquivo '/etc/localtime' e se este arquivo e'
   um link simbolico ou nao.

   Nao e' recomendado possuir o arquivo /etc/localtime como link 
   simbolico, pois em sistemas que o diretorio /usr nao estiver acessivel 
   (nao tiver sido montado, por exemplo) no momento de inicializacao da 
   maquina, as informacoes contidas no arquivo localtime nao serao 
   carregadas.

2. Verificar se existe no diretorio /usr/share/zoneinfo/Brazil algum
   arquivo que contenha informacoes relativas a outros horarios de 
   verao (DICA: geralmente um arquivo com extensao .zic).

   a) Se nao existir nenhum arquivo com tais informacoes entao crie um 
      novo, de nome 'verao.2007.zic' por exemplo, no diretorio 
      /usr/share/zoneinfo/Brazil/. Este arquivo devera' conter as seguintes 
      linhas:

      Rule Brazil  2007    only     -       Oct    14   00:00   1       S
      Rule Brazil  2008    only     -       Feb    17   00:00   0       -

      Zone    Brazil/East             -3:00   Brazil          BR%sT


   b) Se existir algum arquivo com informacoes de horario de verao de
      outros anos, basta inserir as linhas acima ao final do arquivo 
      existente.


   As duas primeiras linhas de configuracao acima informam quando se 
   inicia o horario de verao, quando termina, e qual a acao a ser tomada. 
   Lembre-se de que no inicio do horario de verao deve ser adicionada uma 
   hora ao horario mostrado ao usuario (localtime).

   A ultima linha diz qual arquivo sera' modificado pelo comando 
   'zic'. No exemplo acima, sera' o arquivo 'East' (dentro do diretorio 
   Brazil). Esta linha tambem informa qual o timezone original da regiao 
   - no caso de Sao Paulo (East) temos UTC-3. Caso voce esteja utilizando 
   um timezone diferente do adotado em Sao Paulo (East), modifique estes 
   parametros para o timezone de sua regiao:


   #Cidades que seguem o timezone definido para Fernando de Noronha:
   Zone    Brazil/DeNoronha	-2:00   Brazil          FN%sT

   #Cidades que seguem o timezone definido para Brasilia:
   Zone    Brazil/East		-3:00   Brazil          BR%sT

   #Cidades que seguem o timezone definido para o Amazonas:
   Zone    Brazil/West		-4:00   Brazil          AM%sT

   #Cidades que seguem o timezone definido para o Acre:
   Zone    Brazil/Acre		-5:00   Brazil          AC%sT


   * Parametros definidos pela glibc presente em sistemas Linux, 
     disponivel para download em http://www.gnu.org/


3. Uma vez feitos os devidos ajustes no arquivo 'verao.2007.zic' execute o 
   comando 'zic':

    # zic verao.2007.zic

   Neste caso em particular o comando atualizara' o arquivo East.


4. Para verificar se as configuracoes corretas foram feitas, execute o 
   comando 'zdump', conforme segue abaixo (troque East pelo timezone de 
   sua regiao):

    # zdump -v Brazil/East |grep 200[78]

   Voce devera obter uma resposta como a que segue abaixo:

     Brazil/East Sun Oct 14 02:59:59 2007 UTC = Sat Oct 13 23:59:59 2007 BRT isdst=0 gmtoff=-10800
     Brazil/East Sun Oct 14 03:00:00 2007 UTC = Sun Oct 14 01:00:00 2007 BRST isdst=1 gmtoff=-7200
     Brazil/East Sun Feb 17 01:59:59 2008 UTC = Sat Feb 16 23:59:59 2008 BRST isdst=1 gmtoff=-7200
     Brazil/East Sun Feb 17 02:00:00 2008 UTC = Sat Feb 16 23:00:00 2008 BRT isdst=0 gmtoff=-10800


   Note que em "Sat Oct 13 23:59:59 2007 BRT" o sistema ainda nao esta no
   horario de verao (indicacao 'BRT'). No segundo seguinte as 
   modificacoes do horario de verao entram em vigor, adiantando o 
   localtime em uma hora: "Sun Oct 14 01:00:00 2007 BRST" (O horario
   mostrado ao usuario passara' para 1 da manha, e nao para meia-noite, 
   mostrando o adiantamento do horario).

   Em "Sat Feb 16 23:59:59 2008 BRST", o horario de verao terminara' no 
   segundo seguinte, com o localtime sendo entao atrasado em 1 hora: "Sat 
   Feb 16 23:00:00 2008 BRT" (o horario mostrado ao usuario voltara' para 
   as 23:00).


5. Por ultimo, se o arquivo /etc/localtime NAO for um link para o arquivo
   /usr/share/zoneinfo/Brazil/East, deve-se copiar o arquivo East para 
   /etc/localtime

    # cp East /etc/localtime


3. FreeBSD
==========

Usuarios do sistema FreeBSD devem proceder da mesma forma que usuarios 
GNU/Linux. A unica diferenca esta' no diretorio onde devera' ser criado o 
arquivo 'verao.2007.zic' - /usr/share/zoneinfo. As linhas a serem 
incluidas neste arquivo, assim como em sistemas GNU/Linux, sao:


  Rule Brazil  2007    only     -       Oct     14   00:00   1       S
  Rule Brazil  2008    only     -       Feb     17   00:00   0       -

  Zone    hv2007             -3:00   Brazil          BR%sT


No exemplo acima, o nome 'hv2007' representa o arquivo que sera' criado ao 
executar o comando:

  # zic verao.2007.zic

O arquivo contera' as informacoes do horario de verao e devera' ser 
copiado sobre /etc/localtime, lembrando que sera' preciso fazer uma copia 
de seguranca do arquivo /etc/localtime antes de sobrescreve-lo.


4. OpenBSD                                                                                                                                    
==========                                                                                                                                    
                                                                                                                                              
Usuarios do sistema OpenBSD devem proceder da mesma forma que usuarios 
GNU/Linux.
                                               

5. Solaris
==========

Usuarios de Solaris devem seguir o procedimento abaixo:

1. Verificar o zoneinfo respectivo. O arquivo /etc/TIMEZONE contem as
   informacoes relativas a qual arquivo sera' consultado para verificar o
   zoneinfo.

    # more /etc/TIMEZONE

    TZ=Brazil/East

   No exemplo acima, devera' ser consultado o arquivo East, no diretorio
   Brazil. Por padrao, este diretorio deve estar em 
   /usr/share/lib/zoneinfo.


2. Verificar se existe no diretorio /usr/share/lib/zoneinfo algum arquivo
   em formato texto que contenha informacoes relativas a outros horarios 
   de verao (DICA: geralmente um arquivo com extensao .zic)

   a) Se nao existir nenhum arquivo com tais informacoes, devera' ser
      criado um novo arquivo, de nome 'brazil.zic' por exemplo, e
      inserir as seguintes linhas.

       Rule Brazil  2007    only     -       Oct     14   00:00   1       S
       Rule Brazil  2008    only     -       Feb     17   00:00   0       -

       Zone    Brazil/East             -3:00   Brazil          BR%sT


   b) Se existir um arquivo com informacoes de horario de verao de outros
      anos basta inserir as linhas acima.


   As duas primeiras linhas informam quando inicia o horario de
   verao, quando termina e qual a acao a ser tomada. Lembre-se de que no
   inicio do horario de verao deve ser adicionada uma hora.

   A ultima linha diz qual arquivo sera' gerado pelo comando 'zic' - no
   exemplo sera' o arquivo 'East' (dentro do diretorio Brazil). Esta linha
   tambem informa o timezone da regiao, no caso o de Sao Paulo, UTC-3.

   No exemplo que se segue existe um diretorio 'Brazil' dentro de
   /usr/share/lib/zoneinfo que contem um arquivo brazil.zic, que deve ser
   atualizado com as linhas mencionadas acima.


3. Deve-se entao gerar o novo arquivo (em formato binario) como segue:

    # zic brazil.zic


4. Para verificar se as configuracoes foram feitas corretamente, execute o
   comando 'zdump' conforme segue abaixo (troque East pelo timezone de sua
   regiao):

    # zdump -v Brazil/East |grep 200[78]

   Voce devera obter uma resposta como a que segue abaixo:

   Brazil/East Sun Oct 14 02:59:59 2007 UTC = Sat Oct 13 23:59:59 2007 BRT isdst=0
   Brazil/East Sun Oct 14 03:00:00 2007 UTC = Sun Oct 14 01:00:00 2007 BRST isdst=1
   Brazil/East Sun Feb 17 01:59:59 2008 UTC = Sat Feb 16 23:59:59 2008 BRST isdst=1
   Brazil/East Sun Feb 17 02:00:00 2008 UTC = Sat Feb 16 23:00:00 2008 BRT isdst=0


6. AIX
======

Usuarios de AIX devem alterar o arquivo /etc/environment colocando a
diretiva:

 2007: TZ=GRNLNDST3GRNLNDDT,M10.2.0/00:00:00,M2.3.0/00:00:00
                                                                                                                                                              
Isto indica que o horario de verao se inicia `as 00:00 do segundo domingo 
do mes 10 (14 de Outubro) e finaliza `as 00:00 do terceiro domingo do mes 
2 (17 de Fevereiro) , seguindo a seguinte sintaxe:

 2007: TZ=GRNLNDST3GRNLNDDT,Mm.w.wd/00:00:00,Mm.w.wd/00:00:00
                                                                                                                                                              
  * m - mês ( 1 < m < 12 )
  * w - ocorrencia do dia da semana no mes contados a 
	partir do dia 1o. (1 < d < 5)
  * wd - dia da semana ( 0 < n < 5 : Domingo corresponde a 0)
  * hh:mm - horário


7. Windows
==========

Para sistemas Windows 9*/NT/2000/XP recomenda-se o uso do utilitario 
TZEDIT (tzedit.exe), incluido no CD do Resource Kit que acompanha a 
distribuicao do sistema. Nao existe URL oficial para download deste 
programa no site da Microsoft, mas ele pode ser facilmente encontrado na 
Internet, lembrando que neste ultimo caso *nao* se garante a integridade 
do programa.

Uma segunda opcao para modificacao do timezone em Windows XP e' a 
utilizacao do utilitario 'timezone.exe', disponivel para download em:

 Microsoft Download Center - Windows XP Service Pack 2 Support Tools
 http://www.microsoft.com/downloads/details.aspx?FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38&displaylang=en

 OBS: O download e' precedido de um processo de validacao, que verifica se 
      sua copia de Microsoft Windows e' genuina.


Administradores que queiram automatizar a atualizacao do horario de verao 
em redes com elevado numero de maquinas Windows podem encontrar mais 
informacoes em:

  . Microsoft Support Knowledge Base - How to configure daylight saving time dates for Brazil
    http://support.microsoft.com/?kbid=317211


Para a configuracao de timezone do seu sistema utilizando o comando 
'timezone.exe' siga os seguintes passos:


1. Faca o download do "Windows XP Service Pack 2 Support Tools" e 
   instale-o no seu sistema, caso voce nao possua o utilitario 
   'timezone.exe'.

2. Em um prompt de comando (cmd.exe) execute, a partir do diretorio 
   "Program Files\Support Tools" se foi utilizada a instalacao padrao, o 
   seguinte comando:

    C:\Program Files\Support Tools>timezone.exe /s 00:0:2:10  00:0:3:02

   As configuracoes acima seguem o formato:

    Hora:DiaDaSemana:Dia:Mes    Hora:DiaDaSemana:Dia:Mes
    (Inicio horario de verao)   (Fim horario de verao)

    Hora: 		Hora (00 ate 23)
    DiaDaSemana:	Dia da semana (0 - 6 : 0 = Domingo,
                        1 = Segunda, etc)
    Dia: 		Ocorrencia do dia da semana no mes ( 1 - 5 :
                        Exemplo -> no caso do dia da semana ser 
                        Terca-Feira:  1 - primeira terca do mes, 
        		2 - segunda terca do mes, etc)
    Mes: 		Mes do ano (01 - 12)


3. Execute o seguinte comando para verificar se as modificacoes foram 
   corretamente executadas:

    C:\Program Files\Support Tools>timezone.exe /g

    Current Timezone is :

      Daylight Saving Time begins at 00:0:2:10
      Daylight Saving Time ends at 00:0:3:02


4. Configure o sistema para utilizar automaticamente as configuracoes do
   horario de verao:
  
   . Va' em Start -> Settings -> Control Panel -> Date and Time -> 
     Timezone;
   . Certifique-se que voce esta' utilizando o timezone de Brasilia (UTC-0300) 
     Brasilia;
   . Certifique-se que a caixa "Automaticamente ajuste o relogio para o
     horario de verao" esta marcada.


O CAIS esta' a disposicao para maiores esclarecimentos.

Atenciosamente,

################################################################
#   CENTRO DE ATENDIMENTO A INCIDENTES DE SEGURANCA (CAIS)     #
#       Rede Nacional de Ensino e Pesquisa (RNP)               #
#                                                              #
# cais em cais.rnp.br       http://www.cais.rnp.br                #
# Tel. 019-37873300      Fax. 019-37873301                     #
# Chave PGP disponivel   http://www.rnp.br/cais/cais-pgp.key   #
################################################################
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Made with pgp4pine 1.76

iQCVAwUBRwZ7lekli63F4U8VAQFH3QP/UMHuYRzGSMOkSL/Crat/VufJ6gfSqPEn
xZQZjThdD0V75UUpBXNNkHJU2H2JOzf/Kzy1hOaWVKyV5dIYIOkCkfsR55J2xJnR
PaZMoA0nBnQZwhpCNpi8JmCUW7s2VWnLZHUvNozQBeE+rRoqu1OpBev0YH0OtcYq
Lcl61vlJP5s=
=ktoe
-----END PGP SIGNATURE-----

----- End forwarded message -----



Mais detalhes sobre a lista de discussão SECURITY-L