sábado, 31 de marzo de 2007

Abrir elink desde firefox: Asociar protocolo ed2k al amule

Para que al pulsar en los elinks y que se abran los enlaces en nuestro amule debemos hacer lo siguiente:
1) Abrir el Firefox

2) En la barra de direcciones escribimos about:config

3) Pulsamos el botón derecho del ratón, y a continuación Nuevo/Lógico. En nombre de la preferencia ponemos network.protocol-handler.external.ed2k y en el valor de true.

3) Pulsamos de nuevo el botón derecho del ratón, y a continuación Nuevo/Cadena Como nombre escribimos network.protocol-handler.app.ed2k y en el valor /usr/bin/ed2k.

viernes, 30 de marzo de 2007

Recuperar ventana desaparecida

Recientemente me desapareció la ventana LOG en el Jdeveloper. Para poder recuperarla:
1) Cerrar JDeveloper
2) Hacer una copia de seguridad y borrar el archivo windowinglayout.xml. El archivo está en el hombe del jdev, no en su directorio de instalación. El directorio en mi SUSE era /home/usuario/jdevhome/system/oracle.ide.10.1.3.40.66. El número de la versión cambiará según la que tengas instalado
3) Abrir JDeveloper. Hacer click en View -> El nombre de la ventana perdida
4) En el proceso se habrá generado un nuevo windowinglayout.xml.

miércoles, 21 de marzo de 2007

Password will be truncated to 8 characters

Recientemente al acceder por sftp a una maquina me apareció un mensaje indicándome que tenia la contraseña caducada. Al cambiar la contraseña apareció esto:
Password will be truncated to 8 characters

Para solucionar el problema, y que nuestro sistema nos permita password de más de ocho carácteres debemos:
1) editar el fichero
/etc/login.defs
2) añadimos dos lineas:
PASS_MAX_LEN 20
PASS_MIN_LEN 5

con esto controlamos la longitud permitida de las contraseñas, tanto la máxima como la mínima

viernes, 16 de marzo de 2007

Cómo redireccionar STDOUT y STDERR a archivos

Con el siguiente comando:

(./comando | tee stdout.txt) 3>&1 1>&2 2>&3 | tee stderr.txt

-
- Direccionamos la salida estándar STDOUT al archivo stdout.txt
- Direccionamos la salida de errores STDERR al archivo stderr.txt
- Se siguen mostrando por consola tanto los errores como los mensajes estándar

miércoles, 14 de marzo de 2007

Bloquear ataques por fuerza bruta en nuestro servidor SSH

Si hemos configurado nuestro sevidor SSH y echamos un ojo a los mensajes de seguridad en SUSE:
tail -n100 /var/log/messages
o bien
grep sshd /var/log/messages
Veremos que hay muchos ataque por fuerza bruta a nuestro servidor. Podemos tomar varias medidas para solucionar el problema:

1) Cambiar nuestra configuración del servidor SSHD a través del fichero /etc/ssh/sshd_config . Algunos parámetros podrían ser:

a)
PermitRootLogin no <-- evitamos el acceso usando el usuario root, esto es casi obligatorio en cualquier sistema

b) PasswordAuthentication no <- no se permite el acceso a través de password, tendríamos que utilizar ssh keys, lo cual puede resultar un poco engorroso si tenemos muchos usuarios

c)Port 2221 <- cambiamos el puerto de escucha del SSHD, es una medida bastante sencilla y evitará muchos ataques, el único inconveniente es que todos los usuarios deben saber cual es el nuevo puerto. Esta medida previene de ataques fortuitos a nuestro sistema, es decir, si escanean nuestra red buscando equipos con el puerto 22 abierto no apareceremos. Un análisis a fondo de nuestro equipo revelará al atacante que estamos ejecutando un servidor ssh, y podría realizar a continuación un ataque por fuerza bruta.

d)Otra medida para proteger en parte nuestro sistema es utilizar el script denyhost (http://denyhosts.sourceforge.net/). Dicho script realiza dos tareas sencillas: 1) monitorizar nuestro fichero de mensajes (/var/log/messages) 2) cuando encuentra intento de accesos por fuerza bruta dsde una determinada ip, la añade al fichero /etc/hosts.deny

De esta manera tras uno pocos intentos por fuerza bruta la ip atacante será bloqueada. Vamos a configurarlo para nuestro Suse 10.2:

1) Descargar los paquetes python-dev a través de YAST2

2) Descargar el script denyhost a través de http://denyhosts.sourceforge.net/ , en la sección download. Yo he descargado la versión DenyHosts-2.6.tar.gz

3) Descomprimir el archivo --> tar zxvf DenyHosts-#.#.#-tar.gz

4) Dentro del directorio y como root --> python setup.py install

5) Los archivos se instalan en /usr/share/denyhosts. Vamos al directorio --> cd /usr/share/denyhosts

6) Creamos el archivo de configuración mediante --> cp denyhosts.cfg-dist denyhosts.cfg .

7) En el archivo denyhosts.cfg hay que buscar la variable SECURE_LOG comentamos la de Redhat y descomentamos la de Suse --> SECURE_LOG = /var/log/messages.

8) Si vamos a usarlo como daemon debemos crear también el archivo del demonio --> cp daemon-control-dist daemon-control

9) Editamos el fichero daemon-control

10) buscamos la variable DENYHOSTS_BIN y cambiamos el valor a --> DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"
11) Cambiamos los permisos y el propietario del fichero daemon-control->
chown root daemon-control
chmod 700 daemon-control

12) Para arrancar el demonio manualmente --> ./daemon-control start

13) Para arrancarlo al inicio del sistema:

ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts <--crea un enlace en init.d chkconfig --add denyhosts <--crea entradas en rc2.d, rc3.d y rc5.d

14)si deseamos permitir algún host siempre, debemos añadirlo a hosts.allow, por ejemplo el localhost:
sshd:localhost

sábado, 3 de marzo de 2007

Instalación suse 10.2

En la instalación de Suse 10.2 me salía un mensaje de error:

"could not find the CD drive with the install CD"

Ésto es debido a un problema con mi chipset intel 875 y suse 10.2

Para solucionarlo antes de empezar la instalación, en la pantalla azul donde nos da las opciones
-- boot from Hard disk
-- install
...etc

en la parte inferior podemos personalizar los comandos de instalación/arranque, únicamente con añadir
insmod = ide-generic nos detectará correctamente el dvd.

viernes, 2 de marzo de 2007

Cómo conocer versión de Suse y del kernel

Ejecuta el comando

--> uname -a

Para obtener la información sobre la versión del kernel, la fecha, nombre de la máquina ...

Con el comando:
--> cat /etc/SuSE-release

obtenemos la version de SUSE instalada

Cambiar el SGA_MAX_SIZE

Este parámetro ( SGA_MAX_SIZE) se puede modificar cambiando su valor en el init.ora.
También podemos modificarlo mediante sql, pero no cuando la base de datos esté en línea:

1) parar la base de datos:
--> shutdown immediate;

2) Arancarla sin montar
--> startup nomount;

3) cambiar el tamaño:
alter system set sga_max_size=2G scope=spfile;

4) es necesario parar y reiniciar la BD para que el cambio sea efectivo:
--> shutdown immediate;
--> startup;

Otro parámetro interesante es el SGA_TARGET, su valor siempre será inferior al SGA_MAX_SIZE. Éste sí se puede modificar con la base de datos en línea.

Modos de operación de Oracle 10g

Habitualmente para arrancar la base de datos totalmente utilizaremos directamente el comando:

--> startup

Hay tres fases de arraque opcionalmente podemos usar startup más un comando. Queda explicado a continuación

1) Fase de no montaje: se leen los parámetros del sistema, se inician las estructuras de memoria y los procesos de segundo plano. La instancia se arranca pero SIN asociarla a la base de datos. Normalmente se utiliza cuando se modifica o se necesita crear el archivo de control:

--> startup nomount ;

2) Fase de montaje: se asocia la instancia con la base de datos. Se usa el archivo de parámetros para localizar los archivos de control, que contienen el nombre de los archivos de datos y los registros rehacer. Los archivos de datos y los registros de rehacer no están abiertos, así que no son accesibles por usuarios finales para tareas normales. Se utiliza este modo para realizar algunas tareas de mantenimiento

dos comandos
--> startup mount ;
o
--> alter database mount ;


3) Fase apertura: se abren los archivos de datos y los registros rehacer. La base de datos queda disponible para las operaciones normales. Es necesario que existan registros rehacer si no existen hay que usar el comando --> resetlogs, que crea unos registros nuevos.

dos comandos

--> startup open ;
o
--> alter database open ;

si necesitamos usar el resetlogs sería algo asi:

--> startup open resetlogs ;
o
--> alter database open resetlogs ;


Otras formas de abrir la base de datos:
a)Abrir la base de datos en modo de sólo lectura, para que no puedan realizarse ni inserciones, ni actualizaciones ni borrados:
--> alter database open read only ;

b)Abrir la base de datos en modo restringido. Sólo los usuarios con los dos privilegios create session y restricted session pueden usarla. Es una forma util de que sólo el DBA pueda usar la BD:
--> startup restrict ;

c) Se puede cambiar el estado de la base de datos de modo que solo los usuarios sys y system puedan hacer consultas, sin que tengamos que detener la base de datos y posteriormente usar startup restrict. Hay que habilitr la opción quiesce en el Database Resource Manager:
--> alter system quiesce restrict ;
--> altersystem unquiesce ;

d) Forzar el reinicio. Cuando oracle no se ha detenido apropiadamente y sea imposible reiniciarlo. Se ejecuta un shutdown abort y a continuzación un startup:
--> startup force ;
--> startup force

Cómo parar Oracle 10g

Para Parar la Base de Datos se utiliza el comando shutdown.

shutdown normal --> espera a que todos los usuarios se desconecten de la base de datos y todas las transacciones terminen. No es demasiado práctico ya que si algun usario olvido desconectarse la base de datos quedará a la espera de dicha desconexión para pararse. Deja la BD en un estado coherente.

shutdown immediate --> se cancelan todas las transacciones actuales y se desconecta a los usuarios. Tampoco se permiten nuevas transacciones Deja la BD en un estado coherente, y es una de las mejores formas de parar la base de datos.

shutdown transactional --> similar a la immediate, pero permite que se terminen las transacciones en curso.

shutdown abort --> es la forma más dura de parar la base de datos. Todas las transacciones se terminan inmediatamente, sin que sean confirmadas o canceladas, y todos los usuarios son desconectados. Sólo se debe usar si se tienen problemas para detener la base de datos.

jueves, 1 de marzo de 2007

Dejar de usar shared_servers

Al parecer cuando una instancia de oracle esta marcada como shared server no utiliza todos los procesadores, y se limita sólo a uno. Aprovechar 1 CPU de 4 es un problema. Para conseguir que se utilicen todo hay que eliminar esto. Vamos por pasos

1) comprobamos las CPUS que tenemos:

SHOW PARAMETER cpu;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 4
parallel_threads_per_cpu integer 2

2) Si usamos linux podemos usar algunos comandos para comprobar la carga de CPU del sistema. Dos de estos comandos son:

mpstat -P ALL 3 --> muestra la información de todos los procesadores, y actualiza cada 3 segundos

top --> muestra todos los procesos y el consumo de los recursos del sistema.

3) Podemos ver los parámetros usando:
show parameter shared_servers
show parameter servers

mostrará todos los parámetros que contengan la cadena de texto. Si está fijado a 1 el parámetro shared_servers es que la instancia esta en modo shared.

4) Para cambiar el parámetro tendremos que utilizar

alter system set shared_servers = 0;

Al fijar este parámetro ningún cliente podrá conectarse en modo shared, sin embargo puede que haya todavía algunas conexiones en modo shared. Si los parámetros SHARED_SERVERS y MAX_SHARED_SERVERS los fijamos a 0, todos los servers se finalizaran y las peticiones de los restantes clientes se encolarán hasta que el valor de SHARED_SERVERS o MAX_SHARED_SERVERS se incrementen

5) para finalizar todos los dispatcher hay qe introducir:
ALTER SYSTEM SET DISPATCHERS = '';

6) podemos usar las vistas V$DISPATCHER yV$SHARED_SERVER para comprobar si existen conexiones shared

select * from V$DISPATCHER;
select * from V$SHARED_SERVER;

Conocer Versión de Oracle

Para obtener la version concreta de oracle que usas:

select * from product_component_version

como system al menos.

Para conocer la version del sqlplus es de 32 o 64 bits

file $ORACLE_HOME/bin/sqlplus 

Para saber la versión:
sqlplus -H | grep Release


Inicio del BLog

empiezo el 01/03/2007