Перевірка linux на віруси

Відео: Перевірка комп`ютера і видалення вірусів з комп`ютера без використання антивірусної системи

Раніше ми вже говорили про віруси в Linux. Більшість людей вважають, що вірусів в Linux немає і де в чому вони мають рацію. Адже шкідливих програм, які самі могли б поширюватися по системі і заряджати інші комп`ютери в мережі мінімум. Відомі широкому загалу програми такого роду для Linux можна порахувати на пальцях. Але є й інший тип загроз, більш характерний для Linux. Це руткіти, програми які встановлюються вручну і приховують свою діяльність в системі.

Відео: Чому немає вірусів під Linux?

Ці програми можуть надавати встановив їх вам людині повний доступ до всієї системи, обчислювальних ресурсів і даних. Не варто недооцінювати цю небезпеку. Якщо ваш комп`ютер підключений до інтернет без використання локальної мережі (роутера) і без технології NAT, то звернеться до нього може будь-яка людина з мережі провайдера. Для цього навіть не обов`язково знати ваш ip адресу. Зловмисник може просто перебирати всі адреси в своїй підмережі і якщо на вашому комп`ютері або сервері виявиться шукана їм вразливість, наприклад слабкий пароль ssh або будь-яка інша уразливість в системному сервісі програмна або недолік настройки - ваш комп`ютер буде зламаний.

Ви можете подивитися вміст файлу /var/log/audit.log. Тут фіксуються всі події в системі, в тому числі невдалі спроби входу по ssh. Я був здивований коли побачив що мій пароль намагалися підібрати. Також можна подивитися логи сервісу sshd за допомогою journalctl:

$ Sudo apt-get install rkhunter

Якщо у вас інший дистрибутив, ви завжди можете зібрати програму з початкових кодів:


$ Wget https://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz

$ Tar -xvf rkhunter-1.4.2.tar.gz
$ Cd rkhunter-1.4.2
$ ./installer.sh --layout default --install

оновлення RkHunter

Перед тим як буде виконана перевірка linux на віруси, необхідно оновити базу даних утиліти. Для цього виконайте:

$ Rkhunter --update

Тепер необхідно зібрати інформацію про файлах в системі, це потрібно, щоб програма могла зрозуміти чи намагався хто модифікувати системні файли під час наступної перевірки. Для цього виконайте:

$ Vi /etc/cron.daily/rkhunter.sh
(
/ Usr / local / bin / rkhunter --versioncheck
/ Usr / local / bin / rkhunter --update
/ Usr / local / bin / rkhunter --cronjob --report-warnings-only
) | / Bin / mail -s "rkhunter Daily Run (Ваш сервер)" [email protected]

Тут ми виконуємо перевірку версії, оновлення баз даних та в останньому рядку ми запланували перевірку і відправку повідомлення вам на Email. Для роботи необхідно замінити [email protected] на Вашу електронну адресу електронної пошти.

Тепер залишилося тільки дати програмі права на виконання:

$ Chmod 755 /etc/cron.daily/rkhunter.sh

Перевірка Linux на віруси Rkhunter

Спочатку давайте розглянемо основні опції програми які ми вже використали, або які вам можуть стати в нагоді:

  • --verbose-logging - максимально детальний висновок
  • --quiet - мінімум інформації у висновку
  • -l, --logfile - записати лог програми в свій файл
  • --cronjob - НЕ інтерактивний режим перевірки, використовується для запуску за допомогою cron, звідси і назва.
  • --list - дозволяє подивитися які можливості проддержівает програма, можна передати кілька параметрів, test - випробування, lang - мови, rootkits - руткіти.
  • --unlock - видаляє файл блокування бази даних, може бути корисна якщо попередній сеанс роботи з програмою був завершений некоректно.
  • --check - перевірка системи
  • --update - оновлення баз руткітів
  • --versioncheck - оновлення програми
  • --propupd - створити базу даних файлів

Наприклад, щоб подивитися всі руткіти, які може знайти програма виконайте:

$ Rkhunter --check

Програма крім виведення інформації на екран, створить лог перевірки. На інформацію виведену під час перевірки не звертайте великої уваги, вона трохи урізана все стане більш зрозумілим при перегляді журналу.

[12:07:51] Running Rootkit Hunter version 1.4.2 on dhcppc0
[12:07:51]
[12:07:51] Info: Start date is Нед червня 5 12:07:51 EEST 2016
[12:07:51]
[12:07:51] Checking configuration file and command-line options ...
[12:07:51] Info: Detected operating system is `Linux`
[12:07:51] Info: Found O / S name: openSUSE 42.1 (x86_64)
[12:07:52] Info: Command line is / usr / bin / rkhunter --check


Зауважте, що ми розглядаємо лог перевірки системи, логи поновлення і створення бази даних, вони знаходяться вище в цьому ж файлі, нас не цікавлять.

Відео: Чи бувають віруси для Mac?

Перевірка системи починається з цих термін:


[12:07:53]
[12:07:53] Info: Starting test name "system_commands"
[12:07:53] Checking system commands ...

Програма сканує системні утиліти і намагається виявити там підозрілі ознаки, в тому числі проводиться порівняння хешу утиліти з хешем збереженим в базі даних, щоб зрозуміти чи не була вона змінена. Зазвичай якщо з утилітами все добре лог заповнений такими рядками:

[12:07:53] Scanning for string / usr / sbin / ntpsx [OK]
[12:07:53] Scanning for string /usr/sbin/.../bkit-ava [OK]
[12:07:53] Scanning for string /usr/sbin/.../bkit-d [OK]
[12:07:53] Scanning for string /usr/sbin/.../bkit-shd [OK]
[12:07:53] Scanning for string /usr/sbin/.../bkit-f [OK]

Також виконується перевірка параметрів файлів, наприклад якщо файл повинен бути бінарним, а він скрипт, то це не порядок:


[12:07:59] Performing file properties checks
[12:07:59] Checking for prerequisites [OK]
[12:08:00] / usr / sbin / cron [OK]
[12:08:00] / usr / sbin / depmod [OK]
[12:08:01] / usr / sbin / fsck [OK]
[12:08:02] / usr / sbin / groupadd [OK]
[12:08:02] / usr / sbin / groupdel [OK]

При виявленні підозрілого файлу програма тут же пояснює в чому з ним проблема.

Далі буде виконана перевірка Linux на віруси з пошуком відомих руткітів:

[12:09:31] Info: Starting test name `rootkits`
[12:09:31] Checking for rootkits ...
[12:09:31]
[12:09:31] Info: Starting test name `known_rkts`
[12:09:31] Performing check of known rootkit files and directories


Зазвичай, якщо в цьому розділі щось виявлено, то це означає, що в системі є руткит і з цим треба щось робити, але зазвичай ми бачимо рядки Not found (запиту, не знайдено):

Відео: Вірус для linux - shellshock - найнебезпечніший вірус linux


[12:09:33] Checking for file "/usr/lib/.ark?" [Not found]
[12:09:33] Checking for file "/dev/ptyxx/.log" [Not found]
[12:09:33] Checking for file "/dev/ptyxx/.file" [Not found]
[12:09:33] Checking for file "/dev/ptyxx/.proc" [Not found]
[12:09:33] Checking for file "/dev/ptyxx/.addr" [Not found]
[12:09:33] Checking for directory "/ dev / ptyxx" [Not found]
[12:09:33] Ambient (ark) Rootkit [Not found]

Далі буде запущений пошук небажаного програмного забезпечення:

[12:15:23] Info: Starting test name `malware`
[12:15:23] Performing malware checks

Ось ми і бачимо перше попередження:


[12:15:38] Info: Using xinetd configuration file "/etc/xinetd.conf"
[12:15:38] Checking "/etc/xinetd.conf" for enabled services [None found]
[12:15:39] Checking "/etc/xinetd.d/vnc" for enabled services [Warning]
[12:15:40] Checking for enabled xinetd services [Warning]
[12:15:40] Warning: Found enabled xinetd service: /etc/xinetd.d/vnc

Як бачите, програма відразу говорить що виявлений активоване vnc сервер через xinetd, але тут все в порядку, це я його активував.

Перевірка небезпечних портів:

[12:16:00] Performing checks on the network ports
[12:16:00] Info: Starting test name `ports`
[12:16:00] Performing check for backdoor ports
[12:16:00] Checking for TCP port 1524 [Not found]
[12:16:00] Checking for TCP port 1984 [Not found]
[12:16:00] Checking for UDP port 2001 [Not found]
[12:16:00] Checking for TCP port 2006 [Not found]
[12:16:01] Checking for TCP port 2128 [Not found]

На етапі перевірки конфігураційних файлів ми теж отримуємо попередження:


[12:16:04] Checking for passwd file changes [Warning]
[12:16:04] Warning: Unable to check for passwd file differences: no copy of the passwd file exists.
[12:16:04]
[12:16:04] Info: Starting test name "group_changes"
[12:16:04] Checking for group file changes [Warning]
[12:16:04] Warning: Unable to check for group file differences: no copy of the group file exists.
[12:16:04] Checking root account shell history files [OK]

Але тут видно, що проблема не у вірусі, а в тому, що програму просто немає з чим порівнювати.

Далі виконується перевірка налаштувань системи, і тут теж програмі не все подобається:

[12:16:04] Info: Starting test name `system_configs`
[12:16:04] Performing system configuration file checks
[12:16:04] Checking for an SSH configuration file [Found]
[12:16:04] Info: Found an SSH configuration file: / etc / ssh / sshd_config
[12:16:04] Info: Rkhunter option ALLOW_SSH_ROOT_USER set to `no`.
[12:16:04] Info: Rkhunter option ALLOW_SSH_PROT_V1 set to `0`.
[12:16:05] Checking if SSH root access is allowed [Warning]
[12:16:05] Warning: The SSH configuration option `PermitRootLogin` has not been set.
The default value may be `yes`, to allow root access.
[12:16:05] Checking if SSH protocol v1 is allowed [Warning]
[12:16:05] Warning: The SSH configuration option `Protocol` has not been set.
The default value may be `2,1`, to allow the use of protocol version 1.

А саме дві речі - дозволений root доступ по ssh і можливість використовувати протокол першої версії для підключення до ssh. І вона має рацію, це дуже небезпечно.

Далі буде виконано сканування файлової системи:


[12:16:05] Performing filesystem checks
[12:16:05] Info: SCAN_MODE_DEV set to "THOROUGH"
[12:16:10] Warning: Hidden file found: /usr/bin/.hmac256.hmac: ASCII text
[12:16:10] Warning: Hidden file found: /usr/bin/.fipscheck.hmac: ASCII text

І виявлено два прихованих файлу, але я знаю, що ці файли створені програмою logmein-hamachi Ви можете відстежити яка програма працює з певним файлом за допомогою команди lsof:

$ Sudo lsof | grep / адреса / файлу

Залишилася перевірка додатків:


[12:16:25] Checking application versions ..

І невеликий звіт про знайдені проблеми:

[12:16:26] System checks summary
[12:16:26] =====================
[12:16:26]
[12:16:26] File properties checks ...
[12:16:26] Files checked: 193
[12:16:26] Suspect files: 0
[12:16:26]
[12:16:26] Rootkit checks ...
[12:16:26] Rootkits checked: 379
[12:16:26] Possible rootkits: 0
[12:16:26]
[12:16:26] Applications checks ...
[12:16:26] Applications checked: 4
[12:16:26] Suspect applications: 0
[12:16:26]
[12:16:26] The system checks took: 8 minutes and 32 seconds

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

$ Wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
$ Tar xvfz chkrootkit.tar.gz
$ Cd chkrootkit - * /
$ Make sense
$ Make install

Перевірка системи за допомогою chkrootkit

Команди виконуються без параметрів. Досить запустити потрібну утиліту щоб знайти руткіти linux:

$ Sudo chklastlog

Але, можливо доведеться створити символічне посилання на lastlog, щоб програма змогла його знайти.

висновки

От і все. Виконуйте регулярне сканування Linux, щоб вчасно виявити всі загрози, особливо це актуально для серверів, які найчастіше можуть піддаватися атакам хакерів. Можливо, руткітів ви не знайдете, але зате програми вам повідомлять про потенційні проблеми з безпекою, які бажано виправити.

Поділися в соціальних мережах:

Схожі
7 Переваг linux7 Переваг linux
Дізнаємося хто використовує мережу в linuxДізнаємося хто використовує мережу в linux
Як приховати процес в linuxЯк приховати процес в linux
Віртуальна флешка в linuxВіртуальна флешка в linux
Arp сканування локальної мережі linuxArp сканування локальної мережі linux
Opera для linuxOpera для linux
Chakra linux отримала kde plasma 5.7.3 і firefox 48Chakra linux отримала kde plasma 5.7.3 і firefox 48
Мтчелл м. - програмування для linux. Професійний підхідМтчелл м. - програмування для linux. Професійний підхід
Комп`ютерні вірусиКомп`ютерні віруси
Віруси і linuxВіруси і linux
» » Перевірка linux на віруси