Un tip super rapido y super util con esta linea podemos bajar todo el contenido de una web especificando el tipo de archivos que queremos descargar, en el siguiente ejemplo :

wget -r -A.pdf http://url-to-webpage-with-pdfs/

Post to Twitter Tweet This Post Post to Delicious Delicious

Wordpress 2.8.5

In: Uncategorized

20 Oct 2009

wordpress

Recien salido del horno:
como dicen sus autores esta vez es : WordPress 2.8.5: Hardening Release esperemos que asi sea :D

* A fix for the Trackback Denial-of-Service attack that is currently being seen.
* Removal of areas within the code where php code in variables was evaluated.
* Switched the file upload functionality to be whitelisted for all users including Admins.
* Retiring of the two importers of Tag data from old plugins.

Asi que aqui les dejo el link para de la nota de prensa:

Post to Twitter Tweet This Post Post to Delicious Delicious

Este es un tip para poder saber quien o quienes estan loggeados en nuestros sistemas linux ya sea via ssh, o via consola fisica.

Con el comando “w” podemos ver quien o quienes anda por ahi

techno@srv-test:~$ w
 11:40:13 up 1 day,  1:24,  2 users,  load average: 1.76, 1.68, 1.62
USER     TTY      FROM              LOGIN@   IDLE
techno tty7     :0               Mon10   31:23m 35:49
root pts/0    :0.0             11:40    0.00s  0.19s

como podemos ver aqui los usuarios conectados en el sistema son “root” y “techno”

ahora bien si por algun motivo no quisieramos que mas de alguno de los usuarios listado estuviera dentro de nuestro sistema vamos a utilizar un par de comandos super utilies

Expulsar a un usuario

 skill -STOP -u techno 

Si por equivocacion lo sacamos, podemos corregirlo con

 skill -CONT -u techno 

Ahora si queremos ser mas drasticos y sacar del sistema a todos los usuarios, contandonos entre ellos claro!

 skill -KILL -v /dev/pts/* 

Post to Twitter Tweet This Post Post to Delicious Delicious

androidlogo1 Una de las cosas que me he preguntado es como funciona o cual es el desempeño real de Android, el tan mencionado sistema operativo elaborado por Google, como estos dispositivos todavia no llega a nuestras manos, tenemos la oportunidad de jugar con el OS y asi saber algunos detalles de antemano.

Instalacion desde Linux (ubuntu):

Paso 1: instalar java
El SDK de Android está programado sobre Java. Así que tendrás que instalar la máquina virtual Java antes de pensar en instalar Android. Aqui esta como hacerlo

Carros con ideas digitales click aqui

Paso 2: Descargar el SDK
La versión actual 1.6R1 está disponible como fichero tar.gz en Google. Utiliza este enlace, el SDK. Ocupa unos 222 MB.

Paso 3: Descomprimir el fichero descargado

Puedes utilizar el directorio /var así:

  $ cd /var
  $ sudo tar -xzvf android-sdk-linux_x86-1.6_r1.tgz

Todos los ficheros serán descomprimidos a un directorio llamado android-sdk-linux_x86-1.6_r1, y en su interior verás lo siguiente:

 root@palvarado-desktop:/var/android-sdk-linux_x86-1.6_r1$ ls
add-ons  docs  documentation.html  platforms  RELEASE_NOTES.html  tools

Las herramientas de desarrollo y emulacion para Android están bajo el directorio tools.

Paso 4: ahora vamos a probar el emulador

Dado que todas las herramientas para Android están bajo /var/android-sdk-linux_x86-1.6_r1/tools, habrá que modificar la variable de entorno PATH de forma que incluya ese directorio. Abre un terminal y ejecuta lo siguiente:

  $ PATH=${PATH}:/var/android-sdk-linux_x86-1.6_r1/tools
  $ export PATH

Querrás añadir un código similar a tu .bashrc de forma que la modificación esté siempre disponible.

Puedes empezar las pruebas. Es buena idea conservar todos tus ficheros para Android en un directorio separado. Crea por ejemplo ~/src/android y ejecuta todos los comandos de debajo en ese directorio.

Los moviles pueden ser creados de forma virtual por android SDK y son llamados AVDs ( android virtual device) vamos a experimentar un poco con un teléfono virtual.

Para crear una SDcard virtual:

  $ ./mksdcard 2048M SDCARD

Mira el contenido del directorio y verás ahora un fichero de 2 GB llamado SDCARD. Ahora vamos a crea un teléfono virtual Android llamado googleimagen.

$ ./android create avd -n googleimagen -t 2
Android 1.6 is a basic Android platform.
Do you wish to create a custom hardware profile [no]

Pulsa Enter para elegir no. Verás el siguiente mensaje.

Created AVD ‘googleimage’ based on Android 1.6, with the following hardware config:
hw.lcd.density=160

Arranca ahora el emulador.

$ ./emulator @googleimagen -sdcard SDCARD

Aparecerá tu teléfono virtual asi :

android

Otras instalaciones:
Instalacion de Android SDK en windows

Post to Twitter Tweet This Post Post to Delicious Delicious

El mensaje que nunca queremos ver al intentar conectarnos en nuestro Mysql, y que significa esto, pues que todas las conexiones disponibles (100 por default) dentro de nuestro mysql han sido ya tomadas.

Lo primero que debemos de verificar es que clase de conexiones esta manejando el mysql server, debido a que algunas de ellas pueden estar “colgadas”.

mysqladmin -uUSUARIO -pPASSWORD processlist

para aumentar el numero de conexiones concurrentes que nuestro servidor mysql puede manejar vamos a editar el archivo /etc/mysql/my.cnf:

port = 3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-locking
set-variable = max_connections=100

aquí cambiaremos el valor predeterminado de 100 a 250 o un poco mas, recuerden que esta cantidad depende linealmente de la cantidad de memoria ram de que la dispongamos y así también del poder de CPU.

NOTA: algunas veces este problema tambien puede estar realacionado con la resolucion DNS, asi que tambien podemos verificar el archivo /etc/hosts de cliente para ver si esta bien definido el nombre e IP del servidor, asi tambien estos mismos datos dentro del /etc/hosts del server.

Post to Twitter Tweet This Post Post to Delicious Delicious

a la calle pues…. y salio el google chrome 3 Estable

chrome3

A casi ya dias de cumplir 1 año de haber sido su lanzamiento inicial (2 de septiembre de 2008), Goole lanza la ultima versión estable 3.0.195.21 (15 de septiembre de 2009) luego de mas de 5 mil bugs limpiados y arreglados… He aqui el anuncio oficial de este lanzamiento

Para los que no nos gustan los installers web, aqui les dejo el link para bajar el instalador FULL offline

Link | Google Chrome 3 Full installer (win)

Post to Twitter Tweet This Post Post to Delicious Delicious

wordpress Como ya habia platicado al inicio de este nuevo blog, por culpa de malas practicas de seguridad en mi sitio, el wordpress que tenia instalado sufrió varios ataques.. que como resultado de los mismos, fue la eliminación casi completa de toda la información contenida en el :(
Ahora bien les dejo 10 tips muy importantes a tomar en cuenta a la hora de administrar un sitio basado en nuestro bondadoso pero vulnerable wordpress. Nota aclaratoria: este post tiene la intención de dar algunos tips de seguridad esencial y basica, mas no cerrar bugs o problemas de código que wordpress (cms) tiene en su en su estructura original.

Aclarando esto: vamos a lo que nos interesa.

1 .- Cuidado con los roles dentro del wordpress:
uno de los mayores errores a veces es el manejo de varios usuarios que son “admin” en el CMS, y a veces al ser creado en forma “test” los hacemos con passwords débiles, derivado a su carácter temporal, pero como es de esperarse a veces se nos olvida borrarlos.

2 .- Renombrar el user admin, una de las cosas que wordpress no permite es cambiar el usuario “admin” (equivalente de root en linux) a otro nombre menos genérico ejem: “root”. Con este script lo podremos hacer.
Recuerden siempre antes de cualquier cambio en la DB hacer una copia de seguridad

$ mysql -u USERDB -p
Password: CLAVE
mysql> use DB_BLOG;
mysql> update wp_users set user_login='root' where user_login='admin';
mysql> exit;

3.- No permitir que los usuarios en la web puedan navegar por nuestras carpetas del blog, lease wp-content/plugins, wp-content/themes, wp-content/uploads, wp-admin …, muchos de los problemas ataque de exploids, bugs y demas bichos, son porque permitimos que nuestros “visitantes” sepan que plugins estamos usando y que versión de ellos tenemos instalados, como saben no todo es totalmente seguro y a diario surgen parches para todo, y wordpress no es la excepción así que entre mas oculto tengamos que plugs y que versiones usamos sera mucho mejor, además que nos sirve para que no nos copien el theme :D

he aqui el codigo que hay que agregar al .htaccess que se encuentra el root del website, para evitar todos estos problemas:

Options All -Indexes

4 .- Permisos en las carpetas y/o archivos (si esta hosteado en sistemas linux)
muchas veces hacemos nuestra instalación de wordpress tan vanilla (flat, OOB) que nos saltamos la verificación de permisos, y en nuestro afan de tener el sitio “up and running” tan pronto nos sea posible, o en el calor de la emoción de nuestro nuevo theme nos olvidamos de este paso tan importante.

Este es un posible esquema de seguridad según el árbol de archivos/carpetas de wordpress

/ — La raiz del directorio Wordpress: Todos los archivos ubicados aqui deben ser legibles y escribiles únicamente por el usuario master de la cuenta de hosting a Excepcion de .htaccess si se desea que Wordpress genere reglas de rewrite por su propia cuenta
/wp-admin/ — El area de administración de WordPress: aqui todos los archivos deben de ser escribiles únicamente por la usuario master.
/wp-includes/ — aqui se guarda el grueso de código que mueve a Wordpress: nuevamente todos los archivos únicamente deben de ser escribiles por el usuario master.
/wp-images/ — Archivos de imágenes usadas por WordPress: escribibles por el usuario master, aunque legible por casi todos
/wp-content/ — directorio de contenido para los usuarios y el motor de wordpress: Diseñado por los Desarrolladores para ser accesado por completo por todos por (owner/user, group y public).
/wp-content/themes/ — Directorio de las pieles o temas. Si deseas usar el editor incluido en wordpress todos los archivos deben de ser escribibles por el grupo de usuarios de lo contrario únicamente debe de poder ser modificados por el usuario master
/wp-content/plugins/ — plugins: estos archivos deben de ser escritos únicamente por la cuenta master de hosting
otros directorios dentro de /wp-content/ debe de investigarse según los requerimientos de los plugins específicos en este caso los permisos pueden variar

Vamos a arreglar nuestros permisos desde SSH

Para Directorios

find [path] -type d -exec chmod 755 {} \;

Para Archivos

find [path] -type f -exec chmod 644 {} \;

el único directorio que se tiene que omitir cuando corremos estas lineas es /wp-includes/.

5 .- Ocultemos información que a simple vista parece inofensiva: muchas veces en el código generado por wordpress hay muchas pistas que podrían delatar nuestras vulnerabilidades, como por ejemplo en el código podemos ver que versión de wordpress estamos corriendo para evitar esto..
borremos del header.php de nuestro theme la siguiente linea:

<meta name=”generator”
content=”WordPress <?php bloginfo(’version’); ?>” />

6 .- Seguridad en la base de datos I: aunque sonara bastante obvio, si manejamos varios sitios en un mismo hosting tratemos de mantener en lo posible las bases de datos independientes para cada sitio, muchas veces por falta de recursos en el plan de hosting usamos 1 sola db para mas de 1 sitio, esto no es nada recomendable.

7 .- Seguridad en la base de datos II: cambiemos el esquema de nuestra base de datos con respecto a los prefix “wp_” si personalizamos esto le hara mucho mas difícil la intrusión a cualquier hacker. Ejem: miblog_wp_tabla…

8 .- Aseguremos el acceso a nuestro wp-admin: vamos a ponernos un poco mas paranoicos y vamos a permitir únicamente accesso a wp-admin desde 1 o varias ips conocidas.

Coloquemos esto en nuestro .htaccess en el / de nuestro website

Order Deny,Allow
Allow from ww.xx.yy.zz #reemplazar con la/las iPs
Deny from all

9 .- Eliminar archivos innecesarios: borrar lo siguientes archivos /wp-admin/install.php y /wp-admin/upgrade.php puesto que son otro foco de vulnerabilidad

y….

10 .- Aunque la ultima pero no menos importante: Siempre mantengamos un backup de nuestra DB al día, así también actualicemos todos los plugins a la ultima versión así como el Wordpress.

Como un plus les dejo un par de artículos y un video que me gustaría que vieran

Plugin de deteccion y bloqueo de intrusos | WPIDS es un port de PHPIDS a WordPress.

20 Plugins y tips de seguridad | 20 Wordpress Security Plug-ins And Tips To keep Hackers Away

10 Tips To Make WordPress Hack-Proof from guvnrDOTcom on Vimeo.

Les recuerdo mucha de esta información puede parecer obvia a algunos y nueva para otros, pero la razón de este post es tan solo dar algunos tips para no caer por confiados.

Post to Twitter Tweet This Post Post to Delicious Delicious

un corto tip para deshabilitar esta opcion de tu sistema que en algunos casos es el causante de la lentitud de transmision en nuestros servers:

vamos a editar :

/etc/sysconfig/network

para verificar si esta la siguiente opcion deshabilitada, si no lo esta lo colocamos tal cual:

 NETWORKING_IPV6=no 

ahora modificaremos el segundo archivo

/etc/modprobe.conf 

colocamos lo siguente:

alias net-pf-10 off
alias ipv6 off

ahora bajamos el servicio

# service ip6tables stop

deshabilitamos el script de init

# chkconfig ip6tables off

con todo esto ya esta configurado para que nuestro sistema levante sin soporte ipv6 en el siguiente reboot.

Post to Twitter Tweet This Post Post to Delicious Delicious

El dia de hoy me pase la tarde intentando instalar Magento en mi Dreamhost, pero ni via web ni via ssh con el listado de comandos del wiki de magento he podido hasta, que buscando en foros me encontrado algunas pistas para la instalación via CLI (script), aquí les dejo como hacerlo automáticamente.

NOTA: con este script se hace muy bien desde cero, aunque toma su tiempo terminar la instalación ,asi que paciencia

#!/bin/bash

    dbhost="HOST DE LA DB";
    dbname="NOMBRE DE LA DB";
    dbuser="USUARIO DE LA DB";
    dbpass="PASSWORD";
    url="http://DOMINIO A SER INSTALADO";

    adminuser="USUARIO PARA ADMINISTRAR MAGENTO";
    adminpass="PASSWORD ADMINISTRATIVO";
    adminfname="NOMBRE DEL ADMIN";
    adminlname="APELLIDO DEL ADMIN";
    adminemail="ADMIN@TUDOMINIO";

echo "To install Magento, you will need a blank database ready with a user assigned to it."
echo
echo -n "Do you have all of your database information? (y/n) "
read dbinfo

if [ "$dbinfo" = "y" ]; then
    echo

    echo -n "Include Sample Data? (y/n) "
    read sample

    if [ "$sample" = "y" ]; then
        echo
        echo "Now installing Magento with sample data..."

        echo
        echo "Downloading packages..."
        echo

        wget http://www.magentocommerce.com/downloads/assets/1.3.2.3/magento-1.3.2.3.tar.gz
        wget http://www.magentocommerce.com/downloads/assets/1.2.0/magento-sample-data-1.2.0.tar.gz

        echo
        echo "Extracting data..."
        echo

        tar -zxvf magento-1.3.2.3.tar.gz
        tar -zxvf magento-sample-data-1.2.0.tar.gz

        echo
        echo "Moving files..."
        echo

        mv magento-sample-data-1.2.0/media/* magento/media/
        mv magento-sample-data-1.2.0/magento_sample_data_for_1.2.0.sql magento/data.sql
        mv magento/* magento/.htaccess .

        echo
        echo "Setting permissions..."
        echo

        chmod o+w var var/.htaccess app/etc
        chmod -R o+w media

        echo
        echo "Importing sample products..."
        echo

        mysql -h $dbhost -u $dbuser -p$dbpass $dbname < data.sql

        echo
        echo "Initializing PEAR registry..."
        echo

        ./pear mage-setup .

        echo
        echo "Downloading packages..."
        echo

        ./pear install magento-core/Mage_All_Latest

        echo
        echo "Cleaning up files..."
        echo

        rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
        rm -rf magento/ magento-sample-data-1.2.0/
        rm -rf magento-1.3.2.3.tar.gz magento-sample-data-1.2.0.tar.gz
        rm -rf index.php.sample .htaccess.sample php.ini.sample LICENSE.txt STATUS.txt data.sql

        echo
        echo "Installing Magento..."
        echo

        /usr/local/php5/bin/php -f install.php -- \
        --license_agreement_accepted "yes" \
        --locale "en_US" \
        --timezone "America/Los_Angeles" \
        --default_currency "USD" \
        --db_host "$dbhost" \
        --db_name "$dbname" \
        --db_user "$dbuser" \
        --db_pass "$dbpass" \
        --url "$url" \
        --use_rewrites "yes" \
        --use_secure "no" \
        --secure_base_url "" \
        --use_secure_admin "no" \
        --admin_firstname "$adminfname" \
        --admin_lastname "$adminlname" \
        --admin_email "$adminemail" \
        --admin_username "$adminuser" \
        --admin_password "$adminpass"

        echo
        echo "Finished installing Magento"
        echo

        exit
    else
        echo "Now installing Magento without sample data..."

        echo
        echo "Downloading packages..."
        echo

        wget http://www.magentocommerce.com/downloads/assets/1.3.2.3/magento-1.3.2.3.tar.gz

        echo
        echo "Extracting data..."
        echo

        tar -zxvf magento-1.3.2.3.tar.gz

        echo
        echo "Moving files..."
        echo

        mv magento/* magento/.htaccess .

        echo
        echo "Setting permissions..."
        echo

        chmod o+w var var/.htaccess app/etc
        chmod -R o+w media

        echo
        echo "Initializing PEAR registry..."
        echo

        ./pear mage-setup .

        echo
        echo "Downloading packages..."
        echo

        ./pear install magento-core/Mage_All_Latest

        echo
        echo "Cleaning up files..."
        echo

        rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
        rm -rf magento/ magento-1.3.2.3.tar.gz
        rm -rf index.php.sample .htaccess.sample php.ini.sample LICENSE.txt STATUS.txt

        echo
        echo "Installing Magento..."
        echo

        /usr/local/php5/bin/php -f install.php -- \
        --license_agreement_accepted "yes" \
        --locale "en_US" \
        --timezone "America/Los_Angeles" \
        --default_currency "USD" \
        --db_host "$dbhost" \
        --db_name "$dbname" \
        --db_user "$dbuser" \
        --db_pass "$dbpass" \
        --url "$url" \
        --use_rewrites "yes" \
        --use_secure "no" \
        --secure_base_url "" \
        --use_secure_admin "no" \
        --admin_firstname "$adminfname" \
        --admin_lastname "$adminlname" \
        --admin_email "$adminemail" \
        --admin_username "$adminuser" \
        --admin_password "$adminpass"

        echo
        echo "Finished installing Magento"

        exit
    fi
else
    echo
    echo "Please setup a database first. Don't forget to assign a database user!"

    exit
fi

Post to Twitter Tweet This Post Post to Delicious Delicious

Este es un script para forzar la velocidad de transmision de nuestra NIC en forma permanente para cualquier sistema debian o derivados.
Como usuario root vamos a editar el siguiente script :

# vi /etc/init.d/speednic.sh

ahora el contenido de nuestro script: (en mi caso es una NIC de 1000)

#!/bin/sh
## con esto definiremos el path de nuestra herramienta ##
ETHTOOL="$(which ethtool)"
## aqui definiremos la NIC a modificar ##
DEV="eth1"
## La velocidad que deseamos establecer ##
SP="1000 duplex full"
case "$1" in
start)
echo -n "Ajustando parametros en la  NIC";
$ETHTOOL -s $DEV speed $SP;
echo " done.";;
stop)
;;
esac
exit 0

ahora unicamente le tenemos que dar permisos de ejecucion, colocarlo en los scripts de arranque y ejecutarlo

# chmod +x /etc/init.d/speednic.sh
# update-rc.d speednic.sh defaults

Ejecutando…

 /etc/init.d/speednic.sh start

Post to Twitter Tweet This Post Post to Delicious Delicious

Acerca de este Blog

Este espacio esta dedicado a la difusión del software libre en todas sus expresiones, es mi espacio técnico personal, para difundir a todos los rincones el conocimiento libre. "La verdad os hará libres" (Jn 8,32); El techno :Editor, redactor, ingeniero, tecnico, desarrollador, musico y DJ wannabe, etc.. ese soy yo y este es mi espacio

  • techno: @maski: para los que no tienen acceso a ediar el .htaccess hay un plugin que lo hace desde adentro d [...]
  • Maski: Me gusta, muy importante resaltar lo de los accesos a directorios, lo del wp-admin no se me habia oc [...]
  • Como Forzar la velocidad de la placa de red en Debian o Ubuntu | AdslFaqs.com.ar: [...] | Forzar velocidad en NIC debian / ubuntu Tags: chmod, Debian, Linux Debian, scripts, sis [...]
  • El techno: lo que podrias hacer es reemplazar el $(which ethtool)" por el path completo de tu binario ejem: /us [...]
  • paco: Me tira este error la consola y no sé de que puede ser /etc/init.d/speednic.sh: 12: Syntax error [...]

Nuestro Patrocinadores

Tags

Mi galeria de fotos

Mazinger ZMazinger Zno se como lo hace (bruno)no se como lo hace (bruno) 2carga pesada al estilo indu 1carga pesada al estilo indu 2una tv en Solid Statepauloalvarado ipodEsquilandia GuatemalaEl techno en una sinagogaDSC00966DSC00962

Este blog se publica bajo licencia

Blog bajo licencia Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
Creative Commons License

Calendario

February 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728