dimarts, 16 d’abril del 2013

activar https apache2

Configuración HTTPS El módulo mod_ssl añade una importante característica al servidor Apache2 - la habilidad de encriptar las comunicaciones. a2enmod ssl Certificados y Seguridad Para configurar un servidor seguro, utiliza criptografía de clave pública para crear un par de claves pública y privada. En la mayoría de los casos, tú envías tu solicitud de certificado (incluyendo su clave pública), una prueba de la identidad de tu compañía, y el pago correspondiente a una Autoridad de Certificación (Certificate Authority, CA). La CA verifica la solicitud de certificado y tu identidad, y posteriormente te envía un certificado para su servidor seguro. También puedes crear su propio certificado auto-firmado. Ten en cuenta, no obstante, que los certificados auto-firmados no deben usarse en la mayoría de los entornos de producción. Los certificados auto-firmados no son aceptados automáticamente por los navegadores de los usuarios. Los navegadores solicitarán al usuario que acepte el certificado para crear la conexión segura. Cuando tengas un certificado auto-firmado o un certificado firmado por una CA de su elección necesitarás instalarlo en tu servidor seguro. Tipos de Certificados Necesitas una clave y un certificado para trabajar con tu servidor seguro, lo que significa que deberás generar tu propio certificado firmado por tí mismo, o comprar un certificado firmado por una CA. Un certificado firmado por una CA proporciona dos capacidades importantes para tu servidor: Los navegadores (habitualmente) reconocen automáticamente el certificado y permiten establecer una conexión segura sin preguntar al usuario. Cuando una CA envía un certificado firmado, está garantizando la identidad de la organización que está suministrando las páginas web al navegador. Muchos navegadores web que soportan SSL tienen una lista de CAs cuyos certificados aceptan automáticamente. Si un navegador encuentra un certificado autorizado por una CA que no está en su lista, el navegador le preguntará al usuario si desea aceptar o denegar la conexión. Puedes generar un certificado firmado por tí mismo para tu servidor seguro, pero ten en cuenta que un certificado auto-firmado no proporciona la misma funcionalidad que un certificado firmado por una CA. La mayoría de los navegadores web no reconocen automáticamente los certificados auto-firmados, y éstos además no proporcionan ninguna garantía acerca de la identidad de la organización que está proporcionando el sitio web. Un certificado firmado por una CA proporciona estas dos importantes características a un servidor seguro. El proceso para obtener un certificado de una CA es realmente fácil. A grandes rasgos, consta de: 1. Crear dos llaves encriptadas pública y privada. 2. Crear una solicitud de certificado basado en la clave pública. La solicitud de certificado contiene información sobre tu servidor y la compañía que lo aloja. 3. Enviar la solicitud de certificado, junto con los documentos que prueban su identidad, a una CA. No podemos decirte qué autoridad de certificación elegir. Tu decisión debe basarse en tus experiencias pasadas, o en las experiencias de tus amigos o colegas, o simplemente en factores económicos. Una vez se haya decidido por una CA, necesitas seguir las instrucciones que ésta te proporcione para obtener un certificado proveniente de ella. 4. Cuando la CA esté segura de que tiene todo lo que necesita de ti, te enviará un certificado digital. 5. Instalar este certificado en tu servidor seguro, y soportar transacciones seguras. Cuando obtengas un certificado de una CA, o generes tu propio certificado auto-firmado, el primer paso es generar una clave. Generar una Petición de Firma de Certificado (Certificate Signing Request, CSR) Para generar la Solicitud de Firma de Certificado (Certificate Signing Request, CSR), deberás crear tu propia clave. Para ello, puedes ejecutar la siguiente orden en la línea de órdenes de una terminal: openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus .....................++++++↵ .................++++++↵ unable to write 'random state' e is 65537 (0x10001)↵ Enter pass phrase for server.key: Ahora puedes introducir tu frase de paso. Para mayor seguridad, ésta debería contener, al menos, ocho caracteres. La longitud mínima al especificar -des3 es de cuatro caracteres. Debes incluir números y/o signos de puntuación, y no debería ser una palabra que se pudiera encontrar en un diccionario. Además, recuerda que tu frase de paso distingue mayúsculas de minúsculas. Vuelve a escribir la frase de paso para verificarla. Cuando la hayas vuelto a escribir correctamente, se generará la clave del servidor y se almacenará en el archivo server.key. Important.png También puedes ejecutar tu servidor web seguro sin una frase de paso. Esto puede ser conveniente porque así no tendrás que introducir la frase de paso cada vez que vaya a arrancar tu servidor web seguro. Pero también resulta altamente inseguro y comprometer la clave significa también comprometer al servidor. En todo caso, puedes escoger ejecutar su servidor web seguro sin frase de paso quitando la opción -des3 en la fase de generación, o ejecutando la siguiente orden en una terminal: openssl rsa -in server.key -out server.key.insecure Una vez hayas ejecutado la orden anterior, la clave insegura se almacenará en el archivo server.key.insecure. Puedes usar este archivo para generar el CSR sin frase de paso. Para crear el CSR, ejecuta el siguiente comando en un terminal: openssl req -new -key server.key -out server.csr Se te pedirá que introduzcas la frase de paso. Si la introduces correctamente, se te solicitará que introduzcas el nombre de la empresa, el nombre del sitio, la dirección de correo electrónico, etc. Cuando hayas introducido todos esos detalles, se creará tu CSR y se almacenará en el archivo server.csr. Puedes enviar ese archivo CSR a una AC para que lo procese. La AC usará ese archivo CSR y emitirá el certificado. Por otra parte, también puedes crear un certificado auto-firmado usando este CSR. Creación de un certificado auto-firmado Para crear un certificado auto-firmado, ejecuta la siguiente orden en una terminal: openssl·x509·-req·-days·365·-in·server.csr·-signkey·server.key·-out·server.crt La orden anterior te solicitará que introduzcas la frase de paso. Cuando la hayas introducido, se creará tu certificado y se almacenará en el archivo server.crt. {{Importante|Si tu servidor seguro se va a usar en un entorno de producción, probablemente necesitarás un certificado firmado por una CA. No se recomienda el uso de certificados auto-firmados. Instalar el Certificado Puedes instalar el archivo de la clave server.key y el archivo del certificado server.crt o el archivo de certificado enviado por tu CA ejecutando las siguientes órdenes en la línea de órdenes de una terminal: sudo cp server.crt /etc/ssl/certs sudo cp server.key /etc/ssl/private Deberías añadir las siguientes cuatro líneas al archivo /etc/apache2/sites-available/default o bien al archivo de configuración de tu servidor virtual seguro. Debes colocarlas en la sección VirtualHost, bajo la línea DocumentRoot: SSLEngine on SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key El HTTPS suele escuchar en el puerto número 443. Podrías añadir la siguiente línea al archivo /etc/apache2/ports.conf: Listen 443 Accediendo al Servidor Una vez hayas instalado tu certificado, deberías reiniciar su servidor web. Puedes ejecutar la siguiente orden en la línea de órdenes de una terminal para reiniciar tu servidor web. sudo /etc/init.d/apache2 restart http://doc.ubuntu-es.org/HTTPD_Servidor_web_Apache2 en mi caso , dado que ya está todo configurado solo es necesasrio openssl x509 -req -days 365 -in server.csr -signkey server.key -out·server.crt y copiar nuevamente server.crt a /etc/apache2 i reiniciar apache2

dimecres, 5 de setembre del 2012

mysqldump realizar backup y restaurar backup

Para realizar la copia se seguridad de la base de datos moodle al fichero moodle.sql

mysqldump --opt moodle >  moodle .sql

Otro ejemplo más complejo de comando mysqldump para hacer el backup de una base de datos es el siguiente con usario y contraseña:

mysqldump --opt --password=miclave --user=root mibasededatos > archivo.sql

En este último caso estamos indicando un nombre de usuario y una clave para acceder a la base de datos sobre la que se está haciendo el backup: mibasededatos. Las sentencias SQL para reconstruir esa base de datos se volcarán en el fichero archivo.sql.

Inclusive en debian tinc fet un petit script per realitzar el backup de totes les bases de dades


ies:~# more /root/mysql-backups
#!/bin/bash

# Script que fa Backup de les BD's de Mysql

#if [ "$#" -ne "1" ]; then
#       exit
#fi

for i in $(mysql --defaults-file=/etc/mysql/debian.cnf -e"show databases"| grep -v "^Database$" | grep -v "information_schema");
do
        echo $i
        mysqldump --defaults-file=/etc/mysql/debian.cnf $i > /fem-backup/mysql-backup/$i.sql
        echo $(ls -l $i.sql)
done;



Restaurar la base de datos

Si deseamos recuperar la información de un fichero para restaurar una copia de seguridad de la base de datos lo haremos con el comando mysql. Utilizaremos una sintaxis como esta:

mysql mibase < archivo.sql

En este ejemplo se restauraría la base de de datos mibase con el backup almacenado en el fichero archivo.sql.

Otro ejemplo más complejo de comando para restaurar una base de datos es el siguiente:

mysql --password=miclave --user=miuser mibase < archivo.sql

diumenge, 20 de maig del 2012

dummy fork bomb debian squeeze

mirant logs de navegació veig que s'ha consultat switchroot.com, i vaig a veure la pàgina, amb un primer enllaç de How to create a Linux Fork Bomb. dit i fet , connectar al servidor, no fer prova abans en un entorn de prova, 12 de la nit, copy paste, i fi, perdua de connexió al servidor directament
[root@server ~]# :(){ :|: & };:
Details: The above can be explained as -
:( )     # define a function ':' -- so whenever we say ':', execute this function
{        # beginning of what to do when we say ':'
    :    # load another copy of the ':' function into memory...
    |    # ...and pipe its output to...
    :    # ...another copy of ':' function, which has to be loaded into memory
         # (therefore, ':|:' simply gets two copies of ':' loaded whenever ':' is called)
    &    # disown the functions -- if the first ':' is killed,
         #     all of the functions that it has started should NOT be auto-killed
}        # end of what to do when we say ':'
;        # Having defined ':', we should now...
:        # ...call ':', initiating a chain-reaction: each ':' will start two more. 
 
basicament comportament de 'dummy', potser?
 
bé, aprofitant "l'hazaña" per acabar de securitzar-ho poso un limit al fitxer /etc/security/limits.conf
 
 smx2a-11        hard    nproc   100

smx2b-11        hard    nproc   100

asix2-11        hard    nproc   100

dai2-11 hard    nproc   100

smx1a-11        hard    nproc   100

posant un limit de processos a 100 per evitar-ho, de totes maneres ningú no treballa directament al sistema.

Ara sí, faig la prova, procesos, load es dispara a més de 400 i 1000 pero rapidament finalitza i poc a poc es regualitza.


dissabte, 12 de maig del 2012

Veure com funciona un proces que s’està executant de manera pasiva.


Veure com funciona un proces que s’està executant de manera pasiva

windows

Necessitem tres programes de sysinternals: Filemon, Regmon i Process Explorer.

Filemon en dona l’activitat dels arxius del sistema en temps real.

Regmon mostra en temps real tots els accessos al registre realitzat per la seva aplicació

Process Explorer mostra quines llibreries, descriptors i ports de xarxa té ober el programa. Si només ens interessa els ports que està obrint podem uitlitzar netstat –ano.

Amb filemon si volem seguir només l’activitat de la nostra aplicació, s’ha de fer a Options > Filter /highlight (o control L) i modificar l’asterisc a Include i posar el procés que s’està executant. Després REgmon i filtrar de manera similar. Idem Porcess Explorer....

PER LINUX

lsof ve de LiSt Open Files, llistat d’arxius oberts,
Ens mostra tots els arxius que estan oberts pels processos que s’estant actualment en execució en el sistema i també crea una llista de ports oberts per cada procés.
Normalment el tenim instal·lat a les distribucions de Linux o
http://freshmeat.net/projects/lsof/

descubriment d'objectius

Deepmagic information gathering tool, dmitry

Aporta informació de whois, dades de netcraft (netcrat.com), cerca subdominis i escaneja ports de l’objectiu

 Executar sense analitzar ports
>./dmitry –iwnse xtec.cat

Afegint l’opció –p podem escanegem els ports.

 http://packetstormsecurity.org/files/46342/DMitry-1.3a.tar.gz.html
Trobable a la backtrack i packetstormsecurity.org/UNIX/misc/DMitry-1.2a.tar.gz

./dmitry -iwnspb xtec.cat
Deepmagic Information Gathering Tool
"There be some deep magic going on"

HostIP:213.176.163.147
HostName:xtec.cat

Gathered Inet-whois information for 213.176.163.147
---------------------------------


inetnum:         213.176.160.0 - 213.176.175.255
netname:         XTEC
descr:           Xarxa Telematica Educativa de Catalunya
country:         ES
admin-c:         EC9516-RIPE
tech-c:          MG13134-RIPE
status:          ASSIGNED PA
mnt-by:          XTEC-MNT
source:          RIPE # Filtered

person:         Eduard Cercos
address:        Via Augusta 202, 1C
phone:          +34 934006900
fax-no:         +34 932002921
nic-hdl:        EC9516-RIPE
source:         RIPE # Filtered
mnt-by:         XTEC-MNT

person:         Marc Guri
address:        Via Augusta, 202 1-C
phone:          +34 934006900
fax-no:         +34 932002921
nic-hdl:        MG13134-RIPE
source:         RIPE # Filtered
mnt-by:         XTEC-MNT

% Information related to '213.176.160.0/19AS21193'

route:        213.176.160.0/19
descr:        Network for all schools of Catalonia
origin:       AS21193
mnt-by:       XTEC-MNT
source:       RIPE # Filtered

% This query was served by the RIPE Database Query Service version 1.8.13 (WHOIS1)

Gathered Inic-whois information for xtec.cat
---------------------------------
Domain Name: xtec.cat
Domain Name ACE: xtec.cat
Domain Language: ca
Registrar ID: R-2001 (Nominalia)
Created On: 2006-02-14 08:38:34 GMT
Last Updated On: 2011-09-16 07:50:25 GMT
Expiration Date: 2014-02-14 08:38:34 GMT
Status: ok
Registrant ID: AKMBBC2552-EURO
Registrant Name: Generalitat De Catalunya Departament D'Ensenyament
Registrant Organization: Generalitat De Catalunya Departament D'Ensenyament
Registrant Street: Via Augusta, 202-226
Registrant City: Barcelona
Registrant State/Province: B
Registrant Postal Code: 08021
Registrant Country: ES
Registrant Phone: +34.935516900
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email: null
Admin ID: NOM_10118901
Admin Name: Orgue' i Bella Jordi
Admin Organization: Generalitat de Catalunya Departament de la Presidencia (2)
Admin Street: Via augusta, 202-226
Admin City: Barcelona
Admin State/Province: B
Admin Postal Code: 08021
Admin Country: ES
Admin Phone: +34.935516900
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email: jordi.orgue@gencat.cat
Tech ID: NIC_CAT_TECH
Tech Name: Technical Department
Tech Organization: Nominalia Internet, S.L.
Tech Street: Josep Pla 2, Torres Diagonal Litoral, Edificio B3, planta 3-D
Tech City: Barcelona
Tech State/Province: Barcelona
Tech Postal Code: 08019
Tech Country: ES
Tech Phone: +34.935074360
Tech Phone Ext:
Tech Fax:
Tech Fax Ext:
Tech Email: tecnico@nominalia.com
Billing ID: NOM_4320802
Billing Name: Jordi Baldrich Rosello
Billing Organization: Departament Educacio Sgti
Billing Street: via augusta 202
Billing City: Barcelona
Billing State/Province: BARCELONA
Billing Postal Code: 08021
Billing Country: ES
Billing Phone: +34.934006900
Billing Phone Ext:
Billing Fax: +34.932002921
Billing Fax Ext:
Billing Email: jfgras@xtec.cat
Name Server: sn2.xtec.cat 85.192.64.252
Name Server ACE: sn2.xtec.cat 85.192.64.252
Name Server: sn1.xtec.cat 85.192.64.244
Name Server ACE: sn1.xtec.cat 85.192.64.244


Gathered Netcraft information for xtec.cat
---------------------------------

Retrieving Netcraft.com information for xtec.cat
    -      No. Samples
Netcraft.com Information gathered

Gathered Subdomain information for xtec.cat
---------------------------------
Searching Google.com:80...
HostName:proxy.xtec.cat
HostIP:213.176.161.211
HostName:lava2.xtec.cat
HostIP:213.176.161.212
HostName:www.xtec.cat
HostIP:213.176.163.147
HostName:clic.xtec.cat
HostIP:213.176.163.220
HostName:blocs.xtec.cat
HostIP:213.176.163.218
HostName:evifa.xtec.cat
HostIP:213.176.191.82
HostName:phobos.xtec.cat
HostIP:213.176.163.151
HostName:aplitic.xtec.cat
HostIP:213.176.163.141
HostName:webquest.xtec.cat
HostIP:213.176.191.81
HostName:agora-eoi.xtec.cat
HostIP:213.176.163.217
HostName:linkat.xtec.cat
HostIP:213.176.163.218
HostName:apliedu.xtec.cat
HostIP:213.176.163.218
HostName:ioc.xtec.cat
HostIP:213.176.163.218
Searching Altavista.com:80...
Found 13 possible subdomain(s) for host xtec.cat, Searched 0 pages containing 0 results

dimarts, 6 de desembre del 2011

sincronizar via ntp.

Sincronizacion de NTP en Debian Etch fuente http://diegosamuel.blogspot.com/2007/06/sincronizacion-de-ntp-en-debian-etch.html


Primero que todo explico que esto lo realice por una necesidad y que lo hice en una mauina con Debian Etch sobre SPARC, supongo que esto igual sirva para todos, es muy útil cuando tienes un equipo viejito que la pila este como mala para mantener el reloj bien sincronizado.



Lo primero es subir el servicio de NTP, el cual se hace de la siguiente forma:



root@localhost:~#apt-get install ntp ntpdate



Luego se le ingresa el servidor donde deseamos que nuestro sistema quede sincronizado, debido a que el servicio NTP es por estratos uno debe sincronizarce con un servidor estrato 1 o 2 para que funcione bien el sistema, esto se hace asi:



root@localhost:~#ntpdate -u 2.pool.ntp.org



Es importante que se coloque el -u por si existe un firewall que nos bloquee el puerto 123 de UDP y no nos permita la sincronización, el 2.pool.ntp.org es un ejemplo de un servidor de estrato 1 de la pagina principal de NTP.



Para probar que si quedo bien configurado se le da el siguiente comando



root@localhost:~#ntptrace

localhost: stratum 2, offset 0.015174, synch distance 0.159423

octant.coopvgg.com.ar: stratum 1, offset -0.000092, synch distance 0.003071, refid 'GPS'



Esto es lo que se visualiza si quedo bien configurado al darle el ntptrace.