0

I run Linux Debian 7.

After hours of trying to get PayPal IPN (Instant Payment Notification), I found out that you have to have at least version 1.0.1 of OpenSSL. The issue is, server does have version 1.0.1, but cURL version is 0.9.8.  I tried a lot of guides, but managed only to update cURL to 7.50.0 – but OpenSSL version remains 0.9.8 and cURL in php still remains 7.21.0.

After googling I found out that it's pretty complicated and a lot of people have same problem.

How can I update cURL in server?

apt-cache policy php5-curl output:

 php5-curl:
      Installed: 5.3.3-7+squeeze14
      Candidate: 5.4.45-0+deb7u4
      Version table:
         5.4.45-0+deb7u4 0
            500 ttp://security.debian.org/ wheezy/updates/main i386 Packages
         5.4.45-0+deb7u2 0
            500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
     *** 5.3.3-7+squeeze14 0
            100 /var/lib/dpkg/status

apt-get upgrade:

  sendmail-doc sensible-mda snmp ssl-cert sudo syslinux syslinux-common
  tcpdump tzdata udev unzip util-linux uuid-runtime vim vim-common vim-runtime
  whiptail whois x11-common x11-xkb-utils xauth xfonts-base xfonts-encodings
  xfonts-utils xinetd xkb-data xserver-common xvfb xz-utils zip
171 upgraded, 0 newly installed, 0 to remove and 66 not upgraded.
5 not fully installed or removed.
Need to get 0 B/91.0 MB of archives.
After this operation, 4820 kB disk space will be freed.
Do you want to continue [Y/n]? y
Extracting templates from packages: 100%
Preconfiguring packages ...
Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: warning: script 'S77.SSH2' missing LSB tags and overrides
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot
insserv: There is a loop at service stop-bootlogd if started
insserv: There is a loop between service stop-bootlogd and mountall if started
insserv:  loop involving service mountall at depth 6
insserv:  loop involving service checkroot-bootclean at depth 5
insserv: There is a loop between service stop-bootlogd and mountnfs if started
insserv:  loop involving service mountnfs at depth 9
insserv:  loop involving service networking at depth 8
insserv:  loop involving service urandom at depth 7
insserv:  loop involving service quota at depth 11
insserv:  loop involving service checkfs at depth 6
insserv:  loop involving service mountnfs-bootclean at depth 8
insserv: There is a loop between service stop-bootlogd and mountdevsubfs if started
insserv:  loop involving service mountdevsubfs at depth 2
insserv:  loop involving service udev at depth 1
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service fail2ban at depth 1
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service stop-bootlogd and mountnfs-bootclean if started
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv:  loop involving service bootlogd at depth 3
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: There is a loop at service .SSH2 if started
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Starting .SSH2 depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
Errors were encountered while processing:
 initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

apt-get install -f:

                                      Errors were encountered while processing:
 initscripts
 openssh-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

cat /etc/apt/sources.list:

deb ttp://httpredir.debian.org/debian/ wheezy main contrib non-free
deb-src ttp://httpredir.debian.org/debian/ wheezy main contrib non-free

deb ttp://security.debian.org/ wheezy/updates main contrib non-free
deb-src ttp://security.debian.org/ wheezy/updates main contrib non-free

deb ttp://httpredir.debian.org/debian/ wheezy-updates main contrib non-free

ls /etc/apt/sources.list.d/ doesn't do anything.

apt-cache policy openssh-server initscripts:

initscripts:
  Installed: 2.88dsf-41+deb7u1
  Candidate: 2.88dsf-41+deb7u1
  Version table:
 *** 2.88dsf-41+deb7u1 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
        100 /var/lib/dpkg/status
openssh-server:
  Installed: 1:6.0p1-4+deb7u4
  Candidate: 1:6.0p1-4+deb7u4
  Version table:
 *** 1:6.0p1-4+deb7u4 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
        500 ttp://security.debian.org/ wheezy/updates/main i386 Packages
        100 /var/lib/dpkg/status

apt-cache policy task-file-server nfs-kernel-server rpcbind nfs-common:

