Eliminar virus con clamav en Ubuntu 18.04
Introducción
La seguridad informática no es algo que podamos dejar olvidada, hoy en día no solo los hackers son capases de vulnerar nuestros sistemas incluso en linux, si en linux, todos los sistemas operativos son vulnerables (unos mas que otros). Olvídate de la idea de que en Linux no existen virus o que es imposible que nos infecten, porque no es así. Ademas no cuesta mucho tener un antivirus en Linux (ni dinero ni recursos) y en esta ocasión vamos a instalar y proba clamav un antivirus opensource compatible en windows y linux, en este caso en particular vamos a hacer pruebas en Ubuntu 18.04.
Paso 1: Instalación y actualizacion de bd de virus
Actualizamos nuestro Ubuntu asi:
sudo apt-get update && sudo apt-get upgrade -y
Es recomendable instalar también un demonio que este constantemente analizando nuestro SO asi:
sudo apt-get install clamav clamav-daemon -y
Y para terminar actualizamos la bd de virus asi:
sudo freshclam
02.- Búsqueda de virus
Hay que tomar en cuenta que entre mas mas archivos se escaneen mas va a tardar el escaneo en este caso vamos a escanear esta carpeta
sudo clamscan -r --bell -i /home/eugenio/Descargas/
Aquí, el comando clamscan
es utilizado con las siguientes opciones:
-r
: Escanea de forma recursiva todos los directorios.--bell
: Emite un sonido de campana cuando se encuentra un archivo infectado.-i
: Muestra solo los archivos infectados en los resultados del escaneo./
: Indica que el escaneo debe comenzar en la raíz del sistema de archivos.
Ten en cuenta que este proceso puede llevar bastante tiempo, dependiendo de la cantidad de archivos en tu sistema.
A lo que obtuvimos este resultado
/home/eugenio/Descargas/.bash_history: OK
/home/eugenio/Descargas/.bashrc: OK
/home/eugenio/Descargas/archivo.txt: OK
/home/eugenio/Descargas/.cache/motd.legal-displayed: Empty file
/home/eugenio/Descargas/.bash_logout: OK
/home/eugenio/Descargas/.profile: OK
/home/eugenio/Descargas/LEEME.txt: OK
----------- SCAN SUMMARY -----------
Known viruses: 3739593
Engine version: 0.98.6
Scanned directories: 2
Scanned files: 6
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 7.047 sec (0 m 7 s)
Si se dieron cuenta no se encontró ningún archivo infectado, asi que para ver que ocurre cuando encuentra un archivo infectado, para eso vamos a descargar un archivo infectado desde esta pagina con este comando:
wget http://www.eicar.org/download/eicar_com.zip
Ahora que ya tenemos un archivo infectado en “/home/eugenio/Descargas/” escaneamos de nuevo esa carpeta con este comando:
sudo clamscan -r /home/eugenio/Descargas/
A lo que nos da este resultado:
/home/eugenio/Descargas/.bash_history: OK
/home/eugenio/Descargas/.bashrc: OK
/home/eugenio/Descargas/archivo.txt: OK
/home/eugenio/Descargas/.cache/motd.legal-displayed: Empty file
/home/eugenio/Descargas/.bash_logout: OK
/home/eugenio/Descargas/.profile: OK
/home/eugenio/Descargas/LEEME.txt: OK
/home/eugenio/Descargas/eicar_com.zip: Eicar-Test-Signature FOUND
----------- SCAN SUMMARY -----------
Known viruses: 3739593
Engine version: 0.98.6
Scanned directories: 2
Scanned files: 7
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 8.265 sec (0 m 8 s)
Si nos percatamos ahora nos marca que el archivo “/home/eugenio/Descargas/eicar_com.zip” esta infectado.
3.- Borrar archivos infectados.
Para escaner y eliminar archivos infectados debemos ejecutar este comando:
sudo clamscan --infected --remove --recursive /home/eugenio/Descargas/
A lo nos dara este resultado:
/home/eugenio/Descargas/eicar_com.zip: Eicar-Test-Signature FOUND
/home/eugenio/Descargas/eicar_com.zip: Removed.
----------- SCAN SUMMARY -----------
Known viruses: 3739593
Engine version: 0.98.6
Scanned directories: 2
Scanned files: 7
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 9.651 sec (0 m 9 s)
4.- Dejar clamav trabajando cuando reinicie el servidor
Para que nuestro servidor este protegido constantemente debemos ejecutar este comando para activar el escaneo de archivos:
sudo /etc/init.d/clamav-daemon start
sudo /etc/init.d/clamav-freshclam start
5.- Otros comandos de clamav
Podemos experimentar con otros comandos de clamav y para conocelor podemos ejecutar:
clamscan --help
A lo que nos da este resultado:
Clam AntiVirus: Scanner 0.100.2
By The ClamAV Team: https://www.clamav.net/about.html#credits
(C) 2007-2018 Cisco Systems, Inc.
clamscan [options] [file/directory/-]
--help -h Show this help
--version -V Print version number
--verbose -v Be verbose
--archive-verbose -a Show filenames inside scanned archives
--debug Enable libclamav's debug messages
--quiet Only output error messages
--stdout Write to stdout instead of stderr
--no-summary Disable summary at end of scanning
--infected -i Only print infected files
--suppress-ok-results -o Skip printing OK files
--bell Sound bell on virus detection
--tempdir=DIRECTORY Create temporary files in DIRECTORY
--leave-temps[=yes/no(*)] Do not remove temporary files
--gen-json[=yes/no(*)] Generate JSON description of scanned file(s). JSON will be printed and also-
dropped to the temp directory if --leave-temps is enabled.
--database=FILE/DIR -d FILE/DIR Load virus database from FILE or load all supported db files from DIR
--official-db-only[=yes/no(*)] Only load official signatures
--log=FILE -l FILE Save scan report to FILE
--recursive[=yes/no(*)] -r Scan subdirectories recursively
--allmatch[=yes/no(*)] -z Continue scanning within file after finding a match
--cross-fs[=yes(*)/no] Scan files and directories on other filesystems
--follow-dir-symlinks[=0/1(*)/2] Follow directory symlinks (0 = never, 1 = direct, 2 = always)
--follow-file-symlinks[=0/1(*)/2] Follow file symlinks (0 = never, 1 = direct, 2 = always)
--file-list=FILE -f FILE Scan files from FILE
--remove[=yes/no(*)] Remove infected files. Be careful!
--move=DIRECTORY Move infected files into DIRECTORY
--copy=DIRECTORY Copy infected files into DIRECTORY
--exclude=REGEX Don't scan file names matching REGEX
--exclude-dir=REGEX Don't scan directories matching REGEX
--include=REGEX Only scan file names matching REGEX
--include-dir=REGEX Only scan directories matching REGEX
--bytecode[=yes(*)/no] Load bytecode from the database
--bytecode-unsigned[=yes/no(*)] Load unsigned bytecode
--bytecode-timeout=N Set bytecode timeout (in milliseconds)
--statistics[=none(*)/bytecode/pcre] Collect and print execution statistics
--detect-pua[=yes/no(*)] Detect Possibly Unwanted Applications
--exclude-pua=CAT Skip PUA sigs of category CAT
--include-pua=CAT Load PUA sigs of category CAT
--detect-structured[=yes/no(*)] Detect structured data (SSN, Credit Card)
--structured-ssn-format=X SSN format (0=normal,1=stripped,2=both)
--structured-ssn-count=N Min SSN count to generate a detect
--structured-cc-count=N Min CC count to generate a detect
--scan-mail[=yes(*)/no] Scan mail files
--phishing-sigs[=yes(*)/no] Signature-based phishing detection
--phishing-scan-urls[=yes(*)/no] URL-based phishing detection
--heuristic-scan-precedence[=yes/no(*)] Stop scanning as soon as a heuristic match is found
--phishing-ssl[=yes/no(*)] Always block (flag) SSL mismatches in URLs (phishing module)
--phishing-cloak[=yes/no(*)] Always block (flag) cloaked URLs (phishing module)
--partition-intersection[=yes/no(*)] Detect partition intersections in raw disk images using heuristics
--algorithmic-detection[=yes(*)/no] Algorithmic detection
--normalize[=yes(*)/no] Normalize html, script, and text files. Use normalize=no for yara compatibility
--scan-pe[=yes(*)/no] Scan PE files
--scan-elf[=yes(*)/no] Scan ELF files
--scan-ole2[=yes(*)/no] Scan OLE2 containers
--scan-pdf[=yes(*)/no] Scan PDF files
--scan-swf[=yes(*)/no] Scan SWF files
--scan-html[=yes(*)/no] Scan HTML files
--scan-xmldocs[=yes(*)/no] Scan xml-based document files
--scan-hwp3[=yes(*)/no] Scan HWP3 files
--scan-archive[=yes(*)/no] Scan archive files (supported by libclamav)
--detect-broken[=yes/no(*)] Try to detect broken executable files
--block-encrypted[=yes/no(*)] Block (flag) encrypted archives
--block-macros[=yes/no(*)] Block (flag) OLE2 files with VBA macros
--block-max[=yes/no(*)] Block (flag) files that exceed max file size, max scan size, or max recursion limit
--nocerts Disable authenticode certificate chain verification in PE files
--dumpcerts Dump authenticode certificate chain in PE files
--max-filesize=#n Files larger than this will be skipped and assumed clean
--max-scansize=#n The maximum amount of data to scan for each container file (**)
--max-files=#n The maximum number of files to scan for each container file (**)
--max-recursion=#n Maximum archive recursion level for container file (**)
--max-dir-recursion=#n Maximum directory recursion level
--max-embeddedpe=#n Maximum size file to check for embedded PE
--max-htmlnormalize=#n Maximum size of HTML file to normalize
--max-htmlnotags=#n Maximum size of normalized HTML file to scan
--max-scriptnormalize=#n Maximum size of script file to normalize
--max-ziptypercg=#n Maximum size zip to type reanalyze
--max-partitions=#n Maximum number of partitions in disk image to be scanned
--max-iconspe=#n Maximum number of icons in PE file to be scanned
--max-rechwp3=#n Maximum recursive calls to HWP3 parsing function
--pcre-match-limit=#n Maximum calls to the PCRE match function.
--pcre-recmatch-limit=#n Maximum recursive calls to the PCRE match function.
--pcre-max-filesize=#n Maximum size file to perform PCRE subsig matching.
--disable-cache Disable caching and cache checks for hash sums of scanned files.
5.- Instalar entorno visual clamtk
sudo apt-get install clamtk
Obviamente esto solo funciona si tienes instalado un escritorio en tu servidor si quiere instalar un entorno grafico en tu servidor puedes ver este tutorial