sábado, 29 de septiembre de 2018

screen

Parece una tontería, pero cuanto mas aplico conocimientos de informática/programación a cosas que me apasionan como los videojuegos, mas aprendo. Hace tiempo trasteaba con el CheatEngine trucando/rompiendo juegos de navegador y algún otro de PC como el Blur. En este caso estoy trasteando con un server de Minecraft. Nada mas ejecutar el jar en el servidor comienza a soltar de el log de lo que va construyendo, que errores tiene el servidor y mas eventos. Obviamente no voy a estar conectado con el Putty eternamente y es que si cierro sesión el servidor sigue corriendo, pero al volver a conectar mediante Putty pierdo todo el hilo del log. Para eso está el comando "screen". Antes de ejecutar el jar del servidor lo aplicamos y mediante un identificador podremos volver a recuperar el hilo del log. yum install screen screen -dmS log_minecraft java -Xmx1024M -Xms1024M minecraft.jar #Para ejecutar la aplicación y poder usar mas tarde screen screen -r log_minecraft #Para recuperar el log en screen Para salir de un log el atajo es "Ctrl"+"a" y tecla "d". Supongo que lo que se podía usar con nohup se podrá usar con screen. Tengo que experimentar con descargas largas o procesos en background.

sábado, 8 de septiembre de 2018

CertUtil

Hoy retomé un cursillo de seguridad informática de Udemy.
Para ello necesitaba una imagen de Kali Linux y me llamó la atención el fichero de hash que traía consigo.
Me decidí a comprobar que ese hash era correcto y si había forma sencilla de hacerlo.
Encontré programas al respecto pero no me apetecía instalar uno y así es como llegué a este comando.

Y aquí el comando con el resultado:

Basicamente: CertUtil -hashfile [ruta del fichero] [codificación MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512]

viernes, 22 de septiembre de 2017

CentOS + Apache

Seguimos con el servidor.
Objetivo: instalar el servicio de apache para poder publicar páginas web en html.

yum install httpd -y  # Instalamos Apache
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak #Copia de seguridad de la configuracion

nano /etc/httpd/conf/httpd.conf #Yo uso nano para editar ficheros, usa el que quieras

Para buscar las siguientes lineas puedes buscar palabras con Ctrl+W en nano.
1.- Linea de ServerAdmin (nombre del administrador)
ServerAdmin root@vps423071

2.- Linea ServerName (nombre del servidor)
ServerName www.vps423071.com

3.- Options Indexes FollowSymLinks (de /var/www/html) (quitar la navegación por directorios)
Options FollowSymLinks

4.- AllowOverride None (de /var/www/html) (controla las directivas que se pueden poner en los ficheros .htaccess)
AllowOverride All

systemctl enable httpd      #Habilitar httpd como servicio
systemctl start httpd          #Iniciar el servicio httpd
systemctl status httpd        #Ver el estado de httpd


firewall-cmd --permanent --add-port=80/tcp   #Abrir puerto 80 tcp de forma permanente
firewall-cmd --permanent --add-port=80/udp  #Abrir puerto 80 udp de forma permanente
firewall-cmd --reload              # Reiniciar el firewall
systemctl restart httpd             # Reiniciar el servicio httpd

Ahora si vais a la IP del servidor desde un navegador debería saliros la pantalla de bienvenida.

Esta se puede eliminar añadiendo el fichero /var/www/html/index.html o editando el fichero welcome.conf:

nano /etc/httpd/conf.d/welcome.conf
Comentar  la etiqueta <LocationMatch > entera


systemctl restart httpd     # Reiniciar el servicio al hacer cambios en la configuración

Todo el html irá en el directorio /var/www/html

Para hacer una prueba rapida puedes introducir el siguiente comando que te generará un html de prueba.
echo '<html><body><h1>Hola!!!!</h1></body></html>' > /var/www/html/index.html

La siguiente publicación hablará sobre el servicio de FTP.

martes, 5 de septiembre de 2017

CentoOS 7 y OVH, problemas con el RTM (Real Time Monitoring)

Sigo sin conexión a Internet decente y tiro desde el móvil.
La forma mas fácil y económica de poder hacer pruebas y descargar todo lo que necesito es con un VPS y como igualmente lo iba a contratar, pues a darle caña.
En una de estas que estaba haciendo pruebas tuve que reinstalar el VPS y perdí el RTM. Es una forma muy visual de ver el rendimiento de la RAM, procesador y tráfico y lo quería recuperar.
Después de ir probando y leyendo foros tanto ingleses como franceses lo resumo:

Debes tener instalado el wget y descargar el instalador del rtm.
yum install -y wget
wget ftp://ftp.ovh.net/made-in-ovh/rtm/install_rtm.sh -O install_rtm.sh

A mi me daba error de "No IP from OVH network or couldn't define MRTG server! Please contact OVH support."
Solo debes abrir el instalador y comentar las siguientes lineas que están dos veces el fichero. Yo uso nano para editar y aconsejo instalarlo.
yum install -y nano
nano install_rtm.sh
#arpa=`echo "$ips" | sed "s/\./ /g" | awk '{print $3"."$2"."$1}'`;
#ip=`host -t A mrtg.$arpa.in-addr.arpa $DNSSERVER 2>/dev/null | tail -n 1 | sed -ne 's/.*[\t ]\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p'`
#if [ -z "$ip" ]; then
#  echo "No IP from OVH network or couldn't define MRTG server! Please contact OVH support."
#  exit 1;
#fi
#echo $ip > "$DIR/etc/rtm-ip"
echo "38.60.102.251" > "$DIR/etc/rtm-ip" #Mi IP es 38.60.102.32, cambia el ultimo numero por A.B.C.251

Necesitas instalar bzip2 y perl. Ahora si que puedes instalar el RTM.
yum install -y bzip2 perl
sh install_rtm.sh

Y por último autorizar rangos de IP en el firewall.
# ICMP (Ping)
# bloqueamos la petición de ping y permitimos ovh para la supervisión
/sbin/iptables -t filter -A INPUT -p icmp -j DROP

# Autorizamos nuestra IP
/sbin/iptables -A INPUT -i eth0 -p icmp --source 38.60.102.32 -j ACCEPT

# Mantenemos la posibilidad de hacer ping desde el servidor
/sbin/iptables -t filter -A OUTPUT -p icmp -j ACCEPT

# RTM y ping OVH
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 37.187.231.251 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source a2.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.184.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.185.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 92.222.186.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source 167.114.37.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.p19.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.rbx.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.sbg.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source proxy.bhs.ovh.net -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p icmp --source ping.ovh.net -j ACCEPT
/sbin/iptables -A OUTPUT -p udp --dport 6100:6200 -j ACCEPT

# Poner el inicio de IP del servidor
/sbin/iptables -A INPUT -p icmp --source 38.60.102.250 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --source 38.60.102.251 -j ACCEPT

Y con esto ya se tendría que poder volver a usar el RTM.
Hasta la próxima actualización :D

jueves, 24 de agosto de 2017

nohup

Estoy básicamente peleándome con el CentOS e intentando aprender todo lo que puedo.
Antes combinaba un poco de comandos con el escritorio de Ubuntu, Fedora, etc... Pero ahora que estoy jugando con el servidor, será por consola.
Echando un ojo a los servicios buscaba como dejar un proceso corriendo en el servidor aunque hayas acabado la sesión en el terminal.
Con el chkconfig se tendría que poder pero para dejar corriendo un comando simple veo que es liar demasiado la madeja.
Con el comando nohup se consigue exactamente lo que buscaba. Por ejemplo dejar descargando un fichero grande con el wget:
nohup wget http://ficherosenormes.com/3423f23f23

viernes, 4 de agosto de 2017

CentOS + Mono + Monodevelop

Después de pelearme con el proyecto mono voy sacando objetivos poco a poco.
El principal era cargar en un servidor linux una aplicación web ASP.NET en VB que sea sencilla.
Para instalar mono son solo unos pocos comandos:
yum install yum-utils
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos7/
yum install mono-complete
yum install xsp
yum install monodevelop
Los tienes para seguir en http://www.mono-project.com/download/
El monodevelop no se encontraba en el repositorio de CentOS 7, por lo que lo saqué del de CentOS 6.
yum-config-manager --add-repo http://download.mono-project.com/repo/centos6/
yum install monodevelop
Otro repositorio que podía ayudar es "http://jenkins.mono-project.com/repo/centos/".
Si bien antes se tenía que instalar el vbnc o el mono-vbnc ahora con tener instalado el monodevelop ya te deja ejecutar la aplicación mediante el siguiente comando en el directorio de la aplicación.:
xsp4 --port 9000

Se podrá ver en este caso la aplicación en un navegador con esta dirección: localhost:9000/default.aspx.
Ahora lo que queda es investigar las peculiaridades de ejecutar esta aplicación web en CentOS mediante mono.
La primera de la que tengo constancia es el uso de rutas con la barra "\" invertida: "/". Es muy posible que también le eche un ojo a las posibilidades que .Net Core te da de ejecutar las aplicaciones web tanto en servidores windows como linux.

miércoles, 2 de agosto de 2017

CentOS + Guest Additions

Que malo es tener un blog cuando se escasea de Internet (y es verano... y apetece una caña y no estar encerrado en casa...).
Sigo con las actualizaciones y, después de repasar el proceso de instalación y tener las ideas mas claras, hoy tocan los Guest Additions de VirtualBox.

¿Para que sirven los Guest Additions?

Principalmente los instalaré para poder tener un directorio en común entre el Windows 10 y el CentOS 7. Cosa que dará agilidad para probar el código.

Instalar el directorio compartido

Seleccionaremos en la configuración de la maquina virtual el directorio que queremos compartir.

En el propio VirtualBox, una vez iniciada la maquina virtual, tienes la opción de "Insertar imagen de CD de las Guest Additions". Esto lo que hará será montar una imagen de CD.

Y con ejecutar el programa del CD ya podría estar,  pero no.


Necesitaremos Internet para actualizar el sistema y ejecutar los comandos como administrador.
yum update
E instalaremos los archivos de cabecera y el paquete kernel-devel (son necesarios para compilar drivers).
yum install kernel-headers kernel-devel
Reiniciaremos y ya podremos ver el directorio que seleccionamos para compartir.
Pero solo tienen permisos de edición los usuarios del grupo vboxsf. Por lo que editaremos el fichero /etc/group para añadir a nuestro usuario en el grupo.


Reiniciar y ya estaría listo para usar el directorio compartido.