Tabla de contenido
Como provavelmente tem visto nos media ultimamente, a importância da actualização dos sistemas é mais visível do que nunca. Vemos numerosas vulnerabilidades críticas que podem levar a um sistema comprometido ou a um aumento dos privilégios dos utilizadores do sistema, ou seja, comportar-se como administrador sem ter de o ser, ser capaz de ler e modificar ficheiros aos quais não devem ter acesso ou mesmo executar remotamente o código na nossa máquina.
Últimas vulnerabilidades dos meios de comunicação
As mais proeminentes são as seguintes:
- Apache log4j vulnerabilidade, permite a execução de código à distância (https://www.incibe.es/protege-tu-empresa/avisos-seguridad/vulnerabilidad-critica-apache-log4j )
- Vulnerabilidade do Linux Dirty Pipe, permitindo que os ficheiros sejam sobrescritos mesmo que sejam apenas de leitura (https://www.incibe-cert.es/alerta-temprana/avisos-seguridad/dirty-pipe-vulnerabilidad-escalada-privilegios-el-kernel-linux ).
- Vulnerabilidade do Windows CVE-2022-21882 ( https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-21882 )
Como realizar o processo de actualização
Deve ter-se em conta que a partir do momento em que uma vulnerabilidade ou falha é encontrada no sistema, há um tempo de desenvolvimento para o remendo. O Linux leva em média 25 dias para lançar correcções, a Apple 70 dias e a Microsoft 80 dias.
Isto também se aplica a aplicações, e não apenas a sistemas. Por exemplo, WordPress e os seus plugins lançam actualizações frequentemente.
Provavelmente está a perguntar-se o que acontece com os contentores. Bem, normalmente se houver uma boa comunidade por detrás de uma imagem para uma aplicação, serão lançadas novas imagens actualizadas, de modo que, praticamente parando o recipiente e levantando outro com a nova imagem, teremos a aplicação actualizada. Noutros casos, é provável que tenha de ser seguida uma série de passos para realizar uma actualização complementar dos dados nas bases de dados, etc.
Se tivermos imagens criadas por nós, sempre que possível e as aplicações forem compatíveis com novos sistemas, devemos actualizar a imagem para não ficarmos para trás e corrigir erros nas camadas de imagem que compõem a nossa imagem final.
Outro ponto importante é a actualização do firmware dos componentes de hardware da infra-estrutura.
Finalmente, a frequência de actualização. É importante actualizar o sistema ou a aplicação frequentemente (sempre que possível) e isto deve ser avaliado caso a caso. Uma maneira de o fazer é agendar actualizações numa base semanal ou mensal. Antes da actualização, rever as alterações que serão aplicadas e verificar se o sistema, aplicação ou contentor pode funcionar com estas alterações.
Antes de actualizar qualquer coisa (aplicações, contentores ou sistema) faça uma cópia de segurança dos dados antes de actualizar.
O backup pode variar dependendo da utilização do sistema ou aplicação, mas gosto de o fazer desta forma:
- Sistema operativo: Backup completo do disco do sistema. Existem ferramentas pagas para isto, mas também pode ser feito executando um dd do disco do sistema para um ficheiro. Com isto podemos restaurar o sistema completo em caso de problemas, poupando-nos de o reinstalar.
- Aplicações: Cópia de segurança de ficheiros e base de dados. Dependendo da criticidade da aplicação, eu faria um backup completo do sistema.
- Contentores: Neste caso, é importante utilizar volumes para persistir os dados. Eu faria uma cópia de segurança destes volumes para evitar a modificação dos dados durante a actualização/substituição da imagem.