Перейти к содержимому
Калькуляторы

Хакнули сервер варианты частичного обновления ПО

Ломанули сервер VDS, по отчету rkhunter, часть системных утилит подменена.

Первоначально была вычищена вся видимая зараза, мониторинг сети ничего странного не показывает. Был пересобран ssh.

 

Возможности вот так сразу переставить ОС нет, ищутся способы безопасного обновления либо частями, либо еще как то системы, поделить мыслями.

 

UPD: linux

Изменено пользователем anix

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

TCPDUMP на предмет отсылки интересных сообщений с сервера + посмотрите, нет ли лишних открытых сокетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

TCPDUMP на предмет отсылки интересных сообщений с сервера + посмотрите, нет ли лишних открытых сокетов.

 

tcpdump ничего странного не показывает, но есть вероятность, что он и losf и netstat могут быть подменены :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если дистрибутив с пакетным манагером, то переставить все пакеты (deb, rpm итп)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скопировать с другого сервера статически скомпонованный md5sum.

Собрать им суммы всех файлов в /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin.

Установить в VirtualBox систему с такими же версиями пакетов и сравнить суммы.

 

Со всеми остальными утилитами поступать так же - копировать извне статически скомпонованные, вплоть до sshd на отдельном порту.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чего за дистр? В дебиане ( и подобных) поставьте debsums, потом с ним сконтролировать пакеты и изменённые apt-get -u --purge --reinstall install package_name.

Изменено пользователем devicebusy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможности вот так сразу переставить ОС нет, ищутся способы безопасного обновления ...

Я бы всё-таки переставил ОС и не мучался...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В свое время для похожей ситуации накалякали скриптец на php, который выкачивает все установленные пакеты, которые потом всем скопом можно переуустановить :)

 

#!/usr/bin/php -f                                                                                                                   
<?                                                                                                                                  
 set_time_limit(0);                                                                                                                
 $base_repo = "http://mirror.yandex.ru/centos/4.8/os/i386/CentOS/RPMS/";                                                           
 $dag_repo = "http://apt.sw.be/redhat/el4/en/i386/dag/RPMS/";                                                                      
 $up_repo = "http://mirror.yandex.ru/centos/4.8/updates/i386/CentOS/RPMS/";                                                        

 @mkdir("rpms");                                                                                                                   

 $err = fopen("php://stderr", "w");                                                                                                


 function arr_empty($var)                                                                                                          
 {                                                                                                                                 
   return !empty($var);                                                                                                            
 }                                                                                                                                 

 exec("yum list installed",$rpm_list);                                                                                             
 array_shift($rpm_list);                                                                                                           
 foreach($rpm_list as $rpm)                                                                                                        
 {                                                                                                                                 
   $tmp = array_values(array_filter(explode(" ",$rpm),"arr_empty"));                                                               
   $t = explode(".",$tmp[0]);                                                                                                      
   $tmp[1] = preg_replace('/.*\:/',"",$tmp[1]);                                                                                    

   $rpm = $t[0]."-".$tmp[1].".".$t[1].".rpm";                                                                                      
   echo "Processing ".$rpm."...\n";                                                                                                

   exec("wget -qcO rpms/".$rpm." ".$base_repo.$rpm);                                                                               
   if(!filesize("rpms/".$rpm)>0)                                                                                                   
   {                                                                                                                               
     exec("wget -qcO rpms/".$rpm." ".$up_repo.$rpm);                                                                               
     if(!filesize("rpms/".$rpm)>0)                                                                                                 
     {                                                                                                                             
       exec("wget -qcO rpms/".$rpm." ".$dag_repo.$rpm);                                                                            
       if(!filesize("rpms/".$rpm)>0)                                                                                               
         fputs($err, $rpm." not found !!!\n");                                                                                     
     }                                                                                                                             
   }                                                                                                                               
 }                                                                                                                                 
fclose($err);                                                                                                                       
?>                               

Изменено пользователем Vicus

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.