Posso forçar solicitações https para usar http

1

Eu tenho uma situação em que meu empregador usa um certificado para espionar o tráfego de https de todos. Eles configuram mal com um certificado auto-assinado, a menos que o aplicativo me permita ignorar o certificado Acabei de receber mensagens cert inválidas.

Estou tentando npm install e um script em execução está tentando baixar um arquivo via https que falha. Eu tentei ignorar o certificado no nó, mas sem sorte.

A única coisa em que consigo pensar seria forçar todo o sistema em https (ou pelo menos aquele para esse endereço) a usar o http. Tipo como se o arquivo host não fosse protocolo agnóstico.

Existe alguma maneira de conseguirmos isso? Eu estou no Win7.

    
por Jackie 04.02.2016 / 19:01

5 respostas

1

Na maioria dos casos (e também neste caso), isso não é possível. Você será redirecionado apenas para HTTPS. Então eu não vou me incomodar com isso.

Em vez disso, tentarei responder à sua pergunta real: como fazer com que o NPM funcione. é uma maneira de usar uma conexão HTTP :

npm config set registry http://registry.npmjs.org/

Esta não é uma boa ideia, no entanto. Tão inseguro, mas ainda usando HTTPS :

npm config set strict-ssl false

Em vez disso, considere informando a NPM sobre a CA do seu empregador :

npm config set ca "-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

Values should be in PEM format with newlines replaced by the string "\n".

A segurança de tudo isso, claro, depende do interceptador HTTPS do seu empregador. Se é uma droga, é tão inseguro quanto o HTTP simples.

    
por 04.02.2016 / 20:03
1

Você pode configurar seu próprio proxy HTTPS local e ignorá-lo. Uma maneira fácil de fazer isso é com o Fiddler . Tem uma opção para ignorar erros de certificado. O Fiddler confiará no seu certificado inválido e, por sua vez, fornecerá um certificado confiável instalado em seu armazenamento de certificados local.

Isto é obviamente muito perigoso e só deve ser feito no seu caso específico, onde o seu local de trabalho não permite a validação adequada do certificado.

    
por 04.02.2016 / 21:44
0

Esse tipo de certificado "wrapper" é comum na maioria dos sistemas proxy / IDS da web. O comportamento padrão do Windows é detectar automaticamente os servidores proxy em sua rede (o que é estúpido por vários motivos, mas isso está além do escopo desta discussão). Tudo o que você precisa fazer é desmarcar essa opção no painel de controle Opções da Internet (guia Conexões, botão Configurações da LAN). Basta desmarcar todas as caixas.

VocêveránacapturadetelaqueesteexemplotemasconfiguraçõesdesativadaseimpostaspelaPolíticadeGrupo.Estouassumindoqueestecomputadornãoestánodomínio(porqueseeleestivernodomínio,oservidorproxynãoestáconfiguradocorretamente,oquesignificaqueseuadministradordesistemaéincompetentee,portanto,estáOKcomotreinamentodeusuáriosparaignoraravisosdecertificados).

Amaioriadosaplicativossimplesmenteaceitaasconfiguraçõesdeproxydosistemaaocriarsoquetes.Eunãoseinpmbemosuficienteparasaberseeletemconfiguraçõesdesubstituiçãodeproxy.

Emumanotalateral,"espiar" é uma palavra strong. É uma tática comum de malware para usar conexões HTTPS para escapar dos sistemas de detecção de intrusão. Se você estiver executando uma rede corporativa e realizando a devida diligência do ponto de vista de segurança de rede, será necessário inspecionar os pacotes HTTP e HTTPS.

    
por 04.02.2016 / 23:38
0

O que seu empregador está fazendo é comum, e usar um certificado autoassinado para isso é, na verdade, a única maneira, já que nenhuma autoridade de certificação emitirá um certificado para uma organização que você possa usar para assinar outras certificações. própria CA - por exemplo, serviços AD CA - você pode ter um certificado emitido para isso, mas ainda assim derivaria do certificado raiz da organização que será auto-assinado).

Fundamentalmente, para fazer coisas como

  • bloqueia sites https sem uma experiência de usuário ruim (o navegador exibe uma página de bloqueio de proxy em vez de uma página com falha de conexão de navegador genérica)
  • verificar o conteúdo baixado em busca de malware (imagine se desistirmos de fazer o download de downloads só porque eles foram movidos para https)
  • aplica o controle de acesso no nível do URL a sites https (por exemplo, bloquear o facebook exceto a página da empresa)
  • impedir envios (por exemplo, proteção contra vazamento de dados) para sites https
  • conteúdo de cache para reduzir os requisitos de largura de banda de envio

que são esforços comuns e indiscutivelmente razoáveis em um negócio, torna-se necessário entrar na criptografia de https. Isso é muitas vezes chamado de um homem no meio (MitM) "ataque". Mesmo que o termo "ataque" seja pejorativo, pode haver razões razoavelmente válidas para fazê-lo.

Para que o proxy consiga modificar o conteúdo (por exemplo, enviar páginas de bloqueio), ele precisa ser parte do criptografado, isso exige que ele tenha uma chave privada e um certificado usado na conexão do lado do cliente . Para minimizar os problemas de implementação, isso é feito com um certificado de assinante, que é incluído nos armazenamentos de confiança do cliente e usado para assinar certificados recém-gerados para cada site ao qual os clientes se conectam (normalmente, copiar os atributos do certificado de servidor real para passar a validação do cliente). Desta forma, os clientes só precisam confiar em 1 cert (aquele usado para assinar os certificados falsificados).

O MitM (geralmente chamado de inspeção SSL) quebra coisas como:

  • Certs de validação estendida (já que eles não podem ser falsificados)
  • Certificados de clientes (sites que usam isso não funcionam)
  • Certificação de pinagem. Se um site usar a fixação de certificados, o cliente rejeitará o certificado falsificado.
  • Atualizações do Windows e iTunes

Por essas razões, proxies com essa capacidade (por exemplo, Squid , WinGate ) precisa ter um recurso de lista de exclusões que permita que certos sites não sejam interceptados.

Você pode convencer seu administrador a adicionar os sites necessários a essa lista.

Disclaimer: Eu trabalho para Qbik, que são os autores do WinGate.

    
por 23.07.2016 / 02:04
-1

Eu diria em torno disso, ou mais especificamente, usar um túnel criptografado para um servidor externo (eu tenho um Raspberry Pi na minha rede doméstica). Eu uso o SSH e um túnel dinâmico para contornar a filtragem da web o tempo todo. Em seguida, configure seu programa para usar um proxy SOCKS no host local: ####. O número é a porta local à qual o túnel dinâmico está conectado. Claro, isso provavelmente seria contra a política da sua empresa.

    
por 04.02.2016 / 19:23