Embora a desativação / desinstalação de determinados softwares seja uma abordagem perfeitamente válida para fortalecer um sistema, em muitos casos é um exagero - especialmente quando, como você, não se tem certeza de quais serviços desativar.
A melhor abordagem seria usar uma instalação mínima combinada com um firewall restritivo. Como isso será um servidor da Web, o conjunto de regras deverá ser muito fácil de definir.
Para realizar uma instalação mínima, vá até o instalador do CentOS e, ao chegar na tela que lista as funções, desmarque todas elas. Em seguida, escolha "Personalizar agora".
Você verá uma tela com várias categorias à esquerda e grupos de pacotes à direita. Percorra cada categoria e desmarque todos os grupos de pacotes. Na categoria Base , clique no botão Pacotes opcionais . Eu costumo desmarcar tudo, exceto:
-
O anacron permite o agendamento de tarefas e garante que as tarefas agendadas sejam executadas mesmo se perdidas devido a tempo de inatividade.
-
O sudo permite-lhe executar comandos com privilégios elevados a partir de uma conta não privilegiada. Na minha opinião, este utilitário é vital para qualquer sistema Linux.
Após a instalação ser concluída e você ter reiniciado, você pode instalar o servidor web e quaisquer outros pacotes necessários para sua situação (httpd, PHP, MySQL, etc). O Yum irá automaticamente resolver dependências para você e só deve instalar os pacotes necessários para que os serviços escolhidos funcionem.
Quando isso for concluído, edite as regras do iptables para permitir apenas os serviços necessários: SSH, HTTP, HTTPS, saída SMTP, etc. Há muitos tutoriais disponíveis que explicam como fazer isso. Esta pergunta e sua resposta aceita são um bom ponto de partida.
DON'T BLOCK SSH! If you don't have console access to the server, be careful not to block SSH at any point or you'll be unable to access the system. When modifying firewall rules, I always open up a new SSH session without closing my existing (working) one just to verify that I can still connect. Once you exit that established session, if SSH is blocked then you're up the creek without a paddle.