bash: hack: orden no encontrada!!

martes, 26 de octubre de 2010

Deshabilitando el PopUP de MANTISBT para recordar Contraseña

Todos sabemos que algunas paginas, tienen la opcion para login de usuarios, una vez ingresamos los datos, el navegador (en mi caso el firefox) me muestra la Opcion de Recordar Contraseña estas ventanas en ocaciones no son leidas por los usuarios y al dar clic rapido aceptan la peticion del navegador, aun siendo un Pc de acceso publico.

pues bien me pregunte como las paginas de bancos u otras entidades no lo hacian, y encontre que en el Front de la Pagina de Login se debe ingresar el siguiente Codigo para esto:

AUTOCOMPLETE="OFF"


asi que si ud es el sysadmin, maneja el aplicativo, es el desarrollador, etc, basta con saber donde Acomodar esta opcion (siempre en la parte del codigo del Login del usuario)

pues Bien estoy "asegurando mi MantisBT" por lo cual modifique el archivo

login_page.php

y ubique esta parte del codigo:


y la modifique dejandola asi:



despues de esto guardamos cambios, reiniciamos Apache2 y Voila!

al loguearnos ya no se muestra la Opcion en Ningun navegador para recordar contraseña.


este post se realiza por la valiosa Ayuda de "Cristo"

SSH con LLaves ( Sencillo y Seguro)

Hola, despues de un tiempo de Inactividad Vengo a mostrarles la ventaja de comunicar servidores o equipos Linux mediante llaves SSH.

Escenario: Necesito copiar por medio de SCP las copias de seguridad que saco en mi servidor1, hacia otro con mas espacio pero quiero que automatizar este proceso para lo cual creo una Cron que Ejecute el SCP, pero Falla al ser automatico y no tener quien ingrese la contraseña del server2.

Solucion: Comunicacion por Llaves evitando asi tener que ingresar contraseña en estos equipos para sesiones por protocolo SSH.

Que Necesitamos :

1. Servidor1 con SSH
2. Servidor 2 con SSH

NOTA: no tienen que ser servidores, tambien pueden ser equipos en los que hayamos instalado el Demonio SSH.

Bien vamos a lo Interesante:

1. En el Server1 creamos nuestra llave publica:

root@server1#:ssh-keygen -t rsa

Nota: este nos pide que ingresemos una frase, no ingresaremos nada por que no queremos que este pida algo en el momento de login, asi que simplemente Damos ENTER, y nuevamente ENTER para confirmar que no ingresaremos nada, listo ya nuestra llave fue creada, si en este paso dejamos la ruta por defecto "/root/.ssh/" ahi estaran ubicadas nuestras llaves.

2. ahora nos copiamos la llave del server1 hacia el server2

root@server1#: scp -r /root/.ssh/id_rsa.pub root@server2:/tmp


Nota: lo copio en el temporal del server2, para seguir con los pasos.

3.ahora en el server2 creo el archivo que contendra la Llave del Server1

root@server2#: touch /root/.ssh/authorized_keys

4. ahora copiamos la llave dentro del archivo

root@server2#: cat /tmp/id_rsa.pub/ >> /root/.ssh/authorized_keys

Pues Bien solo con esto desde el Server1 podemos loguearnos sin contraseña al Server2, ya si queremos que estos dos se comuniquen sin contraseña lo que debemos hacer, es repetir los pasos al contrario.

espero les sirva!!

jueves, 20 de mayo de 2010

Autenticacion SMTP + Postfix

Bien vamos a ver como se configura la autenticacion SMTP para postfix.

Empezemos; teniendo en cuenta que ya tenemos instalado el Postfix empezamos con la configuracion del archivo Base main.cf; cuando realizamos la instalacion configuramos algunos parametros guiados por el "wizard" del mismo paquete, donde le indicamos el dominio, el administrador (para que lleguen los correos de informe), entre otras muchas opciones.

bien estas configuraciones que describire a continuacion son adicionales, para dejar nuestro sistema 100% funcional, seguro y con un poco menos de SPAM.

1. definimos el Maildir de los usuarios
ejecutamos los siguientes comandos:

$sudo postconf -e 'home_mailbox = Maildir/'
$sudo postconf -e 'mailbox_command ='

2.Configuramos Postfix para que use Autenticacion SMTP (saslathd)
ejecutamos estos comandos:

$sudo postconf -e 'smtpd_sasl_local_domain ='
$sudo postconf -e 'smtpd_sasl_auth_enable = yes'
$sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
$sudo postconf -e 'broken_sasl_auth_clients = yes'
$sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
$sudo postconf -e 'inet_interfaces = all'

3.Editamos el archivo /etc/postfix/sasl/smtpd.conf
(si no existe el directorio ni el archivo lo creamos)
dentro de el colocamos lo siguiente:

pwcheck_method: saslauthd
mech_list: plain login

guardamos y continuamos.

4.Generamos los Certificados que seran Usados para la Encripcion TLS.

$touch smtpd.key

-asignamos los permisos necesarios

$chmod 600 smtpd.key

-generamos el certificado

$openssl genrsa 1024 > smtpd.key
$openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
(respondemos lo que sale en el PROMPT)
$openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 (respondemos el PROMPT)

-ahora movemos los certificados
$sudo mv smtpd.key /etc/ssl/private/
$sudo mv smtpd.crt /etc/ssl/certs/
$sudo mv cakey.pem /etc/ssl/private/
$sudo mv cacert.pem /etc/ssl/certs/

5. configuramos postfix para que Use TLS de salida y entrada

$sudo postconf -e 'smtp_tls_security_level = may'
$sudo postconf -e 'smtpd_tls_security_level = may'
$sudo postconf -e 'smtpd_tls_auth_only = no'
$sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
$sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'
$sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'
$sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
$sudo postconf -e 'smtpd_tls_loglevel = 1'
$sudo postconf -e 'smtpd_tls_received_header = yes'
$sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
$sudo postconf -e 'tls_random_source = dev:/dev/urandom'
$sudo postconf -e 'myhostname = mail.th3d0ctor.net' # cambialo por tu dominio

6.nuestro main.cf debe lucir asi:
--------------------------------------------------------------------------
smtpd_banner = $myhostname
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = mail.th3d0ctor.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.th3d0ctor.com, th3d0ctor.com, localhost.th3d0ctor.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions= permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
smtpd_tls_auth_only = no
#Use these on Postfix 2.2.x only
#smtp_use_tls = yes
#smtpd_use_tls = yes
#For Postfix 2.3 or above use:
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
------------------------------------------------------------------------------

7.reiniciamos Postfix

$sudo /etc/init.d/postfix restart

9.ahora vamos con la autenticacion.

-primero necesitamos instalar libsasl2-2 y sasl2-bin del repositorio principal

$sudo apt-get install libsasl2 sasl2-bin

- editamos el archivo /etc/default/saslauthd

removemos el comentario de la linea: START=yes

- adherimos las siguientes lineas:
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

- verificamos el mecanismo usado y que este en "pam"; debe lucir asi

MECHANISMS="pam"

- cambiamos la linea de opciones por
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

NOTA el resto de lineas del archivo las podemos eliminar o comentar.

el archivo completo debe lucir asi:
----------------------------------------------------------------------
START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

MECHANISMS="pam"

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
-----------------------------------------------------------------------

10. actualizamos el DPKG "state", para que el script de inicio use la configuracion adecuada:
$sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

11.iniciamos el servicio

$sudo /etc/init.d/saslauthd start

12 FINALAMENTE podemos probar la configuracion.

$sudo telnet localhost 25
(despues de establecer conexion copiamos)
ehlo localhost

- si estas dos lineas aparecen en la respuesta del servidor, la configuracion fue correcta.
250-STARTTLS
250-AUTH

13. no queda de mas recordar que cuando se configure un cliente de correo, thunderbird, evolution, outlook o el que sea, debemos activar la opcion que indica que el servidor de salida requiere autenticacion, si no hacemos esto, podemos obtener el mensaje de error "RELAY ACCESS DENIED".

no siendo mas ................. ahi les dejo

martes, 4 de mayo de 2010

Actualizando de Ubuntu 8.04 a 10.04 LTS

Bien, como todos sabes la actualizacion de version para los entornos Desktop LTS de Ubuntu, es demaciado sencilla, y guiada, pero que pasa cuando tenemos un Ubuntu Server, con MYSQL, APACHE2, POSTFIX, BIND9, .........etc, y muchas aplicaciones mas.
como actualizamos.

todos los manuales de actualizacion dicen:


1.Press Alt-F2 and type update-manager --devel-release

2. Click the Check button to check for new updates, blah , blah, blah

pero que hago si no tengo entorno grafico ??? estoy buscando como actualizar mi servidor, bueno no, se desesperen, aca estan los pasos a seguir:

NOTA IMPORTANTE: realizar backup de los archivos de configuracion, y los archivos WWW, por si algo resulta mal, en mi experiencia personal no tuve problemas con las bases de datos en MYSQL, pero por si las moscas, saquen copias de estas tambien.

sacar copia etc : #tar -czvf /mi_carpeta_backup/etc.tar.gz /etc/
copia www: # tar -czvf /mi_carpeta_backup/www.tar.gz /var/www/

recuerden cambiar /mi_carpeta_backup/ por la ubicacion donde almacenaran la copia
si el Documen Root (/var/www/) es otro, cambiarlo para que no le hagan copia a lo que no es.

1. primero que todo debemos actualizar toda la paqueteria que tenemos en el servidor

# apt-get dist-upgrade
(debemos tener cuidado cuando se actualizen los paquetes que utilizamos y conservar los archivos de configuracion modificados por nosotros, ejemplo el php.ini, main.php, my.cnf)

una vez tenemos nuestro sistema 8.04 con la ultima paqueteria disponible, procedemos a actualizar a la nueva version

2.instalamos update-manager-core por si no lo tenemos instalado:

#sudo apt-get install update-manager-core

3.editamos /etc/update-manager/release-upgrades y verificamos que la linea Prompt= tenga "lts"
asi: Prompt=lts

4.Lanzamos la herramienta de actualizacion

#sudo do-release-upgrade --devel-release

una vez lanzamos la herramienta seguimos las instrucciones en pantalla, primero se descargaran los paquetes, y luego se instalaran todos, debemos estar pendientes por que cuando se actualizan los paquetes ya instalados (servicios), para conservar los archivos de configuracion, editados en la anterior version por nostros y no alterar, el funcionamiento, de nuestros servicios.


ANOTACIONES FINALES:
*tenia instalado el OcsInventory, por lo cual no arranco el apache2 una vez actualizado el servidor, basta con reinstalar la aplicacion y no modificar la base de datos para que conserve la informacion que ya tienen almacenada.
*si tienen problemas en la actualizacion cuando esta subiendo el Bind9 basta con presionar CTRL + C, para que siga la actualizacion del resto de los paquetes, ya despues se revisara que paso con la configuracion del DNS, y arrancar manualmente el servicio.
* algunas variables del Iptables cambian, por ejemplo las excepciones con "!" (simbolo admiracion), por si tienen un firewall configurado de esta manera, cambien esta parte.


eso es todo :)

viernes, 16 de abril de 2010

Combatiendo el SPAM - Postfix

hoy voy a mostrar una de las tecnicas que he empleado para bloquear los correos SPAM que llegan diariamente a los buzones de los usuarios, esta vez me enfoque en los Asuntos y el Contenido del Mensaje, es algo similar a lo implementado por mi amigo hollman para bloquear el contenido adjunto del mensaje.
ahora si vamos a la practica.

Queremos bloquear la palabra Viagra tanto en Asunto del Mensaje y tambien si esta hace parte del contenido del mensaje, lo hariamos de la siguiente forma

"editamos el archivo main.cf"
#vi /etc/postfix/main.cf

"agregamos estas dos lineas"

body_checks = regexp:/etc/postfix/body_checks
header_checks = regexp:/etc/postfix/header_checks.regexp


bien ahora tenemos que crear estos archivos ( son archivos de texto normales)

#vi /postfix/header_checks.regexp

"agregamos el siguiente contenido"

/^Subject:.*Viagra.*$/ REJECT "Asunto no valido" (1)

"dentro de la comillas colocamos el mensaje que saldra en los LOGS para saber que es lo que estamos filtrando, normalmente enumero los bloqueos linea por linea con (1)(2), para dar mas facil con este por si se presenta algun problema o bloqueo no debido."

el archivo con algunos de los asuntos luce asi:

/^Subject:.*Viagra.*$/ REJECT "Asunto no valido" (1)
/^Subject:.*V1agra.*$/ REJECT "Asunto no valido" (2)
/^Subject:.*V!agra.*$/ REJECT "Asunto no valido" (3)
/^Subject:.*V1 agra.*$/ REJECT "Asunto no valido" (4)
/^Subject:.*Cialis.*$/ REJECT "Asunto no valido" (5)
/^Subject:.*sex.*$/ REJECT "Asunto no valido" (6)
/^Subject:.*strong.*$/ REJECT "Asunto no valido" (7)
/^Subject:.*herbal.*$/ REJECT "Asunto no valido" (8)
/^Subject:.*Herbal Formule.*$/ REJECT "Asunto no valido" (9)


"guardamos"

bien lo que acabamos de crear fue el archivo para los asuntos.

ahora crearemos los que chequearan el cuerpo del mensaje.

#vi /etc/postfix/body_checks

"ingresamos el contenido"

/Viagra & Cialis/ REJECT

colocamos la palabra(s) a bloquear dentro de los "/" y acompañado por la palabra REJECT.

un archivo con varias palabras para bloquear luce mas o menos asi:

/casino en linea/ REJECT
/real casino/ REJECT
/seven casino/ REJECT
/union europea/ REJECT
/juegos sensacionales/ REJECT
/http://www.bestlux-games.net/ REJECT
/female/ REJECT
/Click here to view as a web page/ REJECT
/drudgery/ REJECT


"guardamos"

NOTA: debemos verificar bien que palabras o frases vamos a bloquear, ya que este metodo es muy exacto, pero en ocaciones bloquea coincidencias"

bien ahora le damos:

#postmap /etc/postfix/body_checks
#postmap /etc/postfix/header_checks.regexp


luego de esto podemos ver que se crean los archivos con el mismo nombre pero acompañado de .db ; bien ahora si reiniciamos nuestro postfix para que tome los cambios

#/etc/init.d/postfix restart


si tratamos de enviar un correo y este contiene las palabras que ingresamos en nuestro archivo veremos como es rechazado por el servidor.

usted puede alimentar su "base de datos" para que su correo contenga menos SPAM.

RECUERDE siempre que ingrese palabras en estos archivos reiniciar postfix para que este tome los cambios.