Sugestões de Segurança Acesso a Sistema SSL

Amigos,

Preciso de dicas como fazer um sistema Seguro em SCRIPTCASE, usar SSL?, restringir o acesso ao
sistema somente para computadores autorizados e não de qualquer Pc da WEB, redundância de Sistema e Banco de Dados.

Alguém já fez algo similar? teriam sugestões?

Grato.

Cara, não sou expert em segurança, mais para facilitar; Qual tipo de segurança deseja, dê mais detalhes, e qual seu medo?

Também não sou muito expert porém posso compartilhar minha experiência com SSL, dê mais detalhes².

Que um site rode em SSL DEDICADO com o SCRIPTCASE, se tem que fazer algo diferente na hora de colocar em Produção no SERVER.

Estou vendo se assino uma hospedagem que eu libero somente uma lista de IP’s fixos externos que vão ter acesso ao mesmo tipo VPN.

E assinar também um espelhamento de SERVIDOR e BANCO DE DADOS.

Eu gostaria de saber se alguém já fez etc, isso, mas se ninguém fez é o caminho que tô seguindo…

Para rodar em ssl não é preciso fazer nada diferente.
Apenas compre o certificado digital e habilite ele na hospedagem.
Faça um verificação na tela de login assim que ela seja carregada.
Se não estiver com ssl ativo faz reload carregando novamente a tela de login na porta 443.
Tem um monte de exemplo no google com php de como fazer isto.
Exemplo do nada se cria tudo se cópia:

Coloca no onload da tela de login.

if($_SERVER[‘SERVER_PORT’] != ‘443’) {
header(‘Location: https://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]);
exit();
}

Da mesma forma não é preciso contratar hospedagem para limitar o acesso quando os ip´s do cliente “são fixos (estáticos)”.
Basta verificar os ips das máquinas com php.
A variável $_SERVER[“REMOTE_ADDR”] devolve o valor do ip da máquina onde o usuário esta vendo o aplicativo.

Exemplo no onload ou no onapplicationinnit:
$ipvisitante=$_SERVER[“REMOTE_ADDR”];

Logo, basta usar a imaginação e colocar um bloqueio comparando este ips com o $ipvisitante.
Sugestão: Coloque os ip´s que quer liberar em uma tabela.
Faça a consulta, se retornar verdadeiro libera a tela de login, falso tela de erro personalizada.

Redundância.
Tenha o sistema em pelo menos dois locais diferentes.
Não adianta colocar os dois na empresa X. Se os links ou servidores da empresa X falham você tá ferrado na sua redundância. E eu já vi acontecer isto aqui com o pessoal da lista. Acha que tá seguro porque pegou dois clouds na mesma empresa. Por favor né! Sejam espertos!
Se endereço xxxx.com.br cai ou está lento o yyy.com.br pode ser acessado.
Faça a replicação do banco.
As bases são um caso especial e aqui entra o conceito de ter um DBA em mysql para ajudá-lo. Muitas pessoas dizem que mysql, firebird e etc não precisa de um DBA. Eu acho que qualquer base precisa de um DBA.
Pois implica situações como:

  1. Instrução (conselho) do próprio manual do mysql: insert, updates e deletes no master, selects (consultas) no slave.
  2. Se você não seguiu o conselho acima e o master cai, o slave recebe os insert, updates, delete.
    Quando o master voltar isto será retornado a ele de forma automática ou manual?
    e etc, etc, etc, etc.
    Seu software esta preparado para esta situação?
    Pois, se permitir a escrita nos dois sem o devido tratamento, será uma mistura de chaves duplicadas, chave primárias, unique key e blá,blá,blám não permitindo o retorno dos dados para o master.

Ainda se escolheu colocar os bancos em hosts (empresas hospedagem) diferentes.
Tem o lance do delay entre os links. Pois conforme a escolha de sincronização pode haver um bloqueio até que pelo menos um slave seja sincronizado.
Mais informações no google, manual do mysql ou http://hudsonsantosdba.blogspot.com.br/2010/05/replicacao-semi-sincronizada-no-mysql.html

A situação acima se trata de master to slave, de master to master o cenário muda um pouco.

Emfin, consulte um DBA e seja feliz hehehhehehehhe.
Espero ter ajudado.

Grato Alexandre Pereira Bühler, era isso mesmo que queria.