Você pode restringir a qual endereço o Jenkins se vincula usando --httpListenAddress
(como localhost). Veja: Iniciando e acessando o Jenkins e Como posso fazer com que Jenkins pare de ouvir conexões remotas?
No Linux, isso pode ser configurado em JAVA_ARGS no arquivo /etc/default/jenkins
, mas pode variar dependendo da sua distribuição Linux ou do sistema operacional.
Você também pode considerar o uso do plug-in Auth Proxy Reverso para delegar a autenticação ao proxy reverso que você corra na frente de Jenkins.
Aqui estão algumas notas extras:
- Make sure that clients cannot bypass the reverse proxy. If they can send requests directly to Jenkins, then a malicious client can send in arbitrary header name with arbitrary value, thus compromising the security of Jenkins
- Make sure you configure the reverse proxy to erase the header that you use to pass the authenticated user name. This prevents malicious client from setting the header name with arbitrary value, which would ruin the security.
- If your authorisation need is simple (for example, every valid user gets full access and everyone else gets no access), then you need not use this plugin, as you can do both authentication and authorisation in the reverse proxy.
- Hit
http://yourserver/whoAmI
to see the actual HTTP headers your Apache is sending to Jenkins. This is useful for trouble-shooting.