Proxy and MITM Considerations

Proxy and MITM Considerations

Corporate proxies and security appliances performing SSL inspection create certificate challenges. Applications must handle proxy certificates while maintaining security. Distinguish between legitimate proxies and attacks.

Handle proxy environments:

# Environment variables for proxy configuration
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1,internal.company.com

# Python with proxy
proxies = {
    'http': 'http://proxy.company.com:8080',
    'https': 'http://proxy.company.com:8080',
}

# Include proxy CA certificate
response = requests.get('https://external-api.com', 
                       proxies=proxies,
                       verify='/etc/ssl/certs/company-proxy-ca.crt')

# Java proxy configuration
System.setProperty("http.proxyHost", "proxy.company.com");
System.setProperty("http.proxyPort", "8080");
System.setProperty("https.proxyHost", "proxy.company.com");
System.setProperty("https.proxyPort", "8080");