RNP - Rede Nacional de Ensino e Pesquisa
 
Segurança de redes 
 

Alterações de configuração necessárias para o Horário de Verão 2008/2009

Alerta do CAIS 20081003

[CAIS, 03.10.2008-15:48, revisão 01]


Como foi devidamente anunciado pelo CAIS, o horário de verão 2008/2009 terá início em 19 de outubro de 2008 e término em 15 de fevereiro de 2009. Com isto, algumas configurações nos sistemas sao necessárias.

O horário de verão tem relação com o timezone (fuso horário) configurado no sistema. Ao alterar o timezone altera-se o parâmetro do sistema que determina a diferença em horas entre o horário absoluto (UTC / GMT 0) e o horário local.

É bom lembrar que os fusos horários brasileiros foram modificados pela Lei no. 11.662 de 24 de abril de 2008.


Se o relógio do sistema (horário absoluto) marca 16:00:00 UTC, ajustado por NTP, temos:

  • Para o timezone do Brasilia (GMT-3), o horário mostrado ao usuário será 13:00h ou GMT-3 (hora local)
  • Para o timezone de Paris (França - GMT+1) o horário mostrado ao usuario será 17:00h ou GMT+1 (hora local)

Nenhuma modificação na configuração do serviço de NTP é necessária. Entretanto, deve-se tomar um cuidado especial com os servidores NTP (Stratum 1, Stratum 2 e outros) quando ocorrerem modificações de configuração para o horário de verão. Caso o servidor NTP detecte uma diferença maior do que 20 minutos entre o horário do sistema (horario absoluto) e o horário registrado pelo servidor NTP (ntpd, OpenNTPD), o serviço NTPD poderá parar. Assim, deve-se redobrar a atenção durante o processo de configuração do horário de verão em hosts que provêem este serviço.

Lembramos também que, para algumas versões de Linux/Unix, poderá ser necessário reiniciar o daemon "cron" após o início do horário de verão, de forma que as tarefas agendadas através do Cron possam continuar a ser executadas no horário correto. Para mais informações, verifique o manual do "cron" e "crontab" do seu sistema.

A seguir são descritos os procedimentos de atualização 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 é preciso que se saiba de antemão o timezone da sua região.

Para mais informações sobre os fusos horários do Brasil por favor consulte o site da Agência Nacional de Energia Elétrica - ANEEL:

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

 
 
1. Cisco IOS

Nos arquivos de configuração dos roteadores Cisco será preciso incluir (ou atualizar) as seguintes linhas:

clock timezone GMT-3 -3
clock summer-time GMT-2 date Oct 19 2008 0:00 Feb 15 2009 0:00

Os logs gerados pelo Cisco passarão a informar a hora como GMT-2, que é a nova configuração do timezone.
 
 
2. GNU/Linux

Usuários de sistemas baseados em GNU/Linux devem seguir o procedimento abaixo:

2.1. Verificar a existência do arquivo /etc/localtime . Se este arquivo existir verifique se ele é um link simbólico. Uma das formas de fazer esta verificação é executar o seguinte comando:

$ file /etc/localtime
localtime: timezone data


A saída acima indica que se trata do próprio arquivo com dados de timezone. A saída abaixo indica um link para o arquivo.

