Os ataque às aplicações web estão sempre evoluindo. Com o dado sendo uma moeda tão valiosa, é de extrema importância manter a segurança de um sistema atualizada para evitar perdas. O novo módulo de segurança, além de ser extremamente flexível e intuitivo, implementa diversos recursos e boas práticas de segurança, tornando o sistema muito mais sólido contra esses ataques.
Neste artigo, vamos aprender como podemos migrar do módulo de segurança antigo para o novo, aproveitando todos esses benefícios.
O que é preciso?
Antes de conseguirmos realizar a migração, é necessário preparar o módulo antigo para receber as atualizações pois, como dito anteriormente, o novo módulo implementa diversas melhorias e recursos que não existiam no antigo. Para isso, será necessário alterar a tabela “sec_users” criada pelo módulo.
Por padrão, as aplicações criadas pelo módulo de segurança contém o prefixo “sec_” e estão localizadas no diretório “Security” do projeto.
Alterando a tabela sec_users
O Database builder não está disponível para todos os SGBDs. É possível realizar as mesmas alterações utilizando qualquer ferramenta que permita gerenciar banco de dados — como o Dbeaver, por exemplo.
1. Acesse o database builder em Database → Database builder:
2. Procure pela opção “Comando SQL”:
3. Realize o comando SQL Alter table para adicionar os campos “role”, “phone”, “pswd_last_updated” e “mfa_last_updated” à tabela sec_users:
Note que “role” e “phone” serão campos do tipo TEXT, enquanto “pswd_last_updated” e “mfa_last_updated” serão do tipo TIMESTAMP. É preciso selecionar o tipo correspondente de acordo com seu SGBD — como Varchar e TIMESTAMP para MySQL, por exemplo.
- ALTER TABLE sec_users ADD COLUMN phone TEXT NULL DEFAULT NULL;
- ALTER TABLE sec_users ADD COLUMN role TEXT NULL DEFAULT NULL;
- ALTER TABLE sec_users ADD COLUMN pswd_last_updated TIMESTAMP NULL DEFAULT NULL;
- ALTER TABLE sec_users ADD COLUMN mfa_last_updated TIMESTAMP NULL DEFAULT NULL;
Migrando para o novo módulo de segurança
Tendo realizado a alteração na tabela sec_users mostrada anteriormente, já é possível migrar para o novo módulo de segurança:
1. Acesse Módulos → Segurança
2. Clique em “Criar Módulo de Segurança”:
3. Selecione o tipo de segurança que será utilizada:
É importante que o tipo de segurança do novo módulo seja igual ao do antigo.
4. Selecione a conexão que possui as tabelas do módulo antigo e marque a opção “Usar tabelas existentes”
5. Clique no botão recarregar “↻” para que o Scriptcase possa ver as alterações na tabela e clique em “Prosseguir”
6. Associe os campos às colunas correspondentes e clique em “Prosseguir”:
USUÁRIO
- Tabela→ sec_users
- Login → login
- Senha → pswd
- Nome→ name
- Telefone → phone
- Cargo → role
- E-mail → email
- Ativo→ active
- O código de ativação → activation_code
- Privilégio de administrador → priv_admin
- Autenticação de dois fatores (2FA) → mfa
- Foto → picture
- Última alteração de senha → pswd_last_updated
- Tempo de revalidação→ mfa_last_updated
GRUPO
- Tabela → sec_groups
- ID → group_id
- Descrição → description
APLICAÇÃO
- Tabela → sec_apps
- Nome da Aplicação → app_name
- Descrição → description
- Tipo de Aplicação → app_type
USUÁRIO/GRUPO
- Tabela → sec_users_groups
- Login → login
- Código do Grupo → group_id
GRUPO/APLICAÇÃO
- Tabela → sec_groups_apps
- Código do Grupo → group_id
- Nome da Aplicação → app_name
- Privilégio de Acesso → priv_access
- Privilégio de Inserção → priv_insert
- Privilégio de exclusão → priv_delete
- Privilégio de atualização → priv_update
- Privilégio de exportação → priv_export
- Privilégio de Imprimir → priv_print
CONFIGURAÇÕES
- Tabela → sec_settings
- Nome → set_name
- Valor → set_value
7. Escolha o prefixo das aplicações do novo módulo
8. Preencha a aba “Configurações de e-mail” e clique em “Gerar segurança”
10. Gere o código fonte das novas aplicações