SIQ® GQF Plugin`s WEB (Aplicações WEB) Gestão da Qualidade de
Transcrição
SIQ® GQF Plugin`s WEB (Aplicações WEB) Gestão da Qualidade de
SIQ® GQF Plugin’s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores Requerimentos do Software Versão para Microsoft Windows/Unix Dezembro 2006 Bem-Vindo ao to SIQ – GQF Plugin’s WEB - Gestão da Qualidade de Fornecedores, requerimento de Software para Microsoft Windows/Unix. Este guia contém os seguintes tópicos: Requerimentos Servidor de Aplicação Segurança 2 Requerimentos 2.1. Servidor de Aplicação JAVA IMPORTANTE: Caso não possua os requisitos abaixo especificado, a SIQ Systems, disponibiliza a solução de DataCenter com todos os recursos necessários para hospedar aplicações WEB. Para maiores informações, consulte a SIQ Requerimentos Sistema Operacional Mínimo • • • • Windows NT 4 Windows 2000 Linux/Unix Windows XP Recomendado • • • Windows 2003 Linux/Unix Windows XP Espaço em disco 400 Mb (Pequena Variação +- 0.5 Mb Mês) 800 Mb (Pequena Variação +- 0.5 Mb Mês) JRE 1.5.0 > 1.5.0 > Servidor WEB IIS 5.0 ou Apache IIS 5.0 ou Apache Servidor de Aplicação* TOMCAT 5.X Desde que não utilizados componentes Enterprise Instance de 512 Mb JBOSS AS 4.0.5 GA (Java EE5) Instance de 512 Mb Bibliotecas JDBC de conexão com o Banco. Ex: Oracle é o OJDBC14.jar JDBC de conexão com o Banco. Ex: Oracle é o OJDBC14.jar Firewall Caso esteja usando Servidor WEB, basta liberar a porta deste servidor e fazer o direcionamento de contexto. Caso esteja usando Servidor WEB, basta liberar a porta deste servidor e fazer o direcionamento de contexto. *Outros Servidores de Aplicação compatíveis: - WebSphere Oracle Application Server GlassFish BEA - Sun Application Server Tecnologia utilizada nas aplicações Web (Java). - Java Server Faces - Apache Trinidad - Jboss RichFaces - Facelets - Hibernate - JFreeChart - Jasper Report (IReport) - JUnit - JMeter - HTML - J2EE - JSP - Servlets - JDBC - Spring - JbossSeam - JavaPersistence - TestNG 3 Segurança 3.1. Segurança das Aplicações SIQ – Plugin’s WEB. 3.1.1 – Autenticação e Autorização de Usuários • Senha com mínimo de 8 caracteres • Tempo para Expiração da senha • Não permite re-utilizar as 12 últimas senhas • Expira a senha em caso de 3 tentativas de logins que falharem • Envio de usuário e senha para o usuário (Esqueci minha senha) • Permite o usuário alterar sua senha • Definição e Aplicação de papéis para permissões do usuário • Definição e Aplicação de Fornecedor(es) que o usuário tem permissão de visualização. 3.1.2 - Aspectos Tecnológicos • Encriptação de senha no servidor de Aplicação Os arquivos de dataSource do (Ex. JBoss) são criptografados. A senha é gerada e gravada em arquivo através de um aplicativo Swing provido pela SIQ-Systems. • Rastreamento de operações no Banco de Dados Todos comandos de persistência são gravados em tabela, contendo o horário e o usuário logado que gerou a requisição da operação. • Filtros web que garantem se o usuário esta realmente autenticado a cada página. • Tempo limite para duração de sessões • Uso de Captcha (imagem no Login) que evita tentativas automáticas de acesso. • Compatibilidade SSL (https) • Session hijacking. O desenvolvimento web com a tecnologia JavaEE, provê um gerador de sessions UID´s aleatório, bastante extenso e composto por caracteres alfa-numéricos. Isso garante que ele não seja classificado como "previsível". O uso de JavaServer Faces (usado no projeto), faz com que tais UID´s (chamadas de jsessionid), jamais sejam enviadas por métodos GETs, nas urls, garantindo mais segurança. JSF trabalha via "POST". • Validação de Inputs de todas as entradas de dados são validadas através de "validators" do Javaserver Faces. • Cross Site Scripting Não existe no sistema desenvolvido, nenhum input passível de geração Javascript. Entradas como por exemplo ">" são substituídas pelo JavaServer Faces para ">". • SQL Injection Para persistencia dos dados, utilizamos o padrão da Sun JavaPersistence API (JPA). Com JPA, os parâmetros não são concatenadados em uma String SQl e enviado ao Banco de Dados. A consulta é pré-compilada e enviada para o banco, com os parâmetros sendo setados préviamente por atribuição. Ex: Consulta pré-compilada: "select usuario.id from Usuario where usuario.nome = ?1" Parâmetro String setado: setParameter(1, "SIQ").