São modelos de acesso[0]. Exemplos: DAC ~ Grupos/Usuários(passwd/groups) MAC ~ SELinux RBAC ~ GRSecurity
Como o Patrick disse, o apache sobe como root, dropa privilégios e passa a realizar o IPC[1]. Hoje isso é bem comum em vários daemons. []s [0] http://www.webune.com/forums/differences-between-mac-dac-and-rbac.html [1] http://stackoverflow.com/questions/6003545/examples-of-inter-process-communicationipc Em 23 de agosto de 2013 14:28, Leonardo Augusto <lalin...@gmail.com>escreveu: > 2013/8/23 Nilton OS <jnilti...@gmail.com>: > > Em 23 de agosto de 2013 13:48, Patrick Tracanelli < > > eks...@freebsdbrasil.com.br> escreveu: > > > >> O apache não roda como root. Ele roda como usuario e grupo declarados no > >> httpd.conf (por default www:www) > >> > >> No entanto ele INICIA como root pra fazer bind na tcp/80 e depois faz > >> setuid pro usuário configurado (por default www:www) > >> > >> Se voce quer um nível de segurança que impeça até mesmo esse binding > como > >> root você tem que esquecer do Unix como você está acostumado, esquecer > do > >> controle de acesso DAC que é o default do POSIX e assumir um > comportamento > >> Trusted (TrustedBSD). > >> > >> Nesse caso você precisa usar o MAC Portacl (kldload mac_portacl), > colocar > >> no MAC todas as portas do sistema como portas privilegiadas (seria o > ideal > >> mas ao menos da 0-1023), e no DAC dizer que nenhuma porta é privilegiada > >> (modificando o portrange high e jogando pra 0). Nesse momento você > esqueceu > >> o controle de acesso DAC e passou a usar o MAC > >> > >> Ai voce vai no MAC e diz que o usuário www pode fazer binding no socket > 80 > >> do protocolo tcp. Por exemplo: > >> > >> sysctl -w security.mac.portacl.rules=uid:80:tcp:80 > >> > >> Pronto. > >> > >> Se você quiser pode até fazer o Root ter que pedir benção pro kernel > antes > >> de ouvir em portas baixas (suser_exempt=0), mas por padrão apenas o > acima > >> já atende. > >> > >> Apesar de eu acreditar que você não queira isso e ser algo mais simples, > >> como seu apache por algum motivo estranho estar rodando como UID 0, > caso em > >> que voce avalia o motivo. > >> > >> Por último e fica a dica, mais importante que com que usuário o Apache > >> roda, é você prover isolamento de credenciais se seu ambiente for > >> configurado. > >> > >> Com o MPM ITK no Apache você pode facilmente fazer cada VirtualHost > rodar > >> com um usuário diferente; pode fazer cada contexto Directory executar > com > >> uma permissão diferente. Se seu ambiente for shared avalie isso antes de > >> pensar em ir pra MAC pois é um tremendo diferencial pra segurança. E ai > >> você pode ir pra outros componentes (MLS/LOMAC/BIBA/BSD_EXTENDED) pra > >> apoiar por MAC as credenciais atribuídas via DAC no sujeito rodando o > >> processo. > >> > >> Abraços. > >> > >> Em 23/08/2013, às 13:12, Leonardo de Souza <freebsd.leona...@gmail.com> > >> escreveu: > >> > >> > Tem alguma maneira de fazer o apache iniciar automaticamente como > usuario > >> > comum pelo /rc.conf. Ou seja para que eu tenha mais segurança em meu > >> > servidor apache não quero que ele rode como root. > >> > ------------------------- > >> > >> > > > > > > Patrick Tracanelli, deu uma aula para esse humilde aprendiz. > > > > Obrigado > > > > -- > > > .............................................................................. > > *Nilton OS* | linuxpro.com.br <http://www.linuxpro.com.br> > > > > *"Não são os grandes homens que transformam o mundo, mas sim os fracos > nas > > mãos de um grande Deus."* > > Complicou tudo isso sim... ehehe > <fun> > MAC = aquele computador da apple ? > DAC = Digital analog converter ? > </fun> > > []´s > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > -- Att, Marcelo M. Fleury Blog - http://marcelomf.blogspot.com/ Slides - http://www.slideshare.net/marcelomf/ "A graça da vida está em querer melhorar o mundo" ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd