LINUX.ORG.RU

Сборка Squid из исходников

 , ,


0

1

Привет! Я хотел установить сервер squid на ubuntu 20.10 с поддержкой ssl из исходников!

Что и в какой последовательности я делал:

sudo su

apt install devscripts # Устанавливаю пакет утилит для сборки пакета

apt build-dep squid #Устанавливаю зависимости для сборки squid

apt install libssl-dev # Устанавливаю OpenSSL

apt-get source squid # Cкачиваю исходники squid

./configure --with-openssl --enable-ssl-crtd

make

make install

Конфиг самого сквид вот такой:

cache_effective_user proxy
cache_effective_group proxy

acl localnet src 192.168.1.0/24 # RFC1918 possible internal network

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

dns_nameservers 8.8.8.8
http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

http_access allow localnet
http_access allow localhost
http_access deny all

#прозрачный порт указывается опцией intercept
http_port 192.168.1.135:3128 intercept

#также нужно указать непрозрачный порт, ибо если захотите вручную указать адрес
#прокси в браузере, указав прозрачный порт, вы получите ошибку доступа, поэтому нужно
#указывать непрозрачный порт в браузере, если конечно такое желание будет, к тому же в логах #сыпятся ошибки о том, что непрохрачный порт не указан=)
http_port 192.168.1.135:3130

#и наконец, указываем HTTPS порт с нужными опциями
https_port 192.168.1.135:3151 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 cert=/etc/squid/squidca.pem

always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

#укажем правило со списком блокируемых ресурсов (в файле домены вида .domain.com)
#acl blocked ssl::server_name  "/etc/squid/blocked_https.txt"
#acl step1 at_step SslBump1
#ssl_bump peek step1

#терминируем соединение, если клиент заходит на запрещенный ресурс
#ssl_bump terminate blocked
#ssl_bump splice all

sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB

coredump_dir /var/spool/squid
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
cache_dir aufs /var/spool/squid 20000 49 256
maximum_object_size 61440 KB
minimum_object_size 3 KB

cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
logfile_rotate 4

Всё хорошо но при запуске в логе вот такая ошибка: 

2021/03/08 01:42:37 kid1| Set Current Directory to /var/spool/squid
2021/03/08 01:42:37 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 01:42:37 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 01:42:37 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 01:42:37 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 01:42:37 kid1| Finished loading MIME types and icons.
2021/03/08 01:42:37 kid1| WARNING: No ssl_bump configured. Disabling ssl-bump on https_port 192.168.1.135:3151
2021/03/08 01:42:37 kid1| HTCP Disabled.
2021/03/08 01:42:37 kid1| Squid plugin modules loaded: 0
2021/03/08 01:42:37 kid1| Adaptation support is off.
2021/03/08 01:42:37 kid1| Accepting NAT intercepted HTTP Socket connections at local=192.168.1.135:3128 remote=[::] FD 24 flags=41
2021/03/08 01:42:37 kid1| Accepting HTTP Socket connections at local=192.168.1.135:3130 remote=[::] FD 25 flags=9
2021/03/08 01:42:37 kid1| Accepting NAT intercepted HTTPS Socket connections at local=192.168.1.135:3151 remote=[::] FD 26 flags=41
2021/03/08 01:42:37 kid1| Done reading /var/spool/squid swaplog (0 entries)
2021/03/08 01:42:37 kid1| Store rebuilding is 0.00% complete
2021/03/08 01:42:37 kid1| Finished rebuilding storage from disk.
2021/03/08 01:42:37 kid1|         0 Entries scanned
2021/03/08 01:42:37 kid1|         0 Invalid entries.
2021/03/08 01:42:37 kid1|         0 With invalid flags.
2021/03/08 01:42:37 kid1|         0 Objects loaded.
2021/03/08 01:42:37 kid1|         0 Objects expired.
2021/03/08 01:42:37 kid1|         0 Objects cancelled.
2021/03/08 01:42:37 kid1|         0 Duplicate URLs purged.
2021/03/08 01:42:37 kid1|         0 Swapfile clashes avoided.
2021/03/08 01:42:37 kid1|   Took 0.01 seconds (  0.00 objects/sec).
2021/03/08 01:42:37 kid1| Beginning Validation Procedure
2021/03/08 01:42:37 kid1|   Completed Validation Procedure
2021/03/08 01:42:37 kid1|   Validated 0 Entries
2021/03/08 01:42:37 kid1|   store_swap_size = 0.00 KB
2021/03/08 01:42:37 kid1| WARNING: /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB #Hlpr2 exited
2021/03/08 01:42:37 kid1| Too few /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB processes are running (need 1/32)
2021/03/08 01:42:37 kid1| Closing HTTP(S) port 192.168.1.135:3128
2021/03/08 01:42:37 kid1| Closing HTTP(S) port 192.168.1.135:3130
2021/03/08 01:42:37 kid1| Closing HTTP(S) port 192.168.1.135:3151
2021/03/08 01:42:37 kid1| storeDirWriteCleanLogs: Starting...
2021/03/08 01:42:37 kid1|   Finished.  Wrote 0 entries.
2021/03/08 01:42:37 kid1|   Took 0.00 seconds (  0.00 entries/sec).
2021/03/08 01:42:37 kid1| FATAL: The /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB helpers are crashing too rapidly, need help!

2021/03/08 01:42:37 kid1| Squid Cache (Version 4.13): Terminated abnormally.
CPU Usage: 0.055 seconds = 0.038 user + 0.017 sys
Maximum Resident Size: 117472 KB
Page faults with physical i/o: 0
2021/03/08 01:42:37| Removing PID file (/var/run/squid.pid)
2021/03/08 01:42:37 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied


Хотя на директорию вот такие права: drwxrwxrwx 2 proxy proxy    4096 Mar  8 00:32 ssl_crtd

Где и в чём я могу ошибаться\ошибся?
Заранее спасибо за все ответы!

Ответ на: комментарий от shell-script

drwxr-xr-x 2 proxy proxy 4096 Mar

rwxr-xr-x 40 root root 4096 Mar

Прошу прощения, а как её верно инициализировать в моём случае?

ka-may ()
Ответ на: комментарий от ka-may

kamay@squid:/var/lib$ sudo /usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db -M 20MB Initialization SSL db… Done

Инициализировал БД- в папке ssl_db появились файлы cert и тд

ka-may ()
Ответ на: комментарий от shell-script

Всё равно крашится с такой ошибкой в логе:

2021/03/08 09:04:11 kid1| Squid Cache (Version 4.13): Terminated abnormally.
CPU Usage: 0.052 seconds = 0.035 user + 0.017 sys
Maximum Resident Size: 116352 KB
Page faults with physical i/o: 0
2021/03/08 09:04:11 kid1| Set Current Directory to /var/spool/squid
2021/03/08 09:04:11 kid1| Starting Squid Cache version 4.13 for x86_64-pc-linux-gnu...
2021/03/08 09:04:11 kid1| Service Name: squid
2021/03/08 09:04:11 kid1| Process ID 1399
2021/03/08 09:04:11 kid1| Process Roles: worker
2021/03/08 09:04:11 kid1| With 65535 file descriptors available
2021/03/08 09:04:11 kid1| Initializing IP Cache...
2021/03/08 09:04:11 kid1| DNS Socket created at [::], FD 5
2021/03/08 09:04:11 kid1| DNS Socket created at 0.0.0.0, FD 9
2021/03/08 09:04:11 kid1| Adding nameserver 8.8.8.8 from squid.conf
2021/03/08 09:04:11 kid1| helperOpenServers: Starting 5/32 'ssl_crtd' processes
2021/03/08 09:04:11 kid1| Logfile: opening log daemon:/var/log/squid/access.log
2021/03/08 09:04:11 kid1| Logfile Daemon: opening log /var/log/squid/access.log
2021/03/08 09:04:11 kid1| Store logging disabled
2021/03/08 09:04:11 kid1| Swap maxSize 20480000 + 262144 KB, estimated 1595549 objects
2021/03/08 09:04:11 kid1| Target number of buckets: 79777
2021/03/08 09:04:11 kid1| Using 131072 Store buckets
2021/03/08 09:04:11 kid1| Max Mem  size: 262144 KB
2021/03/08 09:04:11 kid1| Max Swap size: 20480000 KB
2021/03/08 09:04:11 kid1| Rebuilding storage in /var/spool/squid (clean log)
2021/03/08 09:04:11 kid1| Using Least Load store dir selection
2021/03/08 09:04:11 kid1| Set Current Directory to /var/spool/squid
2021/03/08 09:04:11 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 09:04:11 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 09:04:11 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 09:04:11 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 09:04:11 kid1| ipcCreate: /usr/lib/squid/ssl_crtd: (13) Permission denied
2021/03/08 09:04:11 kid1| Finished loading MIME types and icons.
2021/03/08 09:04:11 kid1| WARNING: No ssl_bump configured. Disabling ssl-bump on https_port 192.168.1.135:3151
2021/03/08 09:04:11 kid1| HTCP Disabled.
2021/03/08 09:04:11 kid1| Squid plugin modules loaded: 0
2021/03/08 09:04:11 kid1| Adaptation support is off.
2021/03/08 09:04:11 kid1| Accepting NAT intercepted HTTP Socket connections at local=192.168.1.135:3128 remote=[::] FD 24 flags=41
2021/03/08 09:04:11 kid1| Accepting HTTP Socket connections at local=192.168.1.135:3130 remote=[::] FD 25 flags=9
2021/03/08 09:04:11 kid1| Accepting NAT intercepted HTTPS Socket connections at local=192.168.1.135:3151 remote=[::] FD 26 flags=41
2021/03/08 09:04:11 kid1| Done reading /var/spool/squid swaplog (0 entries)
2021/03/08 09:04:11 kid1| Store rebuilding is 0.00% complete
2021/03/08 09:04:11 kid1| Finished rebuilding storage from disk.
2021/03/08 09:04:11 kid1|         0 Entries scanned
2021/03/08 09:04:11 kid1|         0 Invalid entries.
2021/03/08 09:04:11 kid1|         0 With invalid flags.
2021/03/08 09:04:11 kid1|         0 Objects loaded.
2021/03/08 09:04:11 kid1|         0 Objects expired.
2021/03/08 09:04:11 kid1|         0 Objects cancelled.
2021/03/08 09:04:11 kid1|         0 Duplicate URLs purged.
2021/03/08 09:04:11 kid1|         0 Swapfile clashes avoided.
2021/03/08 09:04:11 kid1|   Took 0.01 seconds (  0.00 objects/sec).
2021/03/08 09:04:11 kid1| Beginning Validation Procedure
2021/03/08 09:04:11 kid1|   Completed Validation Procedure
2021/03/08 09:04:11 kid1|   Validated 0 Entries
2021/03/08 09:04:11 kid1|   store_swap_size = 0.00 KB
2021/03/08 09:04:11 kid1| WARNING: /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB #Hlpr1 exited
2021/03/08 09:04:11 kid1| Too few /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB processes are running (need 1/32)
2021/03/08 09:04:11 kid1| Closing HTTP(S) port 192.168.1.135:3128
2021/03/08 09:04:11 kid1| Closing HTTP(S) port 192.168.1.135:3130
2021/03/08 09:04:11 kid1| Closing HTTP(S) port 192.168.1.135:3151
2021/03/08 09:04:11 kid1| storeDirWriteCleanLogs: Starting...
2021/03/08 09:04:11 kid1|   Finished.  Wrote 0 entries.
2021/03/08 09:04:11 kid1|   Took 0.00 seconds (  0.00 entries/sec).
2021/03/08 09:04:11 kid1| FATAL: The /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB helpers are crashing too rapidly, need help!

2021/03/08 09:04:11 kid1| Squid Cache (Version 4.13): Terminated abnormally.
CPU Usage: 0.051 seconds = 0.039 user + 0.012 sys
Maximum Resident Size: 116608 KB
Page faults with physical i/o: 0
2021/03/08 09:04:11| Removing PID file (/var/run/squid.pid)
ka-may ()

/configure --with-openssl --enable-ssl-crtd

make

make install

За make install можно уже по рукам бить. Все же готово для сборки пакета.

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

У меня есть снепшот этой виртуалки до make install

Могу откатить- напишите пожалуйста верный порядок действий, если это исправит проблему

ka-may ()
Ответ на: комментарий от ka-may

1. собрать и поставить сквид в отдельный каталог ( --prefix=/usr/local/squid )

2. установить правильные права на каталоги внутри /usr/local/squid

3. запустить ssl_crtd под uid сквида с необходимыми параметрами для инициализации базы сертификатов.

4. запустить сквид.

vel ★★★★★ ()
Ответ на: комментарий от ka-may

Флаги сборки добавить в debian/rules:

--enable-ssl
--enable-ssl-crtd
--with-openssl

Пакет собирается так: dpkg-buildpackage -us -uc -nc

Остальное вроде бы как уже есть.

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

Тогда делаю так:

./confirure –enable-ssl-crtd –with-openssl –prefix=/usr/local/squid

make

make install

chown -R proxy:proxy /usr/local/squid

chmod -R 755 /usr/local/squid

Верный ход мысли?

ka-may ()
Ответ на: комментарий от vel

С этим пунктом если можно подробнее : «запустить ssl_crtd под uid сквида с необходимыми параметрами для инициализации базы сертификатов»

ka-may ()

Не стоит компилировать из исходников в убунту. Скачай src deb

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

Скомпилировал с таким конфигом:

 /confirure –enable-ssl-crtd –with-openssl –prefix=/usr/local/squid 


создаю конфиг nano /etc/init.d/squid - делал его сам но по образцу, если подскажете как его делать правильно- буду благодарен 
 
