domingo, 26 de agosto de 2012

Cambiar y Reemplazar IPs Hardcodeadas en Linux

Este script surge de que en la empresa no teníamos implementados DNS's y en todos los servidores está hardcodeada la ip en scripts y archivos por todos lados.

Debemos reemplazar xxx.yyy.www.zzz por la ip original que tiene el equipo y aaa.bbb.ccc.ddd es la nueva ip a la cuál deseamos cambiarla:


# for i in `grep xxx.yyy.www.zzz ./* | cut -d : -f1`;
do sed "s/xxx.yyy.www.zzz/aaa.bbb.ccc.ddd/g" $i > temp;mv temp $i;
done

NOTA: Cabe aclarar que si las Ip's estan hardcodeadas en archivos fuentes y compilados, obviamente no cambiará los archivos binarios estos.


Configurar Proxy Client en Linux/Unix

Simplemente tenemos que setear la variable "http_proxy" con el comando export:

export http_proxy=http://usuario:password@ip_proxy_server:puerto_del_proxy_server

jueves, 23 de agosto de 2012

Montar partición Windows en Solaris

Habilitamos el Clienet SMB en el Unix:


# svcadm enable svc:/network/smb/server:default


Montamos en Unix en la ruta: /punt/montaje/local, donde usuario es el usuario de windows y la ip 192.168.0.100 es el equipo donde está compartida la carpeta windows:

# mount -F smbfs //usuario:password@192.168.0.100/carpeta_copartida /punto/montaje/local


Vemos las carpetas compartidas de dicho equipo:

# smbutil view //usuario@192.168.0.100
Password:
Share        Type       Comment
-------------------------------
ADMIN$       disk
C$           disk
2 shares listed from 2 available


martes, 21 de agosto de 2012

Enviar mail con Sendmail


Modificamos las siguientes variables, desde que cuenta deseamos enviar el correo, hacia quién, SMTP lo reemplazamos por la ip ó el hostname del servidor de correo, el asunto y el cuerpo del correo:

# DESDE="morsa@redes-seguridad.com.ar"
# TO="otro@redes-seguridad.com.ar"
# SMTP=mailserver
# ASUNTO="Asunto del Mensaje"
# CUERPO="Cuerpo del Mail"

Ejecutamos la línea invocando las variables seteadas previamente:

# sendEmail -q -f $DESDE -t $TO -u $ASUNTO -s $SMTP -m $CUERPO -v


jueves, 9 de agosto de 2012

DokuWiki en Debian Squeeze




Instalamos el paquete:

# apt-get install dokuwiki


Webserver para configurar automáticamente (apache2 ó lighttpd):

apache2

Purge pages on package removal?

No

Administrator password:

        El que gusten

Reconfiguramos el paquete luego de la instalación:

# dpkg-reconfigure dokuwiki


Para activar la config debe restartear el servidor web, resetearlo ahora?

        Yes

Wiki location:

/dokuwiki
Ok

Authorized network?

"local network"
Ok

Local Network:

172.16.72.0/32
Ok

Purge pages on package removal?

No

Hacer la configuración web-writable?

Yes

Dejar escribir por web los directorios de plugins?

Yes

Enable ACL? 

Yes

Replacing config file /etc/dokuwiki/local.php with new version
Replacing config file /etc/dokuwiki/apache.conf with new version
Reloading web server config: apache2apache2: apr_sockaddr_info_get() failed for ar-stf-srv-vm-xen-1-wik-1
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
.

Archivos de config:

/etc/dokuwiki


Archivos de datos:

/var/lib/dokuwiki

Accedemos a la ip por la web:

                 http://172.16.72.100/dokuwiki


miércoles, 1 de agosto de 2012

Monitoreando Informix con Nagios

Server donde está instalado el informix:

1) Creamos el script para monitoreo:

# vim /ruta-de-nagios/nagios/libexec/check_informix.sh
#!/bin/bash
sudo /ruta-de-informix/informix/bin/onstat |grep On-Line > /tmp/informix-nagios.log
if test $? -eq 0
then
echo OK - DB On-Line
/usr/bin/rm /tmp/informix-nagios.log
exit 0
else
echo CRITICAL - DB Off-Line
exit 2
fi


2) Agregar al sudo el usuario nagios para que pueda ejecutar el comando onstat, ya que no puede ejecutarlo un user sin privilegios. Editamos el sudoers:

# vim /etc/sudoers
...
# Control de Accesos
User_Alias NAGIOS = nagios
...
# Cmnd alias specification
Cmnd_Alias CMD_ONSTAT = /ruta-del-informix/informix/bin/onstat
...
# User privilege specification
NAGIOS          ALL = NOPASSWD: CMD_ONSTAT


3) Configuramos en el archivo del NRPE el comando para ejecucion del script:

# vim /ruta-del-nagios/nagios/etc/nrpe.cfg
...
command[check_stateDB]=/ruta-del-nagios/nagios/libexec/check_informix.sh

Matamos el proceso del NRPE:
# ps -efa |grep nrpe
  nagios  2945   701   0   Jul 28 ?           0:36 /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

# kill -9 2945  

Volvemos a iniciarlo:
# /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

Chequeamos con el check_nrpe que este instalado correctamente y luego chequeamos con el comando creado:

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost
NRPE "Muestra la versión instalada"

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost -c check_stateDB
OK - DB On-Line


En el Servidor donde tenemos instalado el NAGIOS:

4) Lo agregamos al nagios, editando primero el host y luego el servicio:

# vim /ruta-del-nagios/nagios/etc/hosts.cfg
...
define host{
        use                     server            ; Name of host template to use
        host_name               informix_server
        alias                   informix_server
        address                 172.16.72.100  ; Ip del informix
        }
...

# vim /ruta-del-nagios/etc/services.cfg
...
define service{
use                             generic-service
host_name                       informix_server
service_description             Informix_State
check_command                   check_nrpe!check_stateDB
}
...

5) Chequeamos que no nos devuelva ningun error, ni ningun warning y reiniciamos el nagios:

# /ruta-del-nagios/nagios/bin/nagios -v /ruta-del-nagios/nagios/etc/nagios.cfg

# /etc/init.d/nagios reload

6) Chequeamos con el check_nrpe desde la CLI del server del nagios, especificando la ip del equipo del nagios y vemos que devuelve que el estado es OK. Si luego paramos el servicio del informix y volvemos a chequearlo nos devolvera CRITICAL.

# /ruta-del-nagios/nagios/libexec/check_nrpe -H 172.16.72.100 -c check_stateDB
OK - DB On-Line

domingo, 29 de julio de 2012

No such file or directory: Digest: error generating secret: No such file or directory Configuration Failed


Luego de un corte general en el server el servicio del lampp no iniciaba.

Viendo servicios levantados de lampp:

# /etc/init.d/lampp status
Version:
Apache is not running.
MySQL is running.


Decía que el apache no estaba corriendo el servicio del apache.


Intenté iniciarlo con el siguiente comando:

# /etc/init.d/lampp stopapache
# /etc/init.d/lampp startapache


Seguía sin levantar, luego probé reiniciar todo el lampp con el siguiente comando y nada:

# /etc/init.d/lampp restart


Viendo los logs del lampp mientras se reiniciaba el servicio aparece lo siguiente:

# tail -f /opt/lampp/logs/error_log
[crit] (2)No such file or directory: Digest: error generating secret: No such file or directory
Configuration Failed


Googleando un poco llegué a que había que modificar algo en el httpd.conf, lo busqué, pero aparecían varios, fuí modificando uno por uno y probando hasta dar con el que realmente era:

# locate httpd.conf
/otra/ruta/httpd.conf
/otra/ruta/diferente/httpd.conf
/opt/lampp/etc/httpd.conf


Edité el archivo httpd.conf y comenté la siguiente línea:

# vim /opt/lampp/etc/httpd.conf
#LoadModule auth_digest_module modules/mod_auth_digest.so


Reiniciamos el lampp nuevamente y eureka, reinició:

# /etc/init.d/lampp restart


Verificamos que ahora sí está corriendo el proceso de lampp y nuetro webserver funciona correctamente:

# /etc/init.d/lampp status
Version:
Apache is running.
MySQL is running.


Si queremos iniciar sólo uno de los servicios del lampp sólo ejecutamos el comando sin ningún parámetro y vermos lo siguiente:

# /etc/init.d/lampp
Usage: /etc/init.d/lampp
        start        Start XAMPP (Apache, MySQL and eventually others)
        startapache  Start only Apache
        startssl     Start only SSL support
        startmysql   Start only MySQL
        startftp     Start only ProFTPD
        stop         Stop XAMPP (Apache, MySQL and eventually others)
        stopapache   Stop only Apache
        stopssl      Stop only SSL support
        stopmysql    Stop only MySQL
        stopftp      Stop only ProFTPD
        reload       Reload XAMPP (Apache, MySQL and eventually others)
        reloadapache Reload only Apache
        reloadmysql  Reload only MySQL
        reloadftp    Reload only ProFTPD
        restart      Stop and start XAMPP
        security     Check XAMPP's security
        php5         Activate PHP5
        php4         Activate PHP4
        phpstatus    Which version of PHP is active?
        backup       Make backup file of your XAMPP config, log and data files
        panel        Starts graphical XAMPP control panel


Luego quedó también sin iniciar el SSL, simplemente con la descripción anterior hacemos lo siguiente:

# /etc/init.d/lampp startssl