LINUX.ORG.RU
ФорумAdmin

wccp + squid + https логи

 , ,


1

1

Имеется в хозяйсвтве Cisco ASA и Squid сервер.

По непонятным причинам не логируется https трафик. Судя Wireshark-у он и воовсе обходит сквид сервер.

Команды которые выполнял на цыске:

enable
conf t
access-list wccp_redirect extended deny ip host $squid_ip any
access-list wccp_redirect extended permit tcp $client_ip 255.255.255.255 any eq 80 443

wccp web-cache redirect-list wccp_redirect password *******
wccp interface inside web-cache redirect in

Команды которые выполнял на сквиде

modprobe ip_gre
ip tunnel add wccp0 mode gre remote $cisco_ip local $squid_ip dev eth0
ip addr add $squid_ip dev wccp0
ip link set wccp0 up

echo 0 >/proc/sys/net/ipv4/conf/wccp0/rp_filter                                    
echo 0 >/proc/sys/net/ipv4/conf/eth0/rp_filter                                     
echo 1 >/proc/sys/net/ipv4/ip_forward                                              


iptables -t nat -A PREROUTING -i wccp0 -p tcp -j REDIRECT --to-port 3129

squid.conf

acl localhost src xxx.yyy.zzz.xzy/24
acl SSL_ports port 443                                                                                                                                                                          
acl Safe_ports port 80          # http                                                                                                                                                          
acl CONNECT method CONNECT                                                                                                                                                                      
http_access deny !Safe_ports                                                                                                                                                                    
http_access deny CONNECT !SSL_ports                                                                                                                                                             
http_access allow localhost manager                                                                                                                                                             
http_access deny manager                                                                                                                                                                        
http_access allow localhost                                                                                                                                                                                                                                                    
http_access deny all                                                                                                                                                                                                                                                           
coredump_dir /var/spool/squid3                                                                                                                                                                                                                                                 
refresh_pattern ^ftp:           1440    20%     10080                                                                                                                                                                                                                          
refresh_pattern ^gopher:        1440    0%      1440                                                                                                                                                                                                                           
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0                                                                                                                                                                                                                              
refresh_pattern .               0       20%     4320                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                               
http_port 3129 intercept                                                                                                                                                                                                                                                       
http_port 3128 intercept                                                                                                                                                                                                                                                       
wccp2_router $cisco_ip                                                                                                                                                                                                                                                      
wccp2_forwarding_method gre                                                                                                                                                                                                                                                    
wccp2_return_method gre                                                                                                                                                                                                                                                        
wccp2_service standard 0 password=******

/squid -v
Squid Cache: Version 3.4.8
configure options:  '--disable-loadable-modules' '--disable-wccp' '--disable-eui' '--disable-select' '--disable-poll' '--with-pthreads' '--disable-storeio' '--disable-disk-io' '--disable-removal-policies' '--enable-delay-pools' '--disable-useragent-log' '--disable-referer-log' '--enable-ssl' '--enable-ssl-crtd' '--disable-cache-digests' '--enable-icap-client' '--disable-snmp' '--disable-ident-lookups' '--enable-auth' '--enable-auth-basic=LDAP,PAM' '--enable-auth-ntlm=smb_lm' '--enable-auth-negotiate=kerberos' '--enable-auth-digest=LDAP,file' '--enable-external-acl-helpers=LDAP_group' '--enable-zph-qos' '--with-openssl' '--disable-ipv6' --enable-ltdl-convenience

Что я хочу - видеть логи от https. Я не уверен что мне нужно для этого использовать ssl-bump. Ведь при непрозначном проксировании сквид всё же показывает https логи. Подскажите куда копать и где я проглядел.
Cast blind_oracle

★★★★★

Без сслбамп будет в логах только запись CONNECT и айпишник куда. Ни домена, ни урла. Ну и проксирование ссл через вццп я не пробовал, надо читать.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Без сслбамп будет в логах только запись CONNECT и айпишник куда.