#! /bin/sh
#
# squid		Startup script for the SQUID HTTP proxy-cache.
#
# Version:	@(#)squid.rc  1.0  07-Jul-2006  luigi@debian.org
#
# pidfile: /usr/local/squid/var/run/squid.pid
#
### BEGIN INIT INFO
# Provides:          squid
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Should-Start:      $named
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Squid HTTP Proxy version 4.x
### END INIT INFO
 
NAME=squid
DESC="Squid HTTP Proxy"
DAEMON=/usr/local/squid/sbin/squid
PIDFILE=/usr/local/squid/var/run/$NAME.pid
CONFIG=/usr/local/squid/etc/squid.conf
SQUID_ARGS="-YC -f $CONFIG"
 
[ ! -f /usr/local/squid/etc/default/squid ] || . /usr/local/squid/etc/default/squid
 
. /lib/lsb/init-functions
 
PATH=/bin:/usr/bin:/sbin:/usr/sbin
 
[ -x $DAEMON ] || exit 0
 
ulimit -n 65535
 
find_cache_dir () {
	w=" 	" # space tab
        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
		grep "Processing:" |
		sed s/.*Processing:\ // |
		sed -ne '
			s/^['"$w"']*'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
			t end;
			d;
			:end q'`
        [ -n "$res" ] || res=$2
        echo "$res"
}
 
grepconf () {
	w=" 	" # space tab
        res=`$DAEMON -k parse -f $CONFIG 2>&1 |
		grep "Processing:" |
		sed s/.*Processing:\ // |
		sed -ne '
			s/^['"$w"']*'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
			t end;
			d;
			:end q'`
	[ -n "$res" ] || res=$2
	echo "$res"
}
 
create_run_dir () {
	run_dir=/usr/local/squid/var/run/squid
	usr=`grepconf cache_effective_user proxy`
	grp=`grepconf cache_effective_group proxy`
 
	if [ "$(dpkg-statoverride --list $run_dir)" = "" ] &&
	   [ ! -e $run_dir ] ; then
		mkdir -p $run_dir
	  	chown $usr:$grp $run_dir
		[ -x /sbin/restorecon ] && restorecon $run_dir
	fi
}
 
start () {
	cache_dir=`find_cache_dir cache_dir`
	cache_type=`grepconf cache_dir`
	run_dir=/usr/local/squid/var/run/squid
 
	#
	# Create run dir (needed for several workers on SMP)
	#
	create_run_dir
 
	#
	# Create spool dirs if they don't exist.
	#
	if test -d "$cache_dir" -a ! -d "$cache_dir/00"
	then
		log_warning_msg "Creating $DESC cache structure"
		$DAEMON -z -f $CONFIG
		[ -x /sbin/restorecon ] && restorecon -R $cache_dir
	fi
 
	umask 027
	ulimit -n 65535
	cd $run_dir
	start-stop-daemon --quiet --start \
		--pidfile $PIDFILE \
		--exec $DAEMON -- $SQUID_ARGS < /dev/null
	return $?
}
 
stop () {
	PID=`cat $PIDFILE 2>/dev/null`
	start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
	#
	#	Now we have to wait until squid has _really_ stopped.
	#
	sleep 2
	if test -n "$PID" && kill -0 $PID 2>/dev/null
	then
		log_action_begin_msg " Waiting"
		cnt=0
		while kill -0 $PID 2>/dev/null
		do
			cnt=`expr $cnt + 1`
			if [ $cnt -gt 24 ]
			then
				log_action_end_msg 1
				return 1
			fi
			sleep 5
			log_action_cont_msg ""
		done
		log_action_end_msg 0
		return 0
	else
		return 0
	fi
}
 
cfg_pidfile=`grepconf pid_filename`
if test "${cfg_pidfile:-none}" != "none" -a "$cfg_pidfile" != "$PIDFILE"
then
	log_warning_msg "squid.conf pid_filename overrides init script"
	PIDFILE="$cfg_pidfile"
fi
 
case "$1" in
    start)
	res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
	if test -n "$res";
	then
		log_failure_msg "$res"
		exit 3
	else
		log_daemon_msg "Starting $DESC" "$NAME"
		if start ; then
			log_end_msg $?
		else
			log_end_msg $?
		fi
	fi
	;;
    stop)
	log_daemon_msg "Stopping $DESC" "$NAME"
	if stop ; then
		log_end_msg $?
	else
		log_end_msg $?
	fi
	;;
    reload|force-reload)
	res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
	if test -n "$res";
	then
		log_failure_msg "$res"
		exit 3
	else
		log_action_msg "Reloading $DESC configuration files"
	  	start-stop-daemon --stop --signal 1 \
			--pidfile $PIDFILE --quiet --exec $DAEMON
		log_action_end_msg 0
	fi
	;;
    restart)
	res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
	if test -n "$res";
	then
		log_failure_msg "$res"
		exit 3
	else
		log_daemon_msg "Restarting $DESC" "$NAME"
		stop
		if start ; then
			log_end_msg $?
		else
			log_end_msg $?
		fi
	fi
	;;
    status)
	status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit 3
	;;
    *)
	echo "Usage: /usr/local/squid/etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}"
	exit 3
	;;
esac
 
exit 0



Теперь запускается но крашится:


● squid.service - LSB: Squid HTTP Proxy version 4.x
     Loaded: loaded (/etc/init.d/squid; generated)
     Active: active (running) since Mon 2021-03-08 13:38:42 UTC; 2s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 100435 ExecStart=/etc/init.d/squid start (code=exited, status=0/SUCCESS)
   Main PID: 100474 (squid)
      Tasks: 2 (limit: 9241)
     Memory: 20.3M
     CGroup: /system.slice/squid.service
             ├─100474 /usr/local/squid/sbin/squid -YC -f /usr/local/squid/etc/squid.conf
             └─100482 (squid-1) --kid squid-1 -YC -f /usr/local/squid/etc/squid.conf

Mar 08 13:38:42 squid squid[100435]:    ...done.
Mar 08 13:38:42 squid systemd[1]: Started LSB: Squid HTTP Proxy version 4.x.
Mar 08 13:38:42 squid squid[100474]: Squid Parent: will start 1 kids
Mar 08 13:38:42 squid squid[100474]: Squid Parent: (squid-1) process 100476 started
Mar 08 13:38:43 squid (squid-1)[100476]: FATAL: I don't handle this error well!
Mar 08 13:38:43 squid squid[100474]: Squid Parent: squid-1 process 100476 exited with status 1
Mar 08 13:38:43 squid squid[100474]: Squid Parent: (squid-1) process 100479 started
Mar 08 13:38:44 squid (squid-1)[100479]: FATAL: I don't handle this error well!
Mar 08 13:38:44 squid squid[100474]: Squid Parent: squid-1 process 100479 exited with status 1
Mar 08 13:38:44 squid squid[100474]: Squid Parent: (squid-1) process 100482 started




В Var/log ничего не появилось
ka-may ()
Ответ на: комментарий от ka-may

Mar 08 14:29:24 squid systemd[1]: Starting LSB: Squid HTTP Proxy version 4.x… Mar 08 14:29:24 squid squid[1400]: FATAL: HTTPS_port 192.168.1.135:3129 initialization error Mar 08 14:29:24 squid squid[1405]: FATAL: HTTPS_port 192.168.1.135:3129 initialization error Mar 08 14:29:24 squid squid[1394]: * FATAL: HTTPS_port 192.168.1.135:3129 initialization error Mar 08 14:29:24 squid systemd[1]: squid.service: Control process exited, code=exited, status=3/NOTIMPLEMENTED Mar 08 14:29:24 squid systemd[1]: squid.service: Failed with result ‘exit-code’. Mar 08 14:29:24 squid systemd[1]: Failed to start LSB: Squid HTTP Proxy version 4.x.

теперь падает с такой ошибкой без записи в логе

ka-may ()
Ответ на: комментарий от ka-may

Как верно прописать строку

sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/lib/ssl_db -M 4MB

или

sslcrtd_program /usr/local/squid/libexec/ssl_crtd -s /usr/local/squid/lib/ssl_db -M 4MB

файла ssl crtd не существует у меня

ka-may ()
Ответ на: комментарий от ka-may

Так для этого и пересобирается с поддержкой ssl плюс патчи дебиана. Полученные пакеты ставишь сам, права на каталоги и дистроспецифичные вещи делает пакетный менеджер А так получается помойка. А вообще посмотри https://habr.com/ru/post/267851/ похожий конфиг и установка у меня работает, естественно без патчей и прочей хреноты.

einhander ★★★★★ ()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от ka-may

Начиная с какой-то 4.х версии ssl_crtd переименовали в security_file_certgen

SSLDB="/usr/local/squid/var/ssl_db"
if [ ! -e $SSLDB -o ! -f $SSLDB/index.txt ]; then
 /usr/local/squid/libexec/security_file_certgen -c -s $SSLDB -M 8MB
 chown squid:squid -R $SSLDB
fi

/usr/local/squid/sbin/squid
vel ★★★★★ ()
Ответ на: комментарий от ka-may

Это не для squid.conf. Это то, что нужно сделать для запуска.

в squid.conf должно быть как минимум

sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/var/ssl_db/ -M 8MB

vel ★★★★★ ()
Ответ на: комментарий от ka-may

confirure –enable-ssl-crtd –with-openssl

Нет, не верно. Добавь в debian/rules:

--enable-ssl
--enable-ssl-crtd
--with-openssl

Только потом сборка dpkg-buildpackage -us -uc -nc.

einhander ★★★★★ ()
Ответ на: комментарий от ka-may

создаю конфиг nano /etc/init.d/squid - делал его сам но по образцу

В пакете уже будет юнит для системд, этот конфиг не нужен и даже вреден в данном случае.

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

Ели я не ошибаюсь в версиях 3.5 так:

Add SSL Bump and certificate generation options when building Squid. Dynamic generation of SSL certificates is not enabled by default:

./configure --enable-ssl --enable-ssl-crtd ...
make all
make install

/!\ NOTE: Squid-3.5 requires --with-openssl instead of --enable-ssl 

Это с оф сайта сквида, я могу ошибаться для 4 такого нет

ka-may ()
Ответ на: комментарий от vel

Если я правильно понял ваш скрипт то он инициализирует БД, я немного перенёс папку (она там же в usr/local)

 mkdir -p /usr/local/squid/libexec/squid

/usr/local/squid/libexec/security_file_certgen -c -s /usr/local/squid/libexec/squid/ssl_db -M 20MB

chown -R proxy:proxy /usr/local/squid/libexec 

Дальше решил взять дефолтный конфиг и добавить в него ваши строки с моими путями, вот что получилось :

Recommended minimum configuration:
Example rule allowing access from your local networks.
Adapt to list your (internal) IP networks from where browsing
should be allowed

cache_effective_user proxy cache_effective_group proxy

acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 «this» network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT
Recommended minimum Access Permission configuration:
Deny requests to certain unsafe ports

http_access deny !Safe_ports
Deny CONNECT to other than secure SSL ports

http_access deny CONNECT !SSL_ports
Only allow cachemgr access from localhost

http_access allow localhost manager http_access deny manager
We strongly recommend the following be uncommented to protect innocent
web applications running on the proxy server who think the only
one who can access services on «localhost» is a local user

#http_access deny to_localhost
INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#include /usr/local/squid/etc/conf.d/*
Example rule allowing access from your local networks.
Adapt localnet in the ACL section to list your (internal) IP networks
from where browsing should be allowed

#http_access allow localnet #http_access allow localnet http_access allow localhost
And finally deny all other access to this proxy

http_access deny all
Squid normally listens to port 3128

http_port 3128

https_port 192.168.1.254:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/usr/local/squid/etc/squidCA.pem

sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/libexec/squid/ssl_db -M 20MB

sslproxy_cert_error allow all

ssl_bump stare all
Uncomment and adjust the following to add a disk cache directory.

#cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256
Leave coredumps in the first cache dir

coredump_dir /usr/local/squid/var/cache/squid
Add any of your own refresh_pattern entries above these.

refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|?) 0 0% 0 refresh_pattern /(Packages|Sources)(|.bz2|.gz|.xz)$ 0 0% 0 refresh-ims refresh_pattern /Release(|.gpg)$ 0 0% 0 refresh-ims refresh_pattern /InRelease$ 0 0% 0 refresh-ims refresh_pattern /(Translation-.*)(|.bz2|.gz|.xz)$ 0 0% 0 refresh-ims
example pattern for deb packages

#refresh_pattern (.deb|.udeb)$ 129600 100% 129600 refresh_pattern . 0 20% 4320 

Добавил это

 https_port 192.168.1.254:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/usr/local/squid/etc/squidCA.pem

sslcrtd_program /usr/local/squid/libexec/security_file_certgen -s /usr/local/squid/libexec/squid/ssl_db -M 20MB 

Но опять при запуске с этими параметрами ошибка:

 Mar 08 17:17:40 squid squid[1999]: FATAL: HTTPS_port 192.168.1.135:3129 initialization error Mar 08 17:17:40 squid squid[2004]: FATAL: HTTPS_port 192.168.1.135:3129 initialization error 


В логах в usr/local/squid/var ничего
ka-may ()
Ответ на: комментарий от irton

судя по всему да

kamay@squid:~$  sed 's/:.*//' /etc/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
messagebus
syslog
_apt
tss
uuidd
tcpdump
landscape
pollinate
usbmux
sshd
systemd-coredump
kamay
lxd
ka-may ()
Ответ на: комментарий от ka-may

гм. кто-то врет

https_port 192.168.1.254:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/usr/local/squid/etc/squidCA.pem

и

Mar 08 17:17:40 squid squid[1999]: FATAL: HTTPS_port 192.168.1.135:3129 initialization error

vel ★★★★★ ()
Ответ на: комментарий от ka-may

а этот порт точно не занят?

netstat -ltnp | grep :3129

Запусти сначала squid с ssl но без генерации сертификатов (generate-host-certificates=off), а потом уже включай генерацию сертификатов.

Прочти про debug. Добавь дебаг для всего, что связано с ssl. В исходника есть doc/debug-sections.txt - очень полезный документ.

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

параллельно собрались пакеты в таком количестве :

squid-cgi_4.13-1ubuntu2_amd64.deb
squid-common_4.13-1ubuntu2_all.deb
squid-purge_4.13-~buntu2_amd64.deb
squid_4.13-1ubuntu2_amd64.deb
squidclient_4.13-~buntu2_amd64.deb

Какие и в какой последовательности устанавливать, у меня:

uname -a
Linux squid 5.8.0-44-generic #50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
ka-may ()
Ответ на: комментарий от vel

Порт не занят. Проверил.

Привёл строку к такому виду :

[code] https_port 192.168.1.135:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/usr/local/squid/etc/squidCA.pem generate-host-certificates=off [code]

ошибка та же.

ka-may ()
Ответ на: комментарий от vel

debug_options 83,9 26,9 Добавил, но в логе ничего, даже если ALL,9 в логе пусто.

Если выключить HTTPS то в логе появится:

2021/03/08 18:44:36.902| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x55b40a5aea80
2021/03/08 18:44:36.917| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x565550ba4a80
2021/03/08 18:44:36.932| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x562bc1c08a80
2021/03/08 18:44:36.950| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x559b96c02a80
2021/03/08 18:44:36.964| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x55df91d12a80
2021/03/08 18:44:36.978| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x55731ad14a80
2021/03/08 18:44:36.998| 83,5| ../../src/security/PeerOptions.h(112) operator(): SSL_CTX destruct, this=0x55c57ca7a630
2021/03/08 18:44:37 kid1| Starting Squid Cache version 4.13 for x86_64-pc-linux-gnu...
2021/03/08 18:44:37 kid1| Service Name: squid
2021/03/08 18:44:37.021 kid1| 83,9| ErrorDetailManager.cc(261) parse:  Remain size: 72 Content: name: X509_V_ERR_AKID_SKID_MISMATCH
detail: "%ssl_error_descr: %ssl_subj
2021/03/08 18:44:37.021 kid1| 83,9| ErrorDetailManager.cc(261) parse:  Remain size: 125 Content: name: X509_V_ERR_APPLICATION_VERIFICATION
detail: "%ssl_error_descr: %ssl_subject"
descr: "Application verification failure"

2021/03/08 18:44:37.021 kid1| 83,9| ErrorDetailManager.cc(261) parse:  Remain size: 0 Content:
ka-may ()
Ответ на: комментарий от ka-may

По ссылке инструкции для старой версии, но она в принципе подходит и работает. Конфиг содержит deprecated опции, но они работают. Ставить пакет squid и возможно squid-common, в любом случае dpkg скажет если чего-то не хватает. И вообще неплохо бы рассказать как организована сетка. Сквид по возможности должен стоять на маршрутизаторе, иначе танцы с бубном с маршрутизацией пакетов обеспечены.

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

Может быть проблема в том что я использую это : apt install libssl-dev ??

Судя по логу, ошибка в приложении, и в 3.5 и ниже были проблемы с версией libssl-dev

ka-may ()
Ответ на: комментарий от ka-may

Без libssl-dev сквид не соберётся с ssl. Можно, конечно патчить его для использования другой реализации, но зачем.

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

Я про использование libssl1.0-dev- вместо libssl-dev , везде вижу разные версии, как понял с ними бывают проблемы- правда пока не могу понять в чём

ka-may ()
Ответ на: комментарий от einhander

Непонятно: При инсталяции из deb пакета ошибка

[code] dpkg: проблемы с зависимостями не позволяют настроить squid: squid зависит от libdbi-perl; тем не мение: Пакет libdbi-perl не установлен. squid зависит от ssl-cert; тем не мение: Пакет ssl-cert не установлен. [code]

Разве эти пакеты не должны входить в common.deb? Мне сейчас их ставить чз apt вручную?

ka-may ()
Ответ на: комментарий от einhander

Это уже забавно:))))) 1.Я установил deb пакет, установил зависимости 2. /usr/lib/squid/security_file_certgen -c -s /var/lib/squid/ssl_db -M 20MB инициализировал БД 3. chown -R proxy:proxy /var/lib/squid сделал владельца proxy владельцем папки с бд 4.sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/squid/ssl_db -M 20MB внёс в конфиг строку для 4 версии сквда

И получил ту же ошибку :)) FATAL: HTTPS_port 192.168.1.135:3129 initialization error

В логе так же пусто при включённом HTTPS, и такая же ошибка descr: "Application verification failure если без него

ka-may ()
Ответ на: комментарий от ka-may

Извиняюсь, не заметил предшествующей строки: ERROR: Failed to acquire TLS certificate ‘/etc/squid/squidCA.pem’: error:0909006C:PEM routines:get_name:no start line

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

—–BEGIN PRIVATE KEY—– MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANGkGeiAUkYWPW0q /iUtlAW2W5h+8dx8HRmesy3UNc4FsUh7DfwuWglTNU2eAIYRYwGSFnuuJd6zZFKi Mic11ZMDDm6KNsYPICLUVEHEQoLNTs9ubNMYtNIIAH/p56tnhjAeHbCBCrM80+ju 4VBmISaRsFjuVvqn25uh61XpNXg5AgMBAAECgYBPi4e1G7OcGmY2XQDP1Ip83GPG 6iwVcBaOmRP9yK6dvLU2/lIhJOlO7n6kM9aZCFHbz7WuOjbuWH0xiY+kJx4hGTFe Y/xp4qUkQ26pbj96DFaDfasdfDfasfFDfasdfaEDtFh8VFdTCWqET3ToZCAP/Dd1 Pa/jAkANN5ks32ieisaqxGhgCIgnKg9ABwAwyO/qzjhqNceonNfzeexbVooOHT46 qFfuodB0Y+d/bWc+QokBLRmISOq9AkEAvSGkFqh2t9Beu9l1kmXaaPzw0kCoGKF4 wLjrkgVdejjOc/uIJjmvmd3UyfLR/DJGoIHlqHoNczm35jgUCVmcBwJBAOM3WDVO Mi2kbJ5X6eHpzOkpguu4Xo4De4xiUx3xj/1aCxQ2cmswEzigFSocshNfaBVRXuer aB5Ttm9nXIQVzD4= —–END PRIVATE KEY—– —–BEGIN CERTIFICATE—– MIIC8jCCAlugAwIBAgIUZfkCavrJ8l4MWaUM66nQpJZn7bMwDQYJKoZIhvcNAQEL BQAwgYoxCzAJBgNVBAYTAnJ1MQ4wDAYDVQQIDAVSdXNzaTEPMA0GA1UEBwwGTW9z a293MQswCQYDVQQKDAJSVTEPMA0GA1UECwwGRk9TVEVSMRMwEQYDVQQDDApGT1NU RVJJTExBMScwJQYJKoZIhvcNAQkBFhhNQUlMX0ZPU1RFUklMQUBoZWxwcGMucnUw HhcNMjEwMzA4MTkyMTA2WhcNMjIwMzA4MTkyMTA2WjCBijELMAkGA1UEBhMCcnUx DjAMBgNVBAgMBVJ1c3NpMQ8wDQYDVQQHDAZNb3Nrb3cgYBPi4e1G7OcGmY2XQDP1Ip83GPG6iwVcBaOmRP9yK6dvLU2/lIhJOlO7n6kM9aZCFHbz7WuOjbuWH0xiY+kY/xp4qUkQ26pbj96DFaDfasdfDfasfFDfasdfaEDtFh8VFdTCWqET3ToZCAP/Dd1 Pa/jAkANN5ks32ieisaqxGhgCIgnKg9ABwAwyO/qzjhqNceonNfzeexbVooOHT46 qFfuodB0Y+d/bWc+QokBLRmISOq9AkEAvSGkFqh2t9Beu9l1kBQADgYEADgYEAKCDgYEAKCglLLRlolQ23VuWEa0nRK4LBbDURjfiXtz5cOgLrIXBQDf+KoYaDDgYEAK —–END CERTIFICATE—–

ka-may ()
Ответ на: комментарий от ka-may

Переделал сертификат командой

openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout squidca.pem -out squidca.pem

Ещё были проблемы с правами на директорию где лежал серт и на сам серт, поправил, всё завелось!

Всем спасибо! Тему закрываю!

ka-may ()

В итоге сделалось просто а возни то было. Говорит профессионал

anonymous ()

SQUID

Девочка выбегает из бани:

 - Мама, мама! А у бабушки там кальмар!
 - Ну что ты, доча, это не кальмар!
 - А на вкус, как кальмар
Binkledum ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей