viernes, 25 de mayo de 2012

FEDORA | CENTOS | CSRF Security Error


En algún proyecto llegue a ocupar DWR,
para ayudarnos ahi en el FRONT-END a conectar algunas cosas de BACK-END, por cuestiones
de seguridad en DWR combinado con TOMCAT7.

 En el siguiente enlace podemos encontrar más información con respecto a la seguridad
de DWR.
json-is-not-as-safe-as-people-think-it-is
 La línea que necesitamos es la siguiente línea en /<TOMCAT_HOME>/conf/context.xml:
 
 <Context useHttpOnly="false">

 
Saludos
bein

lunes, 21 de mayo de 2012

UNLINK | FEDORA | CENTOS


Por esa maldita mania de tener todo en orden y hasta donde la más mínima
mancha te causa ruido quizás te interese hacer unlink a algunos enlaces que 
se quedan muertos o sin uso.

 SITUACIÓN
 Tengo una carpeta la cual por alguna razón me conviene crear un enlace, creo
un enlace simbolico:
 
   ln -s <ORIGEN> <DESTINO>
   
 PROBLEMA
 ¿Qué pasa con ese enlace si, mi carpeta destino la elimino o la renombro
o la muevo?
 El enlace esta muerto y desde consola se puede apreciar por esos colores tan 
llamativos que el SO le pone, pues procedo a eliminar el enlace:

 1. Primero valido que la carpeta <ORIGEN> no exista mas, ya sea por cambio
  de nombre o por eliminación
 2. Aplico un:

   unlink <DESTINO>
   
 Listo en enlace se ha ido y los colores rojos y el ruido de haber creado
algo que ya no me sirve, tambien ya se fue. 

 El mundo puede seguir girando tranquilo.
 
 
saludos
bein

jueves, 10 de mayo de 2012

SSH | CENTOS 6.2


     Después de instalar CENTOS, por diversas situaciones tenemos la necesidad de monitorear, ejecutar procesos, y/o simplemente manejar archivos en esa máquina, y quizás un servicio de SSH con acceso restringido para el usuario root(con esto no quiere decir que ya tenemos mucha seguridad, pero algo es algo); es decir sólo le damos acceso al usuario(s) que nosotros definamos en el archivo sshd_config.


Pasos:

1. Verificamos que el servicio de sshd este activo
 chkconfig --list
   buscando una linea similar a esta:
   
   sshd            0:desactivado 1:desactivado 2:activo 3:activo 4:activo 5:activo 6:desactivado
   
2. Validamos en que runlevel debe estar activo el servicio de sshd(en mi caso es el 5)
 cat /etc/inittab
   donde la siguiente línea me indica mi runlevel:
   
   id:5:initdefault:

3. Editar el archivo:
 vi /etc/ssh/sshd_config
   Con las siguientes líneas:
 PermitRootLogin no
 AllowUsers <usuario>
 
4. Dar de alta el servicio
 chkconfig sshd on
5. Parar el servicio:
 service sshd stop
6. Arrancar el servicio:
 service sshd start


     Después de estos pasos, lo único que nos resta es validar desde otro equipo en nuestra red LAN si ya tenemos acceso mediante un cliente SSH(PuTTY)




Saludos, bein.

martes, 10 de abril de 2012

TOMCAT : bin | JAVA : java.lang.OutOfMemoryError: Java heap space

Siguiendo con el Tema de TOMCAT, y después de 
haber instalado el TOMCAT post anterior,
lo que ire detallando post a post es la importancia de algunos archivos y la configuración de estos; esto para, un mejor desempeño de nuestro servidor de aplicaciones.
La realidad es que no se a la fecha 
el funcionamiento al 100% de todos y cada uno de los archivos que contiene el TOMCAT, pero lo que si se y he
aprendido día con día es lo que manifiesto en estas entradas, y en lo personal con eso es suficiente para 
tener un TOMCAT estable.

PROBLEMA:
 Mi TOMCAT no soporta mas de "n" conexiones se traba, no responde, etc. Una cosa es la mala programación
 y otra es que no nos metamos en archivos de configuración, en lo personal la Shell Programming, era algo que 
 siempre me causaba ruido, y simplemente veia las cosas como una caja negra y punto, me funcionaba y para que 
 quería meterme en esas tripas. Obviamente la cantidad de usuarios finales, el número de conexiones simultaneas
 son cosas con las que uno tiene que lidiar día con día.

NOTA Windows xp / windows 7:
 Apache TOMCAT viene configurado por default para tomar los siguientes valores
 --JvmMs 128 --JvmMx 256 (Línea 128)
 Esto es en el archivo service.bat ubicado en la carpeta bin del apache-tomcat; donde literalmente esta
 destinando hasta 256 Mb. de memoria RAM para el TOMCAT
 
NOTA Linux(Centos):
 Aquí, como estamos en GNU/Linux tenemos que editar a mano el archivo catalina.sh con las siguientes lineas:
 
#!/bin/sh
JRE_HOME="/usr/local/jdk1.6.0_30/jre"
JAVA_OPTS=" -server "
export JAVA_OPTS
CATALINA_OPTS="-Xmn256M -Xms512M -Xmx1024M -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:MaxPermSize=128m"


SOLUCIÓN

 Windows
  Modificar los siguientes datos en el archivo service.bat:
  --JvmMs 128 --JvmMx 256 (Línea 128) Por Default
  Otros valores para ir probando
  --JvmMs 256 --JvmMx 512
  --JvmMs 512 --JvmMx 768
  --JvmMs 768 --JvmMx 1024
 
  Si lo notan son valores incrementados a razón de 256 siempre siendo multiplos de 2^n
  
 Linux
  Modificar los siguientes datos en el archivo catalina.sh:
  CATALINA_OPTS="-Xmn256M -Xms512M -Xmx1024M -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:MaxPermSize=128m"
  
  
Aquí ya sólo resta que hagan pruebas y visualicen en el tomcat manager

viernes, 16 de marzo de 2012

SQL SERVER 2008 | STORE | ERROR | Ad Hoc Distributed Queries

Como gestor de base de datos por restricciones de usuario estoy utilizando:
  
--------------------------------------------------------------------------
Microsoft SQL Server Management Studio      10.50.1617.0
Microsoft Data Access Components (MDAC)      6.1.7601.17514
Microsoft MSXML      3.0 4.0 6.0 
Microsoft Internet Explorer      9.0.8112.16421
Microsoft .NET Framework      2.0.50727.5448
Sistema operativo      6.1.7601
--------------------------------------------------------------------------

 ¿Y esto que?
 Pues por la necesidad de crear y ejecutar un store procedure, al ejecutarlo
la respuesta es:

Mens. 15281, Nivel 16, Estado 1, Línea 1
SQL Server bloqueó el acceso a STATEMENT 'OpenRowset/OpenDatasource' del componente
'Ad Hoc Distributed Queries' porque este componente está desactivado como parte de 
la configuración de seguridad de este servidor. Un administrador del sistema puede 
habilitar el uso de 'Ad Hoc Distributed Queries' mediante sp_configure. Para obtener 
más información acerca de cómo habilitar 'Ad Hoc Distributed Queries', vea el tema 
sobre la configuración de área expuesta en los Libros en pantalla de SQL Server.


 ¿Qué hacer ante esto?
 Hay que habilitar 'Ad Hoc Distributed Queries', para hacer esto hay que ejecutar
 el siguiente <a href="http://es.wikipedia.org/wiki/Snippet">snippet</a> en la ventana de consultas del Management Studio:
 
sp_configure 'show advanced options',1
reconfigure with override
go
sp_configure 'Ad Hoc Distributed Queries',1
reconfigure with override
go

 ¿Que da como resultado?(adjunto imagen)

Se ha cambiado la opción de configuración 'show advanced options' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
Se ha cambiado la opción de configuración 'Ad Hoc Distributed Queries' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
Fuente y lo que hay que saber: <a href="http://www.guillesql.es/Articulos/SQLServerFAQ_Servidor_Vinculado_OPENQUERY_Notacion_4_Partes.aspx">guillesql</a>

martes, 6 de marzo de 2012

Instalar TOMCAT, JDK bajo CentOS para un ambiente de producción

¿Qué es lo que necesitamos para instalar un ambiente de producción
en CentOS?
1. instalar el jdk.
2. instalar apache-tomcat como servicio.

A continuación describo los pasos que he seguido para hacer un
ambiente de producción en CentOS.



 ------------------------------
| MANUAL DE INSTALACIÓN DE JDK |
 ------------------------------
-------------------------------------
Todo esto se hace desde la sesión con
la que estemos loggeados; a excepción
de que se indique lo contrario.
-------------------------------------

1. Descargar JDK desde:
<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u30-download-1377139.html">jdk</a>

UBICADOS EN LA CARPETA DONDE SE DESCARGO EL JDK:
2. Damos permisos
chmod +x jdk-6u30-linux-i586.bin

3. Ejecutamos
./jdk-6u30-linux-i586.bin

4. Nos logeamos comom Super Usuario
su
*******

5. Movemos la carpeta
mv jdk1.6.0_30/ /usr/local (PUEDE SER LA CARPETA QUE DEFINAMOS)
exit(PARA SALIR COMO ROOT)

6. seteamos alternativas de JAVA
(HAY OTRAS MANERAS DE HACER ESTO CON UN jdk-6u30-linux-i586.rpm.bin
Y NOS QUITAMOS DE -PEDOS- PROBLEMAS)
update-alternatives --install "/usr/bin/java"  "java" "/usr/local/jdk1.6.0_30/bin/java" 1
update-alternatives --set java /usr/local/jdk1.6.0_30/bin/java
update-alternatives --install "/usr/bin/javac"  "javac"  "/usr/local/jdk1.6.0_30/bin/javac" 1
update-alternatives --set javac /usr/local/jdk1.6.0_30/bin/javac


7. Desde una consola, verificamos que ya tenemos instalado y setteado el java
java -version
javac -version

8. Añadimos la fuente *.Arial a la ubicación
(De cualquier máquina con Windows las pueden obtener)
/usr/local/jdk1.6.0_27/jre/lib/fonts/
(POR LA NATURALEZA DE ALGÚN PROYECTO TUVE LA NECESIDAD DE COPIAR Y USAR ESTAS FUENTES)

 ---------------------------------
| MANUAL DE INSTALACIÓN DE TOMCAT |
 ---------------------------------

1. Descargar el tomcat desde:
<a href="http://tomcat.apache.org/">tomcat</a>

2. Nos logeamos como Super Usuario
su
*******

3. Descomprimir archivo
tar -xvf apache-tomcat.tar.gz

UBICADOS EN LA CARPETA DONDE SE DESCOMPRIMIO EL TOMCAT:
4. Aplicamos un chmod a la carpeta:
chmod 775 -R apache-tomcat/

5. Movemos la carpeta del apache (PUEDE SER LA CARPETA QUE DEFINAMOS)
mv apache-tomcat /usr/share/

6. Iniciamos el servidor
/usr/share/apache-tomcat/bin/./startup.sh
exit(PARA SALIR COMO ROOT)

7. Verificamos que este corriendo el servidor, desde un navegador web
http://localhost:8080/manager/html


 ----------------------------------------
| HACIENDO TOMCAT UN SERVICIO DEL CENTOS |
 ----------------------------------------
1. Loggeados como root creamos un archivo de nombre tomcat
2. El contenido de ese archivo es el siguiente script
(NOTA: copiar el script a un editor de texto plano(notepad++),
para evitar que se pierda su estructura):

#!/bin/bash
#
# tomcat Tomcat Java Server
#
# chkconfig: 2345 55 25
# description: Servidor de Aplicaciones Tomcat
# processname: tomcat

JAVA_HOME=/usr/local/jdk1.6.0_30/
export JAVA_HOME
TOMCAT_HOME=/usr/share/apache-tomcat/bin
START_TOMCAT=$TOMCAT_HOME/startup.sh
STOP_TOMCAT=$TOMCAT_HOME/shutdown.sh

# source function library
. /etc/rc.d/init.d/functions

[ -f $START_TOMCAT ] || exit 0
[ -f $STOP_TOMCAT ] || exit 0

RETVAL=0

umask 077

start() {
echo -n $"Iniciando Tomcat Java Server"
echo
daemon $START_TOMCAT
echo
return $RETVAL
}
stop() {
echo -n $"Deteniendo Tomcat Java Server"
echo
daemon $STOP_TOMCAT
echo
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
   start)
start
;;
   stop)
stop
;;
   restart|reload)
restart
;;
#  *)
# echo
# exit 1
esac
exit $RETVAL



3. Movemos el archivo creado a:
/etc/init.d

4. Aplicamos un chmod 755 al archivo tomcat:
chmod 755 tomcat

5. Agregamos el servicio al centos:
chkconfig --add tomcat

6. Verificamos que el servicio ya esta agregado con:
chkconfig --list

7. Verificamos el runlevel, para activar el respectivo para el servicio del tomcat
cat /etc/inittab

8. Activamos el runlevel:
chkconfig --level 5 tomcat on

9. Hacemos que el servicio arranque en cada inicio/reinicio de máquina:
chkconfig tomcat on

10. Iniciamos el servicio:
service tomcat start

11. Ubicados en /usr/share modificamos los permisos como root:
chmod 755 -R apache-tomcat/ (ESTO ES POR SI AÚN NO TIENE LOS PERMISOS)
cd apache-tomcat/
chmod 775 logs/
(ESTO ES PARA PODER VER LOS LOGS, SIN IMPORTAR QUE USUARIO SEA, DESDE LA MÁQUINA DE CENTOS)

12. Reiniciamos el equipo para comprobar que el servicio ya levanta al arranque.



---------------------------------------------------
COMANDOS DE UTILIDAD(man xxxx(desde la consola)):
---------------------------------------------------

chown - change file owner and group
chmod - change file mode bits
chkconfig - updates and queries runlevel information for system services
service - run a System V init script