для начало нужно получить хотя бы эту запись. А у меня даже её нету(

Ни домена

домен виден.

snaf ★★★★★
() автор топика
Ответ на: комментарий от snaf

Ну, домен будет виден или нет зависит от клиента, как он формирует запрос к проксе. При прозрачном проксировании его точно не будет т.к. клиент не знает о наличии прокси и коннектится напрямую к айпишнику. Выудить имя хоста можно разве что из поля SNI в хендшейке SSL, не уверен что кальмар это делает.

У тебя я бы для начала попробовал выделить отдельный порт под SSL:

https_port 3130 intercept
и разрулить на него траффик
iptables -t nat -A PREROUTING -i wccp0 -p tcp --dport 80 -j REDIRECT --to-port 3129
iptables -t nat -A PREROUTING -i wccp0 -p tcp --dport 443 -j REDIRECT --to-port 3130

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Сайты по ссл не открываются или летят мимо сквида?

мимо сквида. С ssl-bump сильно не заморачивался т.к. для начало нужно хотя бы видеть https трафик а у меня с этим проблема. Есть подозрение что дело в цыске. Завтра еще попробую по шаманить.

snaf ★★★★★
() автор топика
Ответ на: комментарий от dhameoelin

Если надо будет - поставлю. Для начала нужно хотя бы видеть https а потом уже с сертификатами играться.

snaf ★★★★★
() автор топика
Ответ на: комментарий от snaf

Гм. И как ты без доверенного CA собрался трафик перехватывать? А тебе придется использовать ssl-bump server-first all ну, или свой acl.

dhameoelin ★★★★★
()
Последнее исправление: dhameoelin (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Думаю, что нет. Ибо при непрозрачном проксировании логи нормальные, а он хочет такие же.

dhameoelin ★★★★★
()
Последнее исправление: dhameoelin (всего исправлений: 1)
Ответ на: комментарий от blind_oracle

Посниффери порт 443 на интерфейсе wccp0

пробовал, нету результата.

snaf ★★★★★
() автор топика
Ответ на: комментарий от dhameoelin

И как ты без доверенного CA собрался трафик перехватывать?

В который раз узе пишу. В нормальных условиях https логируется и без ssl-bump. Для начало нужно выяснить почему трафик идёт мимо сквида. Как я могу его перехватывать если он обходит сквид?

snaf ★★★★★
() автор топика
Ответ на: комментарий от snaf

А в твоих условиях https должен перехватываться в httpS_port,а не в http_port.

dhameoelin ★★★★★
()
Ответ на: комментарий от dhameoelin

Значит, http сквид нормально перехватывает?

да

А в твоих условиях https должен перехватываться в httpS_port,а не в http_port.

разве? Если настроить сквид как не прозрачный прокси и прописать его в браузер то он прекрасно работает и без https порта. Или я чего то не знаю/понимаю?

snaf ★★★★★
() автор топика
Ответ на: комментарий от snaf

HTTP CONNECT tunneling

A variation of HTTP tunneling when behind an HTTP Proxy Server is to use the «CONNECT» HTTP method.[1]

In this mechanism, the client, using the «CONNECT» HTTP method, asks an HTTP Proxy server to forward the TCP connection to the desired destination. The server then proceeds to make the connection on behalf of the client. Once the connection has been established by the server, the Proxy server continues to proxy the TCP stream to and from the client. Note that only the initial connection request is HTTP - after that, the server simply proxies the established TCP connection.

This mechanism is how a client behind an HTTP proxy can access websites using SSL (i.e. HTTPS).

Это все о непрозрачном прокси. Потому у него и HTTPS в логах видно, что первый запрос клиента идет всегда открытым текстом. У прозрачного же клиент ничего не просит и даже не знает о нем. Поэтому прозрачный должен не ждать запроса клиента, а сам перехватывать HTTPS трафик и проксировать. Ну и понятно, что проксировать HTTPS - это одно и то же, что HTTP. Поэтому, очевидно, и отдельный порт.

rubic
()
Ответ на: комментарий от rubic

благодарю за объяснение. Буду пробовать...

snaf ★★★★★
() автор топика
Ответ на: комментарий от rubic

Это все о непрозрачном прокси. Потому у него и HTTPS в логах видно, что первый запрос клиента идет всегда открытым текстом

Не то что бы «открытым текстом», но к проксе, а не к сайту-назначению, емнип.

Поэтому прозрачный должен не ждать запроса клиента, а сам перехватывать HTTPS трафик и проксировать.

Вот, а теперь на сцену выходит ssl-bump, хотя можно и без него, но тогда в логах будут только коннекты, имхо.

dhameoelin ★★★★★
()
Ответ на: комментарий от snaf

8.2 под рукой нет, но не думаю, что в этом отношении 9.3 ведёт себя иначе:

ciscoasa(config)# access-list test permit tcp any any eq 10 20 ^ ERROR: % Invalid input detected at '^' marker.

frob ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.