$ file /etc/localtime
localtime: symbolic link to `/etc/localtime'


Não é recomendado possuir o arquivo /etc/localtime como link simbólico. Sistemas em que o diretório /usr é acessível (não tiver sido montado, por exemplo) no momento de inicialização da máquina, os dados do arquivo localtime não serão lidos.


2.2. Verificar se existe no diretório /usr/share/zoneinfo/Brazil algum arquivo que contenha informações relativas a períodos de horário de verão de anos anteriores. Normalmente este arquivo tem extensão ZIC (.zic).

a) Se não existir um arquivo com tais dados então crie um novo, de nome verao.2008.zic por exemplo, no diretório /usr/share/zoneinfo/Brazil/ . Este arquivo deverá conter as seguintes linhas:

Rule Brazil  2008    only     -       Oct    19   00:00   1       S
Rule Brazil  2009    only     -       Feb    15   00:00   0       -

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


b) Se existir um arquivo com dados de horário de verão de outros anos, basta inserir as linhas acima ao final do arquivo existente.

As duas primeiras linhas de configuração acima informam quando se inicia o horário de verão, quando termina, e qual é a ação tomada. Lembre-se de que no início do horário de verão a hora local é acrescida em uma (1) hora.

A última linha diz qual arquivo será modificado pelo comando zic. No exemplo acima, será o arquivo East (dentro do diretório Brazil). Esta linha também informa qual o timezone original da região - no caso de São Paulo (East) temos UTC-3. Caso você esteja utilizando um timezone diferente do adotado em São Paulo (East), modifique estes parâmetros para o timezone de sua região:

#Fuso horario do Arquipelago de Fernando de Noronha:
Zone    Brazil/DeNoronha     -2:00   Brazil          FN%sT

#Fuso horario dos estados a Leste
Zone    Brazil/East          -3:00   Brazil          BR%sT

#Fuso horario dos estados a Oeste (AC, AM, RO, RR, MS, MT)
Zone    Brazil/West          -4:00   Brazil          AM%sT


* Parâmetros definidos pela glibc presente em sistemas Linux, disponível para download em http://www.gnu.org/


2.3. Uma vez feitos os devidos ajustes no arquivo verao.2008.zic execute o comando zic:

# zic verao.2008.zic

Neste caso em particular o comando atualizará o arquivo East.


2.4. Para verificar se as configurações corretas foram feitas, execute o comando zdump, conforme segue abaixo (troque East pelo timezone de sua região):

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

Você deverá obter uma resposta como a que segue abaixo:

Brazil/East  Sun Oct 19 02:59:59 2008 UTC = Sat Oct 18 23:59:59 2008 BRT isdst=0 gmtoff=-10800
Brazil/East  Sun Oct 19 03:00:00 2008 UTC = Sun Oct 19 01:00:00 2008 BRST isdst=1gmtoff=-7200
Brazil/East  Sun Feb 15 01:59:59 2009 UTC = Sat Feb 14 23:59:59 2009 BRST isdst=1gmtoff=-7200
Brazil/East  Sun Feb 15 02:00:00 2009 UTC = Sat Feb 14 23:00:00 2009 BRT isdst=0 gmtoff=-10800

Note que em "Sat Oct 18 23:59:59 2008 BRT" o sistema ainda não está no horário de verão (indicação 'BRT'). No segundo seguinte as modificações do horário de verão entram em vigor, adiantando o localtime em uma hora: "Sun Oct 19 01:00:00 2008 BRST" (o horário exibido ao usuário passará para 1 da manhã, e não para meia-noite, mostrando o adiantamento do horário).

Em "Sat Feb 14 23:59:59 2009 BRST", o horário de verão terminará no segundo seguinte, com o localtime sendo então atrasado em 1 hora: "Sat Feb 14 23:00:00 2009 BRT" (o horário exibido ao usuário voltará para as 23:00).


2.5. Por último, se o arquivo /etc/localtime não 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

Usuários do sistema FreeBSD devem proceder da mesma forma que usuários GNU/Linux. A única diferença está no diretório onde deverá ser criado o arquivo verao.2008.zic, em /usr/share/zoneinfo . As linhas a serem incluídas neste arquivo, assim como em sistemas GNU/Linux, são:


Rule Brazil  2008    only     -       Oct     19   00:00   1       S
Rule Brazil  2009    only     -       Feb     15   00:00   0       -

Zone    hv2008             -3:00   Brazil          BR%sT


No exemplo acima, o nome hv2008 representa o arquivo que será criado ao executar o comando:

# zic verao.2008.zic

O arquivo conterá as informações do horário de verão e deverá ser copiado sobre /etc/localtime , lembrando que será preciso fazer uma cópia de segurança do arquivo /etc/localtime antes de sobrescrevê-lo.
 
 
4. OpenBSD

Usuários do sistema OpenBSD devem proceder da mesma forma que usuários GNU/Linux.
 
 
5. Solaris

Usuários de Solaris devem seguir o procedimento abaixo:

5.1. Verificar o zoneinfo respectivo. O arquivo /etc/TIMEZONE contém as informações relativas a qual arquivo será consultado para verificar o zoneinfo.

# more /etc/TIMEZONE
TZ=Brazil/East

No exemplo acima, deverá ser consultado o arquivo East, no diretório Brazil. Por padrão, este diretório deve estar em /usr/share/lib/zoneinfo .


5.2. Verificar se existe algum arquivo em formato texto no diretório /usr/share/lib/zoneinfo que contenha informações relativas a outros períodos de horário de verão (geralmente um arquivo com extensao .zic).

a) Se não existir nenhum arquivo com tais dados, deverá ser criado um novo arquivo, de nome brazil.zic por exemplo, e inserir as seguintes linhas:

Rule Brazil  2008    only     -       Oct     19   00:00   1       S
Rule Brazil  2009    only     -       Feb     15   00:00   0       -

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

b) Se existir um arquivo com informações de horário de verão de outros anos basta inserir as linhas acima.

As duas primeiras linhas informam quando inicia o horário de verão, quando termina e qual a ação a ser tomada. Lembre-se de que no início do horário de verão deve ser adicionada uma hora.

A última linha diz qual arquivo será gerado pelo comando zic - no exemplo será o arquivo East (dentro do diretório Brazil). Esta linha também informa o timezone da região, no caso o de São Paulo, UTC-3.

No exemplo que se segue existe um diretório Brazil dentro de /usr/share/lib/zoneinfo que contém um arquivo brazil.zic, que deve ser atualizado com as linhas mencionadas acima.


5.3. Deve-se entao gerar o novo arquivo (em formato binário) como segue:

# zic brazil.zic


5.4. Para verificar se as configurações foram feitas corretamente, execute o comando zdump conforme segue abaixo (troque East pelo timezone de sua região):

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

Você deverá obter uma resposta como a que segue abaixo:

Brazil/East  Sun Oct 19 02:59:59 2008 UTC = Sat Oct 18 23:59:59 2008 BRT isdst=0
Brazil/East  Sun Oct 19 03:00:00 2008 UTC = Sun Oct 19 01:00:00 2008 BRST isdst=1
Brazil/East  Sun Feb 15 01:59:59 2009 UTC = Sat Feb 14 23:59:59 2009 BRST isdst=1
Brazil/East  Sun Feb 15 02:00:00 2009 UTC = Sat Feb 14 23:00:00 2009 BRT isdst=0
 
 
6. AIX

Usuários de AIX devem alterar o arquivo /etc/environment colocando a diretiva:

2008: TZ=GRNLNDST3GRNLNDDT,M10.3.0/00:00:00,M2.3.0/00:00:00

Isto indica que o horário de verão se inicia às 00:00 do terceiro domingo do mês 10 (19 de outubro) e termina às 00:00 do terceiro domingo do mês 2 (15 de fevereiro), seguindo a seguinte sintaxe:

2008: TZ=GRNLNDST3GRNLNDDT,Mm.w.wd/00:00:00,Mm.w.wd/00:00:00

  • m - mês ( 1 < m < 12 )
  • w - ocorrência do dia da semana no mês contados a partir do dia 1 (1 < d < 5)
  • wd - dia da semana ( 0 < n < 5 : Domingo corresponde a 0)
  • hh:mm - horário
 
 
7. MS Windows

Em abril de 2008 foi sancionada a lei no. 11.662/08, que reduziu o número de fusos horários brasileiros para três. Os fusos horários dos estados do Acre, Amazonas e Amazonas foram afetados. Em agosto a Microsoft disponibilizou uma atualização cumulativa que trata desta mudança.


Para sistemas Windows 9*/NT/2000/XP recomenda-se o uso do utilitário TZEDIT (tzedit.exe), incluído no CD do Resource Kit que acompanha a distribuição do sistema. Não existe URL oficial para download deste programa no site da Microsoft, mas ele pode ser facilmente encontrado na Internet, lembrando que neste último caso não se garante a integridade do programa.

Uma segunda opção para modificação do timezone em Windows XP é a utilização do utilitário timezone.exe, disponível para download em:


O download é precedido de um processo de validação, que verifica se sua cópia de Microsoft Windows é genuína. Administradores de sistemas Windows que queiram automatizar a atualização do horário de verão podem encontrar mais informações em:


Para a configuração 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 você não possua o utilitário timezone.exe.

2. Em um prompt de comando (cmd.exe) execute, a partir do diretório Program FilesSupport Tools se foi utilizada a instalação padrão, o seguinte comando:

C:Program FilesSupport Tools>timezone.exe /s 00:0:3:10  00:0:3:02

As configurações acima seguem o formato:

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

Hora:         Hora (00 até 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 modificações foram corretamente executadas:

C:Program FilesSupport Tools>timezone.exe /g

Current Timezone is :

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


4. Configure o sistema para utilizar automaticamente as configurações do horário de verão:

  • Vá em Start -> Settings -> Control Panel -> Date and Time -> Timezone;
  • Certifique-se que você está utilizando o timezone de Brasília (UTC-0300) Brasília;
  • Certifique-se que a caixa "Automaticamente ajuste o relógio para o horário de verão" esta marcada.

Para configuração de Horário de Verão em sistemas Microsoft Windows Vista por favor consulte a seguinte página da Microsoft:


O CAIS Alerta também é oferecido no formato RSS/RDF:
http://www.rnp.br/cais/alertas/rss.xml

O CAIS está à disposição para esclarecimentos adicionais.



Centro de Atendimento a Incidentes de Segurança

Consulta em alertas

 


Contato com o Cais:

+55 (19) 3787-3300
+55 (19) 3787-3301

cais@cais.rnp.br


Chave PGP pública do Cais