para realizar pruebas el programa sugerido es apache jmeter solo configurar las variables de entorno (
export JMETER_HOME=/home/jvasquezgiraldo/apache-jmeter-2.6/
export JAVA_HOME=/usr/java/jre1.7.0_03/), pero aca dejo un par de urls que tienen mas opciones:
http://www.webresourcesdepot.com/15-free-functionality-and-load-testing-tools-for-web-applications/
http://sentidoweb.com/2006/10/20/lista-de-herramientas-para-testeo-de-aplicaciones-web.php
espero que les sirva
Este blog se crea con el objetivo primordial de realizar aportes en el area informatica, acumular y publicar información correspondiente al area del conocimiento de la computacion y realizar debates sanos en cuanto a opiniones fundamentadas.
martes, 15 de mayo de 2012
Firewall linux centos y RHEL
bueno, otra de mis aventuras en el trabajo ... jejejeje, crear reglas en el firewall, entonces para esto es importante tener el firewall abajo y probar que se tenga acceso a lo que se necesita primero, luego si se desea entonces pues primero que todo agregar el puerto 22 si la conexion se está haciendo remotamente por que es el puerto de ssh (ya me pasó que no lo agregué a las reglas del firewall y entonces me desconectó despues de reiniciar el firewall, jejejeje) y despues si agregar las otras reglas necesarias, aca les dejo una muestra de reglas creadas:
/sbin/iptables -A FORWARD -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/service iptables status
/sbin/service iptables save
/sbin/service iptables restart
recomiendo especial cuidado con las palabras FORWARD, OUPUT e INPUT.
algo importante o configuraciones un poco mas detalladas las especifico a continuación (las lineas de # son comentarios):
*filter
#:INPUT ACCEPT [2:80]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [13:876]
#acepta todas las reglas de entrada por la interfaz de loopback (127.0.0.1)
-A INPUT -i lo -j ACCEPT
#acepta todas las reglas de salida por la interfaz de loopback (127.0.0.1)
-A OUTPUT -o lo -j ACCEPT
#acepta todas las solicitudes de PING tanto entrada como salida, es util para el monitoreo y fragmentacion de paquetes
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#acepta la conexion por el puerto 22 ssh para poder conectarse remotamente
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14243 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14244 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14245 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42424 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42425 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42426 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42427 -m state --state NEW -j ACCEPT
#acepta conexion por el puerto 3306 usado por mysql
-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT
# se pueden colocar rangos de puertos como en este caso, tiene un rango de puertos abiertos para entrada
-A INPUT -p tcp -m tcp --dport 14243:14499 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 42424:42699 -m state --state NEW -j ACCEPT
#dice que las conexiones que han sido establecidas con OUT se aceptan como seguras
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#se abre un puerto especifico diferencia sport (source port) dport (destination port)
-A OUTPUT -p tcp -m tcp --dport 12586 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 12586 -m state --state NEW -j ACCEPT
(permite aceptar las conexiones que han salido)
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#elimina todas las conexiones de entrada o solicitudes de puertos que no han sido abiertos
-A INPUT -j DROP
COMMIT
# Completed on Thu Jul 5 16:00:14 2012
/sbin/iptables -A FORWARD -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/sbin/service iptables status
/sbin/service iptables save
/sbin/service iptables restart
recomiendo especial cuidado con las palabras FORWARD, OUPUT e INPUT.
algo importante o configuraciones un poco mas detalladas las especifico a continuación (las lineas de # son comentarios):
*filter
#:INPUT ACCEPT [2:80]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [13:876]
#acepta todas las reglas de entrada por la interfaz de loopback (127.0.0.1)
-A INPUT -i lo -j ACCEPT
#acepta todas las reglas de salida por la interfaz de loopback (127.0.0.1)
-A OUTPUT -o lo -j ACCEPT
#acepta todas las solicitudes de PING tanto entrada como salida, es util para el monitoreo y fragmentacion de paquetes
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#acepta la conexion por el puerto 22 ssh para poder conectarse remotamente
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14243 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14244 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 14245 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42424 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42425 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42426 -m state --state NEW -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 42427 -m state --state NEW -j ACCEPT
#acepta conexion por el puerto 3306 usado por mysql
-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW -j ACCEPT
# se pueden colocar rangos de puertos como en este caso, tiene un rango de puertos abiertos para entrada
-A INPUT -p tcp -m tcp --dport 14243:14499 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 42424:42699 -m state --state NEW -j ACCEPT
#dice que las conexiones que han sido establecidas con OUT se aceptan como seguras
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#se abre un puerto especifico diferencia sport (source port) dport (destination port)
-A OUTPUT -p tcp -m tcp --dport 12586 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 12586 -m state --state NEW -j ACCEPT
(permite aceptar las conexiones que han salido)
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#elimina todas las conexiones de entrada o solicitudes de puertos que no han sido abiertos
-A INPUT -j DROP
COMMIT
# Completed on Thu Jul 5 16:00:14 2012
Crontab en RHEL 5 o CENTOS
bueno, en mi trabajo diario me encontré con que voy a programar unas tareas en un servidor linux, y que mejor que un crontab para eso "gracias al ingeniero Amezquita que me dejó la espinita en pregrado", bueno al menos sabia algo del tema, entonces pues... me puse manos a la obra y tengo que poner a correr el siguiente script:
#!/bin/bash
# First check if there is already a restart running
#LOCKFILE=/home/celu/run/restart_new.lock;
#if [ -f $LOCKFILE ]; then
# echo "A restart is already running, or there is a stale lock file";
# exit 1;
#fi
#**************************************************************
# use:
#**************************************************************
if [ "$2" = "KILLING" ]; then
/usr/bin/killall -q -r _57_Movistar.php
fi
# /usr/bin/touch $LOCKFILE;
HOUR=$(date +"%-H");
MINS=$(date +"%-M");
# Demons Control Process (over the date next)
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
# Movistar Colombia billing
NUMDAEMONS=7;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
# Comcel Colombia Rebilling
NUMDAEMONS=12;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
####### DELIVERY PROCCESS
#Control Moderation
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#Look for Message in queu
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#Execute the active moderations
NUMDAEMONS=2;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
####### FREE CONTENT PROCCESS
#FREE CONTENT
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#####CREDITS
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
# /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#tesp daemons Negative Credits
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
llamado communities57Movistar.sh el cual he renombrado a communities57Movistar sin el punto por que he leido que a veces suele poner problemas por el uso de puntos o simbolos en el nombre del archivo.
Las lineas siguientes se deben agregar en el crontab del usuario, eso es lo muy facil, se digita:
crontab -e
y en el editor se pega lo siguiente:
*/15 * * * * sh /home/celu/bin/communities/communities57Movistar
2 1,18 * * * /usr/bin/php /home/celu/Framework/daemons/Users/UpdateSigned57Movistar.php
42 2 * * * /usr/bin/php /home/celu/Framework/daemons/Reports/Reports57Movistar.php
en las lineas anteriores se evidencia que se va a ejecutar una tarea cada 15 minutos "ejecucion del archivo communities57Movistar" el / es para indicar que va a realizarce repetidamente.
Un enlace muy bueno y documentación al respecto se puede encontrar en:
http://www.telefonica.net/web2/dinsalpa/crontab/crontab.htm
o en
http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
espero le sirva a alguien... jejeje, me despido..
#!/bin/bash
# First check if there is already a restart running
#LOCKFILE=/home/celu/run/restart_new.lock;
#if [ -f $LOCKFILE ]; then
# echo "A restart is already running, or there is a stale lock file";
# exit 1;
#fi
#**************************************************************
# use:
#**************************************************************
if [ "$2" = "KILLING" ]; then
/usr/bin/killall -q -r _57_Movistar.php
fi
# /usr/bin/touch $LOCKFILE;
HOUR=$(date +"%-H");
MINS=$(date +"%-M");
# Demons Control Process (over the date next)
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
# Movistar Colombia billing
NUMDAEMONS=7;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/BillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
# Comcel Colombia Rebilling
NUMDAEMONS=12;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Billing/RebillingCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
####### DELIVERY PROCCESS
#Control Moderation
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlModeration57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#Look for Message in queu
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/LookForAlreadyModerates57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#Execute the active moderations
NUMDAEMONS=2;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/SendModeration57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
####### FREE CONTENT PROCCESS
#FREE CONTENT
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Delivery/ControlFreeContent57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#####CREDITS
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
# /usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersPostpaidCommunities57Movistar.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
#tesp daemons Negative Credits
NUMDAEMONS=1;
COUNTER=0;
while [ $COUNTER -lt $NUMDAEMONS ]; do
PROCESO=$(ps x |grep "/home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER" |grep -vw 'grep');
if [ ! "$PROCESO" ]; then
/usr/bin/php /home/jvasquezgiraldo/Framework/daemons/Users/UsersCreditsCommunities57MovistarNegative.php $NUMDAEMONS $COUNTER &
sleep 1;
fi
COUNTER=$((COUNTER+1))
done
llamado communities57Movistar.sh el cual he renombrado a communities57Movistar sin el punto por que he leido que a veces suele poner problemas por el uso de puntos o simbolos en el nombre del archivo.
Las lineas siguientes se deben agregar en el crontab del usuario, eso es lo muy facil, se digita:
crontab -e
y en el editor se pega lo siguiente:
*/15 * * * * sh /home/celu/bin/communities/communities57Movistar
2 1,18 * * * /usr/bin/php /home/celu/Framework/daemons/Users/UpdateSigned57Movistar.php
42 2 * * * /usr/bin/php /home/celu/Framework/daemons/Reports/Reports57Movistar.php
en las lineas anteriores se evidencia que se va a ejecutar una tarea cada 15 minutos "ejecucion del archivo communities57Movistar" el / es para indicar que va a realizarce repetidamente.
Un enlace muy bueno y documentación al respecto se puede encontrar en:
http://www.telefonica.net/web2/dinsalpa/crontab/crontab.htm
o en
http://www.linuxtotal.com.mx/index.php?cont=info_admon_006
espero le sirva a alguien... jejeje, me despido..
Suscribirse a:
Entradas (Atom)