Meu servidor proxy de trabalho requer autenticação com as credenciais de usuário do domínio do Microsoft AD. Todo mundo sabe como funciona: Se você efetuar login em uma estação de trabalho Windows, as solicitações de acesso à Internet baseadas no navegador "Internet Explorer" serão automaticamente autenticadas (e identificadas) usando suas credenciais de login no domínio.
Eu descobri que o Firefox também pode se autenticar nesses servidores proxy e há muito tempo presumia que eles "fazem algo especial". Recentemente, um colega instalou o Linux Mint em uma VM e, para minha surpresa, ele estava ocupado recebendo atualizações da Internet. Quando perguntei como ele conseguiu o trabalho, ele deu de ombros e disse: "Funcionou"
Isso me levou a olhar novamente para as configurações de proxy. Eu executo o Kubuntu (com uma mistura de aplicativos G * e K *, mas só uso os aplicativos GTK quando estou convencido de que eles são muito melhores do que qualquer outro K *)
Ainda tenho uma cópia do convidado do Windows em execução em uma VM VirtualBox, principalmente para impressão e para acessar sites internos / corporativos (que exigem autenticação e identificação por meio de credenciais de domínio MS), bem como para alterar minha senha de domínio a cada dia. .
Portanto, seria muito útil que eu conseguisse fazer com que alguns dos meus aplicativos Linux funcionassem através do servidor proxy. Minhas necessidades mais urgentes são que Akregator e Muon possam trabalhar. Outros aplicativos que podem se beneficiar são alguns aplicativos que se atualizam automaticamente (por exemplo, Extensões de caixa virtual) ou se envolvem em torno de um navegador (lembre-se de obter mais temas / papéis de parede / etc) e o uso ocasional do wget)
Os clientes SSH / SCP conseguem trabalhar através do firewall sem autenticação.
Qual é a maneira correta (ferramenta e / ou procedimento) para configurar isso, idealmente em um único local, porque ter que manter minha senha em vários locais é uma receita para ficar bloqueado na minha conta: - /
Ah, e seria um sonho se eu pudesse ter o equivalente ao utilitário de desativação / ativação de proxy "Quick Proxy" do Firefox, por exemplo, um clique para ativar ou desativar o uso de proxy, sem precisar pressionar para sair e voltar, dependendo da rede em que estou. Na verdade, pensando nisso, um utilitário deve ser treinado para examinar seu endereço IP e saber quando você precisa usar o proxy! Mas eu discordo.
Eu imagino rodar um servidor proxy local que pode adicionar dinamicamente a autenticação e encaminhar para um servidor proxy upstream, quando necessário, pode ser a única solução real.
Respostas:
Opção de solução : execute um proxy da web na sua VM do Windows. Configure seu sistema para usar essa instância como seu proxy.
Como a sua VM do Windows já está autenticada e o tráfego é permitido através dela, a configuração de um proxy SOCKS nessa instância da VM centralizará suas necessidades de autenticação. Se for apenas para você e suas caixas, isso deve ser bom e provavelmente é bastante direto.
Seguir essa ideia é obter um daemon SSHD em execução na VM do Windows para que você possa fazer coisas como túneis SSH SOCKS de suas outras caixas através da VM:
Para os aplicativos que podem ter problemas ou onde você não deseja reconfigurá-los, você pode usar o sshtunnel , que configurará as regras do iptables para rotear o tráfego. Funciona para sistemas Linux e Mac.
Se você precisar evitar a instalação de um proxy na própria VM do Windows, poderá configurar uma caixa de proxy do Squid configurada para se autenticar no Windows AD. Um guia sobre como fazer isso localizado aqui:
Opção de solução : Proxy Squid autenticado via AD / NTLM
http://techmiso.com/1934/howto-install-squid-web-proxy-server-with-active-directory-authentication/( link morto )Outra solução de proxy NTLM, embora eu ache que essa seja executada em uma máquina Windows:
Opção de solução : proxy NTLM http://cntlm.sourceforge.net/
fonte
http://
na configuração do proxy)cntlm
fornece uma solução, juntamente com algumas configurações.Os passos básicos a seguir são:
Inicie o serviço cntlm, por exemplo, via
O cntlm fornece uma maneira de testar o proxy e gerar um hash a partir da sua senha - por exemplo, pelo comando (como root)
O cntlm solicitará sua senha de domínio. Em seguida, ele testará diferentes mecanismos de autenticação no servidor proxy configurado. Quando um método de trabalho é encontrado, ele imprime duas linhas que precisam ser inseridas no arquivo de configuração.
/etc/cntlm.conf
.Agora
cntlm
está em execução e pronto para ser usado. Vários locais podem ser usados para configurar vários programas para usá-lo.cntlm
adicionará transparentemente tokens de autenticação de domínio NT aos pacotes enviados e os encaminhará para o servidor proxy configurado.Usando o Qt / KDE
Para aplicativos nativos do Qt / KDE, especifique "Usar servidor proxy configurado manualmente" em Configurações do sistema KDE -> Configurações de rede -> Configurações de proxy . O proxy é especificado como
http://localhost
na porta 3128 (o padrão é, acntlm
menos que você o tenha alterado). Esses aplicativos são atualizados dinamicamente com novas configurações e não é necessário reiniciar ou fazer logout / login para atualizar as configurações.Dropbox e clientes do Google
Muitos aplicativos podem usar variáveis de ambiente do shell. Digno de nota aqui são os clientes do Dropbox e do Google Earth. Para esses aplicativos, use variáveis de ambiente do shell como estas:
s3cmd, curl e wget
Nota: Alguns aplicativos usarão apenas os nomes em minúsculas, outros apenas os nomes em maiúsculas, alguns tentarão primeiro um e depois o outro.
s3cmd
(O cliente Amazon S3)curl
e ,wget
adicionalmente , podem ser configurados por meio de seus próprios arquivos de configuração. Isso é útil porque eles lêem seus próprios arquivos de configuração em cada chamada. Como esses programas geralmente têm vida curta (existe uma única chamada após a conclusão do download), isso é muito útil.O formato para
s3cmd
in~/.s3cfg
é:O formato para o wget in
~/.wgetrc
é:O formato para
curl
in~/.curlrc
é:Por outro lado, a edição do perfil do shell ou de outros arquivos de configuração do ambiente geralmente requer reinicialização, logoff e logon ou similar. Vale a pena investigar
/etc/environment
, etc~/.pam_environment
,~/.kde/env/proxy.sh
pois esses são locais padrão para definir configurações de proxy configuradas por meio de variáveis de ambiente do shell, principalmente para afetar todos os usuários e serviços no sistema.Também entendo que é possível alterar as configurações do ambiente por aplicativo usando seus respectivos
.desktop
arquivos, mas ainda não o tentei (com sucesso).VirtualBox
O VirtualBox pode ser configurado para usar um proxy (por exemplo, para verificar e baixar atualizações de software) usando sua GUI ou usando o comando:
Para completar, para desativá-lo, use:
Raposa de fogo
Para o Firefox, eu uso o complemento QuickProxy. O próprio Firefox se configurado manualmente para usar o servidor proxy na máquina local, portanto, o QuickProxy simplesmente ativa / desativa a configuração.
APT
O APT (usado em segundo plano por synaptic, múon e amigos) usa um arquivo de configuração
/etc/apt/apt.conf.d/
, por exemplo, a00proxy
ativação do proxy para o APT é feita usando linhas como:Nota: O add-apt-repository usa o perfil raiz, ou você pode configurar o sudo para permitir que todas as configurações http * _proxy sejam aprovadas.
Um script para governar todos eles
FWIW No momento, estou escrevendo um script modular para ativar / desativar o proxy para vários programas. Até agora escrevi os seguintes módulos:
Bem como um aplicativo de controle. Esperamos que em breve eles sejam transferidos para um github ou outra casa on-line.
fonte
A autenticação de proxy com o ntlm é explicada bem nos links abaixo.
Mas o problema com o ntlm é que você precisa atualizar o
cntlm
arquivo de configuração várias vezes ao dia. Considere uma situação em que usuários diferentes compartilhem uma máquina comum e precisem atualizar sua senha do AD nocntlm
arquivo de configuração sempre que fizerem login no sistema. Talvez haja um método disponível para atualizar automaticamente ocntlm
arquivo de configuração sempre que um usuário estiver conectado.fonte