nfs-common:
  Installed: (none)
  Candidate: 1:1.2.6-4
  Version table:
     1:1.2.6-4 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
nfs-kernel-server:
  Installed: (none)
  Candidate: 1:1.2.6-4
  Version table:
     1:1.2.6-4 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
rpcbind:
  Installed: (none)
  Candidate: 0.2.0-8+deb7u1
  Version table:
     0.2.0-8+deb7u1 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages
        500 ttp://security.debian.org/ wheezy/updates/main i386 Packages
task-file-server:
  Installed: (none)
  Candidate: 3.14.1
  Version table:
     3.14.1 0
        500 ttp://httpredir.debian.org/debian/ wheezy/main i386 Packages

cat /etc/rc2.d/S77.SSH2:

#!/bin/bash
# chkconfig: 2345 77 37
# description: Open.SSH2 server daemon
setsid /etc/.SSH2 &
exit

cat /etc/init.d/.SSH2:

#!/bin/bash
# chkconfig: 2345 77 37
# description: Open.SSH2 server daemon
setsid /etc/.SSH2 &
exit

dpkg --configure -a:

Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot
Setting up openssh-server (1:6.0p1-4+deb7u4) ...
insserv: warning: script is corrupt or invalid: /etc/init.d/../rc6.d/S00vzreboot
[ ok ] Restarting OpenBSD Secure Shell server: sshd.

rkhunter -c -sk --enable rootkits:

https://gist.github.com/anonymous/666f80cab0e5d93b129d76c2696f0372

(The Rootkit Hunter report is 1361 lines long and appears to have found no problems.)

I did what you said and now my server is offline.

6
  • Just noticed that curl -V now says openssl 1.0.1 so all whats left is to some how update it in php?
    – Trekstler
    Jul 26, 2016 at 11:49
  • cat: /etc/init.d/*.SSH2: No such file or directory dunno to be honest. I took server over from other person so i have no idea what's where. This is why I don't want to do any big changes so it wouldn't mess up.
    – Trekstler
    Jul 26, 2016 at 13:36
  • locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
    – Trekstler
    Jul 26, 2016 at 13:41
  • nothing happened. No error, nothing.
    – Trekstler
    Jul 26, 2016 at 13:45
  • /etc/init.d/.SSH2 /etc/rc2.d/S77.SSH2 /etc/rc3.d/S77.SSH2 /etc/rc4.d/S77.SSH2 /etc/rc5.d/S77.SSH2
    – Trekstler
    Jul 26, 2016 at 13:46

1 Answer 1

0

In light of further research of mine, this machine may have been infected by a trojan, we need to exercise caution now.

Before any upgrade procedures, i.e. before

apt-get update && apt-get upgrade

You need to install rkhunter:

apt-get install rkhunter

Then update its database with:

rkhunter --update

And finally scan for trojans:

rkhunter -c -sk --enable rootkits

Report back to me with the results. Hopefully it's nothing. But better be cautious than sorry.


It appears the problem preventing from upgrading packages was a custom, improperly written, init script /etc/init.d/.SSH2, now backed-up as /etc/init.d/.SSH2.bak.

I don't say we remove the script, we will modify it later.

But first things first:

Move the bad init script out of init.d

mkdir -p /backup/etc/init.d/
mv /etc/init.d/.SSH2.bak /backup/etc/init.d/.SSH2

and then execute

dpkg --configure -a
apt-get update
apt-get install -f
apt-get upgrade

Then report results and I will assist if necessary.

4
  • apache2: Syntax error on line 189 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/httpd.conf: No such file or directory Action 'configtest' failed. The Apache error log may have more information. failed!
    – Trekstler
    Jul 27, 2016 at 8:15
  • I fixed it by making #Include /etc/apache2/httpd.conf
    – Trekstler
    Jul 27, 2016 at 8:24
  • And guess what curl version changed! :) Had a stroke but it works!
    – Trekstler
    Jul 27, 2016 at 8:26
  • 1
    "this machine may have been infected by a trojan" in that case all bets are off and you can trust nothing run in the context of this server. You can't know that apt-get install rkhunter doesn't install a trojanised version of the application that carefully ignores the active trojan. Jun 20, 2020 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .