Acceder a la terminal en cualquier carpeta desde nautilus

Por defecto, cuando navegamos con Nautilus, al presionar el botón derecho el menú contextual, no dispone de ninguna forma de salir rápidamente a la Terminal, estando ubicado en la carpeta donde nos encontrábamos.

Con el siguiente Plugin, podremos salir a la consola de Linux, posicionados en la carpeta que nos encontremos en Nautilus, simplemente haciendo clic con el botón derecho y dándole a la opción “Abrir en terminal”.

Una vez instalado este script, desde Nautilus podremos salir a la Terminal, desde el panel derecho, haciendo clic derecho sobre una carpeta y eligiendo la opción “Abrir en un terminal“.

El resultado estando en la carpeta Documentos sería este:

sudo apt-get install nautilus-open-terminal

Tras la instalación conviene reiniciar para que los cambios tengan efecto.

Nautilus open with and Dropbox issue

I recently had an issue with file associations over Nautilus, in my Gnome desktop.

After installing the Dropbox client for Linux, I tried the “Launch Dropbox Website” and it opened Gedit with some HTML code inside (with a text editor instead of the browser !!! ).

Then I realized that when I try to open an HTML file, the application that opens it to me is Gedit.

  • If you use “right button / open with” option and you check the box “Remember this application …”, It seems not work.
  • You need to use “right button / properties” and in the tab “open with”, set the appropriate application, for instance firefox

After this, the option in Dropbox worked.

Skype can’t connect

“Skype can’t connect” Tras la adquisición por Microsoft y el cambio de servidores, en GNU/Linux podemos encontrar este problema

Nice post to update/install the non-free, proprietary, closed source software, owned by a corporation and not supported by Debian “Skype”.

Since Skype was owned by Micro$oft the Skype authentication server is forcing Linux users to upgrade to Skype 4.3

https://wiki.debian.org/skype

Installing Skype in 64 bit Debian / Ubuntu

Skype cant connect

10.04 – 11.10 at 64-bit

  1. Download the Generic Dynamic version of Skype, at that moment http://www.skype.com/es/download-skype/skype-for-linux/downloading/?type=dynamic
  2. Unpack the downloaded Skype folder under your home directory (for me was in skype-4.1.0.20)
  3. Using the terminal, enter the following command and press Enter:
    1. sudo apt-get install lib32stdc++6 lib32asound2 ia32-libs libc6-i386 lib32gcc1
  4. Download the Debian file:
http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libphonon4_4.6.2-0ubuntu5.5_i386.deb

The above link is missing, try this: http://security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/ and find out your package, for instance libphonon4_4.6.2-0ubuntu5.6_i386.deb

Open the Debian file with the Archive Manager, then click on data.tar.lzma and unpack the following library into the Skype folder you created in step 2:

./usr/lib/libphonon.so.4 ./usr/lib/libphonon.so.4.4 ./usr/lib/libphonon.so.4.4.0

You can now run Skype using the command

 LD_LIBRARY_PATH=/home/user/skype-4.1/:$LD_LIBRARY_PATH /home/user/skype-4.1/skype

where “user” needs to be replaced with your Linux username and “skype-4.1” needs to be replaced with the name of the Skype folder you created in step 2. For instance:

LD_LIBRARY_PATH=/home/jblanco/skype-4.1.0.20/:$LD_LIBRARY_PATH /home/jblanco/skype-4.1.0.20/skype

Source: https://support.skype.com/m/en/faq/FA12120/getting-started-with-skype-for-linux#2.1

Copia del grub en un USB

Descargar desde consola

¿Cómo sacar una copia del grub en un USB y poder arrancar desde el en caso de desastre?

sudo grub-install --root-directory=/media/USB --no-floppy /dev/sdc

Teniendo en cuenta que mi Usb se ha montado en /media/USB y que el dispositivo es /dev/sdc (es decir el tercer disco).
En vuestro caso si solo disponeis de un disco interno (sda), el usb se corresponderá con sdb

Todo ello se puede comprobar haciendo un

sudo fdisk -l

para determinar los dispositivos de almacenamiento que tenéis.

Sólo queda copiar el menu.lst

sudo cp /boot/grub/menu.lst /media/USB/boot/grub/

Ahora podéis editar ese menu.lst para que comprobéis que es diferente al del disco interno, podéis por ejemplo añadirle al title la cadena (USB) o cambiar los colores.

sudo gedit /media/USB/boot/grub/menu.lst

Para arrancar desde usb, es posible que tengáis que entrar en la BIOS y habilitar el arranque de estos dispositivos.

Para ello botear la máquina y establecer el orden de boteo por ejemplo así:

CD/DVD

USB

HDD

Feliz arranque!!!

Como sincronizar un disco USB

Montar una ISO en Linux

Podemos implementar un “maletín” en un disco USB, con el comando rsync, que permite sincronizar el contenido de 2 carpetas de dos medios diferentes.

Ideal para llevar encima lo del instituto o la oficina.

1) Cuando nos vamos a casa, recogemos lo del disco duro del instituto al USB

rsync -r -t -v –progress –modify-window=1 -s origen destino

Notas previas:

  • Usuario: aquí has de poner el usuario con el que inicias sesión en el instituto
  • Datos: esta es la carpeta donde se supone guardas todo lo que trabajas en el instituto.
  • USB: aquí has de poner el nombre (label) de tu dispositivo USB
  • Se recomienda usar la tecla TAB para autocompletar las rutas y evitar errores.

Por ejemplo:

rsync -r -t -v –progress –modify-window=1 -s /home/usuario/Datos/ /media/usuario/USB/Datos/

  • origen=/home/usuario/Datos/
  • destino=/media/usuario/USB/Datos/

2) Llegamos al instituto y volcamos en nuestra carpeta Datos el contenido que traemos de casa

rsync -r -t -v –progress –modify-window=1 -s origen destino

Por ejemplo:

rsync -r -t -v –progress –modify-window=1 -s /media/usuario/USB/Datos/ /home/usuario/Datos/

  • origen=/media/usuario/USB/Datos/
  • destino=/home/usuario/Datos/

3) Podemos hacer un script casa2insti.sh personalizado con variables:

#!/bin/bash

#sistema de copias

origen=/media/usuario/USB/Datos/

destino=/home/usuario/Datos/

rsync -r -t -v –progress –modify-window=1 -s $origen $destino

Para ejecutarlo:

bash ./casa2insti.sh

4) También podemos hacer el script insti2casa.sh:

#!/bin/bash

#sistema de copias

origen=/home/usuario/Datos/

destino=/media/usuario/USB/Datos/

rsync -r -t -v –progress –modify-window=1 -s $origen $destino

Lo ejecutaríamos así:

bash ./insti2casa .sh

Como configurar tu VPS para web y correo en 2 horas

Como instalar las fuentes típicas de Windows en Ubuntu

Si te estás acostumbrando a GNU/Linux y trabajas con OpenOffice.org también en tu antigua plataforma Windows, te serán útiles tener instaladas las fuentes típicas que hasta ahora utilizabas en tus documentos (Arial, Verdana, …), mediante el paquete msttcorefonts.

La forma más sencilla de instalar estas fuentes (Arial, Times New Roman, etc) en ubuntu es instalar el paquete “msttcorefonts” desde el gestor de paquetes Synaptic.

O bien desde consola con la orden:

#apt-get install msttcorefonts

 

Recuerda que # indica ejecutar como root o mediante el modificador sudo.

$sudo apt-get install msttcorefonts

Copia de seguridad MySQL

CREATE USER 'usu'@'localhost' IDENTIFIED VIA mysql_native_password;

Para copiar todas (-A –all-databases) las bases de datos usando el usuario “root” y solicitando la password de forma iterativa (-p):

mysqldump --user=root -p -A > mysqlcopia-todas.sql

El resultado es un fichero “mysqlcopia-todas.sql” en la carpeta donde nos encontrábamos.

Si queremos que las copias se guarden en la carpeta ” /root/copias/  ” y que se incluya la fecha en el nombre de archivo (usando el operador grave con el comando date):

mysqldump --user=root -p -A > /root/copias/mysqlcopia-all-`date +%F`.sql

Pero y si solo queremos cierta base de datos? En ese caso una simple modificación del comando anterior :

mysqldump --user=root -p ciertaBD > /root/copias/`date +%F`-ciertaBD.sql

Siendo ciertaBD el nombre de la que queremos hacer el backup. En este último caso he insertado la fecha como a mi me gusta (al principio), de esta forma si hacemos un listado ordenado las veremos de forma cronológica.

Espero que os sea de utilidad, en ese caso, como seguro les será útil a más personas, compartid en vuestras redes.

Hasta la próxima.

Powered by sospedia.net and joseblanco.pro

Sobre software y “diretes”

Como encontrar archivos en los enormes discos duros de Backup mediante find

Software libre o gratuito

  • No uséis Windows Media “prayer”, usad VLC es gratuito y multiplataforma.
  • No utilices Partition Magic, utiliza Gparted que es free&linux.
  • No piratees Nero ni Alcohol, para eso tienes InfraRecorder (sí, gratis)
  • Catálogo de Soft Libre
  • Para clonar equipos usa Clonezilla, Norton ghost no da la talla y es propietario.
  • No piratees PageMaker, utiliza Scribus que es gratuito.
  • OpenOffice.org y LibreOffice.org, Suites Ofimáticas gratuitas sin nada que envidiar a la de Microsoft.

Software para las Aulas

Algunas recomendaciones más

  • Utilizar Firefox en lugar de IE. Lo podéis descargar en la Red y es gratuito:
  • Utilizar Thunderbird en lugar de Outlook Express. Lo podéis descargar en la Red y es gratuito:

Alguno de los programas mencionados no sólo son gratuitos, además son de código abierto.

El porqué?

Por poner un ejemplo:

  • En el corazón de Thunderbird y de Firefox hay un proceso de desarrollo de código abierto conducido por miles de apasionados y experimentados desarrolladores y expertos en seguridad repartidos por todo el mundo. La comunidad de expertos ayudan a que sean más seguros y que se actualicen rápidamente.
  • El Software propietario depende de una o más empresas privadas, y un empleado de una empresa privada esta soportando presión y puede estar descontento.

Colorear la consola en Debian

Debian based systems

Editamos el fichero .bashrc

Quitamos los comentarios (almohadillas) a estas líneas:

export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

 

Volvemos a iniciar la sesión y listo:


root@server:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

Instalar Oracle Java en Debian

Descargar desde consola

En este artículo vamos a ver como instalar Oracle Java desde los repositorios de http://www.webupd8.org/
Lo veremos tanto para Java version 7 como Java version 8.

Instalar Java 7 JRE y JDK

Paso 1: Añadimos el siguiente repositorio:
sudo add-apt-repository ppa:webupd8team/java

Está a punto de añadir el siguiente PPA a su sistema:
 Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.

More info (and Ubuntu installation instructions):
- for Oracle Java 7: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

Oracle Java 9 (for both Ubuntu and Debian): http://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html

For JDK9, the PPA uses standard builds from: https://jdk9.java.net/download/ (and not the Jigsaw builds!).

Important!!! For now, you should continue to use Java 8 because Oracle Java 9 is available as an early access release (it should be released in 2016)! You should only use Oracle Java 9 if you explicitly need it, because it may contain bugs and it might not include the latest security patches! Also, some Java options were removed in JDK9, so you may encounter issues with various Java apps. More information and installation instructions (Ubuntu / Linux Mint / Debian): http://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html
 Más información: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Pulse [Intro] para continuar o ctrl-c para cancelar

Al dar al INTRO obtenemos si todo fue bien una salida como esta:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.j7DjPsPOoi --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
gpg: solicitando clave EEA14886 de hkp servidor keyserver.ubuntu.com
gpg: clave EEA14886: «Launchpad VLC» 1 firma nueva
gpg: Cantidad total procesada: 1
gpg:         nuevas firmas: 1

 

Paso 2: Actualizamos:

sudo apt-get update

 

Paso 3: Instalamos el instalador de Java:
sudo apt-get install oracle-java7-installer

Paso 4: Comprobamos la versión activa:
java -version

jblanco@tochox ~ $ java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

 

Paso 5: Si no es la deseada la cambiamos

sudo update-java-alternatives -s java-7-oracle

jblanco@tochox ~ $ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

 

Paso 6: Registrar las Environment variables:

sudo apt-get install oracle-java7-set-default

Y esto es todo, si decidieras volver al OpenJDK, puedes desinstalar Java Installer:

sudo apt-get remove oracle-java7-installer

Y volver a seleccionar la versión que deseas mediante update-java-alternatives.

Instalar Java 8 JRE y JDK

Hay que añadir 2 repositorios de forma manual, o editando el fichero sources.list o tu herramienta preferida.
Para hacerlo de forma manual lanza estos dos comandos como usuario root:

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list

Ahora para instalar la Key lanza este otro:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

Actualiza la caché de paquetes:
apt-get update

Y finalmente instala Java 8:
apt-get install oracle-java8-installer

Si tienes problemas en establecer Java 8 como la runtime y sdk por defecto puedes instalar este otro paquete:
sudo apt-get install oracle-java8-set-default

Para aceptar la licencia de Oracle, aunque durante la instalación ya lo hicimos:
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

Y esto si que ya es todo, espero que os sirva!

 

iredmail.org añadir una redirección

Si tenemos gestionado el correo con iredmail.org, la versión community, la forma de gestionar redirecciones pasa por la inserción de registros en la tabla alias de MySQL de la base de datos vmail. También se hace uso de esta tabla al crear una cuenta ‘catch all’ o al crear alias de buzones de correo.

En este caso pretendemos que cualquier email que llegue a postmaster@dominio.com lo recibamos en nuestro correo personal, el que llevamos en el móvil por ejemplo, de esta forma tenemos un mecanismo que nos permite monitorizar cosas estemos donde estemos.

De nuevo hay que tocar la tabla ‘alias‘ pero en este caso actualizaremos la fila correspondiente al correo postmaster@dominio.com que inicialmente, dado que es una cuenta física o real, estará así:

`vmail`.`alias` (`address` , `goto`)===('postmaster@dominio.com','postmaster@dominio.com')

Es decir, mismo valor, el buzón real, en los campos address y goto.

El UPDATE a realizar sería este (sustituye miemailpersonal@gmail.com y postmaster@dominio.com por los valores correctos):

UPDATE `vmail`.`alias` SET `goto` = 'miemailpersonal@gmail.com, postmaster@dominio.com' WHERE `address` = 'postmaster@dominio.com';

Es importante el ORDEN, que sea así y no al revés: ‘miemailpersonal@gmail.com, postmaster@dominio.com’

La dirección de correo electrónico a la que enviaremos una copia del correo electrónico se inserta como la primera en el campo ‘goto’, seguida de una coma y por la dirección del buzón original.
Esta configuración mantiene los correos electrónicos recibidos en el buzón real del servidor y envía una copia de él a la dirección de correo electrónico de reenvío.

Espero que os sea útil!

iredmail.org añadir una dirección catch all

Si tenemos gestionado el correo con iredmail.org, la versión community, la forma que tenemos de hacer una cuenta ‘catch all‘ es modificando de nuevo como en este otro artículo donde añadíamos una redirección la tabla alias añadiendo o modificando registros.

Un buzón ‘catch all‘ se encarga de recibir todo el correo de un dominio, por lo tanto el campo `address` no es una dirección de email, sino un dominio:

INSERT INTO `vmail`.`alias` (`address` , `goto` , `name` , `domain`, `active`)
VALUES ('cursosprogramacionweb.com', 'postmaster@cursosprogramacionweb.com', 'Información sobre cursosprogramacionweb.com', 'cursosprogramacionweb.com', '1');

 

De esta forma redireccionamos el correo de cualquierbuzon@cursosprogramacionweb.compostmaster@cursosprogramacionweb.com

Igual os interesa este otro artículo donde vemos cómo añadir un alias a una dirección de email.

Espero que este post haya sido de utilidad!

iredmail.org añadir un alias

Si tenemos gestionado el correo con iredmail.org, la versión community, la forma que tenemos de gestionar los alias es mediante la inserción de filas en la tabla alias de MySQL de la base de datos vmail, como en este otro artículo donde añadimos una redirección.

INSERT INTO `vmail`.`alias` (`address` , `goto` , `name` , `domain` , `active`) VALUES (‘info@tudominio.com’, ‘postmaster@tudominio.com’, ‘Información’, ‘tudominio.com’, ‘1’);

Sustituye:

  • tudominio.com
  • DESDE campo ‘address‘: info@
  • HACIA campo ‘goto‘: postmaster@

Imaginad que tenemos el dominio cursosprogramacionweb.com, con un solo buzón real postmaster@cursosprogramacionweb.com, queremos que los “buzones virtuales” info@ y abuse@ redireccionen a postmaster@, con estos 2 INSERT’s:


INSERT INTO `vmail`.`alias` (`address` , `goto` , `name` , `domain`, `active`)
VALUES ('abuse@cursosprogramacionweb.com', 'postmaster@cursosprogramacionweb.com', 'Email abuse del dominio cursosprogramacionweb.com', 'cursosprogramacionweb.com', '1');


INSERT INTO `vmail`.`alias` (`address` , `goto` , `name` , `domain`, `active`) VALUES ('info@cursosprogramacionweb.com', 'postmaster@cursosprogramacionweb.com', 'Información sobre cursosprogramacionweb.com', 'cursosprogramacionweb.com', '1');

Estamos haciendo que cualquier correo dirigido a info@ o bien @abuse, lo reciba “físicamente” el buzón real postmaster@

Si aún quieres más puede que te interese saber cómo añadir una dirección de email ‘catch all’, que recoja todo el correo de un dominio.

Saludos!

Mover la carpeta Imágenes a otro disco

Mover la carpeta Imágenes a otro disco

Podemos mover las carpetas asociadas a nuestro perfil de usuario en Windows, simplemente:

  1. haciendo botón derecho sobre la carpeta,
  2. después en Propiedades,
  3. y por último en la pestaña Ubicación, seleccionando otra, y moviendo los archivos que hubiese en la original.

Otras carpetas que podemos mover a otra ubicación o disco son:

Mover la carpeta Música a otro disco

Mover la carpeta Música a otro disco

Podemos mover las carpetas asociadas a nuestro perfil de usuario en Windows, simplemente:

  1. haciendo botón derecho sobre la carpeta,
  2. después en Propiedades,
  3. y por último en la pestaña Ubicación, seleccionando otra, y moviendo los archivos que hubiese en la original.

Otras carpetas que podemos mover a otra ubicación o disco son:

Mover la carpeta Vídeos a otro disco

Mover la carpeta Vídeos a otra ubicación o disco

Podemos mover las carpetas asociadas a nuestro perfil de usuario en Windows, simplemente:

  1. haciendo botón derecho sobre la carpeta,
  2. después en Propiedades,
  3. y por último en la pestaña Ubicación, seleccionando otra, y moviendo los archivos que hubiese en la original.

Otras carpetas que podemos mover a otra ubicación o disco son:

Mover la carpeta Descargas a otro disco

Mover la carpeta Descargas a otra ubicación o disco

Podemos mover las carpetas asociadas a nuestro perfil de usuario en Windows, simplemente:

  1. haciendo botón derecho sobre la carpeta,
  2. después en Propiedades,
  3. y por último en la pestaña Ubicación, seleccionando otra, y moviendo los archivos que hubiese en la original.

Otras carpetas que podemos mover a otra ubicación o disco son:

Mover la carpeta Documentos a otro disco

Podemos mover las carpetas asociadas a nuestro perfil de usuario en Windows, simplemente:

  1. haciendo botón derecho sobre la carpeta,
  2. después en Propiedades,
  3. y por último en la pestaña Ubicación, seleccionando otra, y moviendo los archivos que hubiese en la original.

Otras carpetas que podemos mover a otra ubicación o disco son:

iptables y fail2ban

Montar una ISO en Linux

Rápido:

iptables -L -n --line-numbers

Con resolución de nombres (lento):

iptables --list --line-numbers

Hacer persistentes los baneos de fail2ban

Hay que modificar 2 ficheros de acciones:

  • /etc/fail2ban/action.d/iptables.conf
actionstart = iptables -N fail2ban-<name>
 iptables -A fail2ban-<name> -j RETURN
 iptables -I <chain> -p <protocol> --dport <port> -j fail2ban-<name>
 cat /etc/fail2ban/ip.blacklist|grep <name> | cut -f2 -d":" | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
 echo <name>:<ip> >> /etc/fail2ban/ip.blacklist
actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
 echo <name>:<ip> >> /etc/fail2ban/ip.blacklist.unbaned2

  • /etc/fail2ban/action.d/iptables-multiport.conf
actionstart = iptables -N fail2ban-<name>
 iptables -A fail2ban-<name> -j RETURN
 iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
 cat /etc/fail2ban/ip.blacklist|grep <name> | cut -f2 -d":" | while read IP; do iptables -I fail2ban-<name> 1 -s $I$
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
 echo <name>:<ip> >> /etc/fail2ban/ip.blacklist
actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
 echo <name>:<ip> >> /etc/fail2ban/ip.blacklist.unbaned

 

Los ficheros ip.blacklistip.blacklist.unbaned se pueden crear al principio con touch, ya irán creciendo.

touch etc/fail2ban/ip.blacklist
touch etc/fail2ban/ip.blacklist.unbaned

 

El formato que tendrán servicio:<dirección IP>, por ejemplo:

postfix:X.133.82.52
apache-postflood:X.154.251.120

 

Siguiendo con fail2ban, en el fichero jail.local me gusta modificar las acciones para recibir correos electrónicos:

%(mta)s[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]

 

Por ejemplo en mi jail.local, para la sección ssh tengo esto:

[sshd]
enabled = true
filter = sshd
action = iptables-allports
 %(mta)s[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
logpath = /var/log/auth.log

[sshd-ddos]
enabled = true
filter = sshd-ddos
action = iptables-allports
 %(mta)s[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
logpath = /var/log/auth.log

 

La variable destemail se puede definir en la sección DEFAULT, y puede ser cualquier dirección de correo:

[DEFAULT]
...
destemail = postmaster@dominio

 

Me gusta añadir estas configuraciones al final del jail.local:

[apache]
enabled = true

[apache-noscript]
enabled = true

[apache-overflows]
enabled = true

[apache-phpmyadmin]
enabled = true
port = http,https
filter = apache-phpmyadmin
logpath = /var/log/apache2/error.log
maxretry = 3

[apache-postflood]
enabled = false
port = http,https
filter = apache-post
action = %(action_mw)s
logpath = /var/log/apache2/access.log
findtime = 10
maxretry = 10

[apache-badbots]
enabled = true
# Ban hosts which agent identifies spammer robots crawling the web
# for email addresses. The mail outputs are buffered.
port = http,https
filter=apache-badbots
logpath = /var/log/apache2/access.log
bantime = 172800
maxretry = 1

 

Para ello además necesitas estos 3 filtros:

apache-post.conf

#
#
# $Revision: 1 $
#
[Definition]
# Option: failregex
# Notes.: Regexp to catch known spambots and software alike. Please verify
# that it is your intent to block IPs which were driven by
# abovementioned bots.
# Values: TEXT
#
failregex = ^<HOST> -.*"POST.*
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

apache-phpmyadmin.conf

# Fail2Ban configuration file
#
# Bans bots scanning for non-existing phpMyAdmin installations on your webhost.
#
# Author: Gina Haeussge
#
 
[Definition]
 
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2
 
# Option: failregex
# Notes.: Regexp to match often probed and not available phpmyadmin paths.
# Values: TEXT
#
failregex = [[]client <HOST>[]] File does not exist: %(docroot)s/(?:%(badadmin)s)
 
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

apache-null.conf

#
# Auteur : Joël LE CORRE - Sublimigeek -
# Créé le : 18/10/2012 - Modifié le : 21/10/2012
#

#############################################################################
# Fichier de configuration Fail2ban #
# Jail permettant de blacklister les adresses IP des machines scannant #
# le serveur Web Apache2 via les requêtes "^null$" #
#############################################################################

[Definition]
# Format de la requête à bloquer avec Fail2ban
# XX.XX.XX.XX - - [19/Oct/2012:08:34:23 +0200] "-" 408 0 "-" "-"

# Regex parsant les logs du serveur
failregex = ^<HOST> - - (.*) "-" 408 0 "-" "-"

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
ignoreregex =


Otros proyectos en los que colaboro

Páginas en las que colaboro

Antivirus y anti rootkits para GNU/Linux

clamav

Si pensáis que no hay virus, o malware en general para Linux estáis equivocados, extensible a MAC OS X que desciende de Linux BSD.

Sobre todo en servidores Web, Mail y otros servicios que están expuestos a continuos ataques, posiblemente de lamers utilizando Kali, pero basta con que encuentren un software desactualizado para el que haya exploit conocido, para que os revienten el servidor, la web o lo que sea. Pero también es MUY recomendable que instaléis y utilicéis anti-malwares en vuestros sistemas de escritorio Linux-Based

Yo utilizo como antivirus clamav, que en el caso de servidores instalo como demonio, que queda residente y programo vía cron tanto el update (freshclam) como el escaneo bajo demanda.

Para la parte de anti rootkits utilizo hace años rkhunter, pero si os lleváis algún susto instalar un segundo para que no sudéis en caso de un posible falso positivo, como pasa en el proceso init de algunas distros Linux como Mint, sobre todo si no os habéis preocupado primero de generar la base de datos para que el motor anti rootkits detecte los cambios en archivos (por ejemplo tras una actualización de wget o cualquier otro paquete).

La alternativa que suelo utilizar es chkrootkit.

malware
malware

Un ejemplo de salida, sobre todo en los correos, es el caso de Malware basado en Javascript que viene en muchos emails hoy día como adjuntos:

/ruta/a/mail/nutsanddelights.com/t/i/e/tienda-2014.08.26.21.58.41/Maildir/.Junk/cur/1463675530.M413824P26162.mail,S=9382,W=9536:2,RSa: Win.Malware.Locky-20318 FOUND
/ruta/a/mail/nutsanddelights.com/t/i/e/tienda-2014.08.26.21.58.41/Maildir/.Junk/cur/1464204747.M500275P32241.mail,S=86215,W=87424:2,Sa: Doc.Dropper.Agent-1422729 FOUND
/ruta/a/mail/nutsanddelights.com/t/i/e/tienda-2014.08.26.21.58.41/Maildir/.Junk/cur/1459277416.M483874P30874.mail,S=6104,W=6210:2,Sa: Js.Trojan.Nemucod-2 FOUND

Al final produce una salida resumen, que no está mal en el caso del escaneo programado por cron, que os enviéis por email:

———– SCAN SUMMARY ———–
Known viruses: 4539267
Engine version: 0.99
Scanned directories: 35647
Scanned files: 96923
Infected files: 17
Data scanned: 13017.19 MB
Data read: 35591.53 MB (ratio 0.37:1)
Time: 1041.575 sec (17 m 21 s)

También es posible que encontréis en particiones NTFS virus tanto para Windows como para el propio Linux, troyanos, backdoors, son muy frecuentes en software de dudosa procedencia, o herramientas de seguridad:

/media/scripting-linux/iptables/Linux_Firewalls.pdf: Html.Phishing.Bank-184 FOUND
/media/estimasol/estimasol.exe: Win.Adware.Rootkit-11686 FOUND
/home/jose/Debian7x/Trabajo/moodledata/1/backupdata/copia_de_seguridad-ciclos-17102013-1136.zip: Win.Trojan.Kazy-6092 FOUND
/home/jose/Debian7x/Trabajo/moodledata/1/Software/unlocker1.8.6.exe: Win.Trojan.Agent-36206 FOUND
/home/jose/Debian7x/Trabajo/moodledata/1/Software/EliPen.exe: Win.Trojan.Kazy-6092 FOUND
/home/jose/Escritorio/mover/SoftonicDownloader_para_gimp.exe: Win.Trojan.Softonicdownloader-1 FOUND
/home/jose/Escritorio/mover/virusmails: Legacy.Trojan.Agent-1388588 FOUND
/usr/local/share/multisystem/EFI/BOOT/BOOTx64.EFI: Win.Trojan.Agent-1428496 FOUND
/usr/lib/linuxmint/mintWifi/drivers/i386/Dell_bcmwl5/bcmwl5.sys: Win.Trojan.Agent-1427312 FOUND

Un ejemplo de salida típico de rkhunter es este:

System checks summary
=====================

File properties checks…
Required commands check failed
Files checked: 139
Suspect files: 1

Rootkit checks…
Rootkits checked : 303
Possible rootkits: 0

Applications checks…
All checks skipped

The system checks took: 37 seconds

All results have been written to the log file: /var/log/rkhunter.log

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Como bien dice ahí, en caso de algún hallazgo, sobre todo si lo ejecutáis en modo silencioso, hay que mirar el log.

Instalación del antivirus clamav

Para instalar la herramienta clamav, en sistemas Debian based basta con primero actualizar los repositorios, y aconsejable el sistema, para ello siempre tengo a mano un script como este:

cat actu.sh
aptitude update
aptitude upgrade

A continuación instalamos clamav:

aptitude install clamav

Y como siempre tengo un script:

cat scripts/scanear.sh
if [ $# -eq 1 ];then
freshclam
fi
clamscan -r –infected –log=/root/clamscan-`date +%d-%m-%y.log` –exclude-dir=^/sys\|^/proc\|^/dev /

El condicional lo utilizo simplemente como un flag para actualizar o no las bases de firmas.

virus
virus

Instalar y utilizar rkhunter

Rkhunter (Rootkit Hunter) es una herramienta que detecta rootkits, backdoors y exploits locales mediante la comparación de los hashes de ficheros importantes con su firma correcta en una base de datos en línea, buscando en directorios conocidos: permisos incorrectos, archivos ocultos, cadenas sospechosas en módulos del kernel, etc.

La instalación es sencilla, lo mismo que antes, primero conviene actualizar el sistema o al menos los repos.

aptitude install rkhunter

Tras la instalación tal y como dice la web oficial deberíamos crear una base de datos del sistema de archivos, para que en las próximas comprobaciones de rootkits no salten alarmas sin necesidad con la opción propupd:

rkhunter –update
rkhunter —propupd

Y como siempre para las cosas que uso frecuentemente tengo un script, las opciones son variadas, pero personalmente utilizo estas:

cat scripts/rk.sh
#!/bin/bash
echo “Rkhunter”
rkhunter –update
rkhunter -c –sk

Por último, suelo subir los ficheros a virustotal, genial herramienta de un malagueño que tristemente, o a lo mejor no para el equipo anterior, Google ha comprado.

virustotal
virustotal

Espero que os sirva, y sobre todo “no os asustéis” hay malware en Linux!

Si queréis salir del modo paranoia leed un poco más en esta web!

Se me olvidaba … compartid xD

ploff

 

Repositorios Debian Wheezy

deb http://ftp.es.debian.org/debian/ wheezy main contrib non-free universe
deb-src http://ftp.es.debian.org/debian/ wheezy main contrib non-free universe

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

# wheezy-updates, previously known as ‘volatile’
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free universe
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free universe


deb http://ftp.es.debian.org/debian/ wheezy main
deb-src http://ftp.es.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as ‘volatile’
deb http://ftp.es.debian.org/debian/ wheezy-updates main
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main

A new node couldn’t be inserted because one with the same name exists

Descargar desde consola

VERR_CFGM_NODE_EXISTS

Al exportar una máquina y después importarla a través de un fichero ova puede dar este error que podeis solucionar editando el XML de la máquina en cuestión o simplemente deshabilitando el soporte USB.

Arrancad una vez hecho esto y si necesitáis utilizar soporte USB apagadla y después de activarlo os debería funcionar todo a la perfección

Saludos

Cambiar la contraseña a root en una instalación lamp

CREATE USER 'usu'@'localhost' IDENTIFIED VIA mysql_native_password;

/opt/lampp/bin/mysqladmin --user=root password "patata"

Donde patata es mi nueva contraseña.

Con el comando mysql también podemos hacerlo:

/opt/lampp/bin/mysql --user=root --password=patata

 

Sintaxis adicionales:

mysqladmin --user=root password "newpassword"
mysqladmin --user=root --password=oldpassword password "newpassword"

 

Y esto es todo!

sudo apachectl fullstatus www-browser: not found

Servidor Web Apache

sudo apachectl fullstatus

/usr/sbin/apachectl: 101: /usr/sbin/apachectl: www-browser: not found
'www-browser -dump http://localhost:80/server-status' failed.
Maybe you need to install a package providing www-browser or you
need to adjust the APACHE_LYNX variable in /etc/apache2/envvars

Simplemente instalamos un navegador de consola como links:

root@server:/var/www/webs/# aptitude install links
The following NEW packages will be installed:
  links 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 420 kB of archives. After unpacking 1,308 kB will be used.
Get: 1 http://ftp.debian.org/debian/ jessie/main links amd64 2.8-2+b3 [420 kB]
Fetched 420 kB in 0s (2,816 kB/s)
Selecting previously unselected package links.
(Reading database ... 43835 files and directories currently installed.)
Preparing to unpack .../links_2.8-2+b3_amd64.deb ...
Unpacking links (2.8-2+b3) ...
Processing triggers for mime-support (3.58) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up links (2.8-2+b3) ...

Y repetimos el comando:

root@server:/var/www/webs/# sudo apachectl fullstatus
   Apache Server Status for localhost (via 127.0.0.1)
   Server Version: Apache/2.4.10 (Debian) OpenSSL/1.0.1k mod_wsgi/4.3.0
   Python/2.7.9
   Server MPM: prefork
   Server Built: Nov 28 2015 14:05:48
     ----------------------------------------------------------------------
   Current Time: Saturday, 19-Mar-2016 22:49:01 CET
   Restart Time: Friday, 18-Mar-2016 17:20:20 CET
   Parent Server Config. Generation: 2
   Parent Server MPM Generation: 1
   Server uptime: 1 day 5 hours 28 minutes 41 seconds
   Server load: 0.00 0.01 0.05
   Total accesses: 3375 - Total Traffic: 85.9 MB
   CPU Usage: u9.66 s.8 cu0 cs0 - .00986% CPU load
   .0318 requests/sec - 848 B/second - 26.1 kB/request
   1 requests currently being processed, 9 idle workers...  

Hasta la próxima!