segurança php em um sistema com apenas software php conhecido (ou: precisa de um CMS não-PHP alternativo)

1

Tenho uma profunda antipatia pelo PHP devido ao seu histórico de segurança e à forma como o projeto lida com a segurança em geral. Infelizmente eu tenho que implantar um CMS e preciso de um tema moderno para isso. Até agora eu olhei quase em todos os lugares, mas sempre se resume a um CMS baseado em PHP, porque é isso que as massas estão usando e os designers estão projetando. : (

Agora, estou decidido pelo Drupal, que é um projeto mantido adequadamente e lida com falhas de segurança exemplares. Mas ainda há o gosto amargo depois de ter que implantar publicamente o php em geral.

Até agora, o que fiz foi:

  • PHP encadeado com PHP-FPM: sockets, chroot, usuário próprio não privilegiado, ...
  • endureceu as permissões do sistema de arquivos em torno da minha raiz da web
  • ficou no PHP 5.3.x w / suhosin ativo (não há suhosin ainda para 5.4.x)
  • manteve todos os módulos do PHP que o Drupal não precisa
  • ...

Minha principal preocupação é PHP, com toda a honestidade. O que mais posso fazer para proteger a máquina host? E para aqueles que têm mais experiência com Drupal e PHP (sendo um desenvolvedor de C ++), quanto de risco de segurança o PHP realmente representa em um sistema que apenas implanta um pacote conhecido e nenhum script PHP de usuário ou algo parecido?

Mesmo que pareça, não sou um novato no Linux ou no servidor. :) PHP não é apenas a minha principal área de jogo devido à sua má imprensa recorrente e em curso e minha falta de interesse em desenvolvimento web ...

Como alternativa, eu realmente gostaria de usar um CMS que se baseia em Perl, Python ou até Ruby. Então, se alguém sabe um bom sistema CMS que tem bons temas pagos disponíveis, suporta um layout flexível, juntamente com um mecanismo de blog e também suporta o PostgreSQL (o banco de dados de minha escolha), eu seria todo ouvidos ...

Obrigado por dedicar um tempo para ler esta postagem um tanto estranha. : -)

ATUALIZAÇÃO: Esqueci de mencionar que é necessário manter meu servidor adequadamente, ter um firewall restritivo e fazer o melhor que se pode fazer nos dias de hoje.

    
por khaos 22.04.2012 / 14:49

2 respostas

2

Você mencionou que tem um firewall restrito, não esqueça de bloquear as conexões de saída por UID.

Se você estiver executando o PHP sob seu próprio ID de usuário, você pode (e deve!) negar as conexões HTTP / HTTPS de saída do usuário, a menos que seja necessário permitir a verificação de atualizações ou a busca de feeds RSS. Isso impedirá que qualquer código explorado possa fazer o download de um rootkit.

    
por 22.04.2012 / 15:34
1

Fiquei um pouco confuso com a sua pergunta, mas reconheço o seu problema na minha experiência. O que acontece com o desenvolvimento de templates, provavelmente o Wordpress (mesmo que você não tenha inicialmente planejado como CMS), ao invés do Drupal, é a melhor escolha para muitos designers.

Eu tenho executado servidores virtuais com apenas a instalação do WordPress, e na medida em que você atualiza o pacote freqüentemente deve haver quaisquer falhas graves. Ao lado de poucas tentativas malsucedidas de alguém tentando esconder cookies, vejo algo perturbador.

Qual era o meu problema também era a vulnerabilidade geral do php e a quantidade de usuários que exploravam as totalidades de segurança, o que também era uma razão para não entrar no mundo popular do desenvolvimento da web em Java. Minha solução é o uso de Python Web Framework e especificamente Projeto Django . Meu foco principal é o front-end dos serviços da Web, aplicativos ou sites da Web, para os quais todo o Django funciona muito bem no back end. Projetar um modelo para ele é extremamente fácil quando você tiver um modelo projetado em html / css, que parece ser o que você está procurando.

Espero que você tenha algumas visões alternativas sobre as possibilidades do CMS e responda um pouco à sua pergunta.

    
por 22.04.2012 / 15:30