dilluns, 30 de novembre del 2009

catxé d'squid no funciona. No indica mal funcionament

Avui resulta que el servei d'squid, de proxy-catxé està funcionant pero quan li arriben les peticions queden bloquejades.

si trec les regles d'iptables que li reenvia a squid les peticions de manera transparent, així no s'ha de configurar res al navegadors,  no funcionava.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Finalment i com la catxé està al 80% i 20 GBytes decideixo esborrar-la i crear-la de nou.

1.- paro Squid

service squid stop o /etc/init.d/squid stop

2.-Esborro els directori de log i la catxé :

rm -Rf /var/log/squid/*
rm -Rf /catxe/*    #en el meu cas el tinc en una partició apart.

3.- Després, per tornar a crear la estructura de directoris

squid -z

4.-i per últim arrancar squid.

service squid start  o /etc/init.d/squid start

ara torna a funcionar.

L'ordre tail -f /var/log/squid/access.log  torna a donar entrada de peticions.


.

dijous, 26 de novembre del 2009

No subnet declaration for eth0 (0.0.0.0)

En un moment posterior parlarem sobre la configuració d'un dhcp pero ara mateix m'he trobat amb aquest error i anem a documentar-ho.

Quan arranca el servidor, i tenint com a servei activat no entra en funcionament el dhcp, revisant el logs de sistema tail -f /var/log/syslog obtinc el següent missatge d'error


No subnet declaration for eth0 (0.0.0.0).
Nov 26 12:34:22 router-10 dhcpd: ** Ignoring requests on eth0.  If this is not what
Nov 26 12:34:22 router-10 dhcpd:    you want, please write a subnet declaration
Nov 26 12:34:22 router-10 dhcpd:    in your dhcpd.conf file for the network segment
Nov 26 12:34:22 router-10 dhcpd:    to which interface eth0 is attached. **

He revisat també el fitxer /etc/default/dhcp3-server i el seu contingut és el desitjat

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#    Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

http://lists.debian.org/debian-user/2001/12/msg02068.html

diumenge, 22 de novembre del 2009

fitxer robots.txt

Actualment gairebé tot és accesible per internet gràcies als cercadors. Aquest cercadors realitzen una gran funció donat que passen diariament practicament per totes les planes web en busqueda de canvis. Per permetre l'entrada del cercador a la nostra web s'ha d'editar un fitxer de nom robots.txt i posar-ho al directori arrel del servidor web. Amb aquest fitxer poden indicar a quins tipus de cercadors deixem entrar al nostre servidor web, i  també podem controlar quines planes permetem que entri el cercador. Que jo conegui fins i tot google permet que aquells directoris que han de tenir un validació, a la web de google li donem la validació per a que pugui entrar. Suposso que aquestes pàgines després seran visitables només via la catxé de google, encara que no ho he comprovat. M'he d'exigir més.

Si volem deshabilitar l'entrada del cercador, qualsevol cercador en el fitxer robots.txt posarem:

User-agent: *
Disallow: /

amb això estem indicant que per qualsevol cercador tot està deshabilitat.

Per deixar només que entri el motor de google i que tot estigui disponible o al menys res deshabilitat

User-agent: Mediapartners-Google*
Disallow:

com a mostra aquest fitxer es recuperable directament indican-t'ho a la barra de direccions. Es a dir, http://www.google.com/robots.txt retorna ....

User-agent: *
Disallow: /search
Disallow: /groups
Disallow: /images
Disallow: /catalogs
Disallow: /catalogues
Disallow: /news
Allow: /news/directory

...
Allow: /toolkit/*.html
Disallow: /qnasearch?
Disallow: /errors/
Disallow: /app/updates
Disallow: /sidewiki/entry/
Disallow: /quality_form?
Sitemap: http://www.gstatic.com/s2/sitemaps/profiles-sitemap.xml
Sitemap: http://www.google.com/hostednews/sitemap_index.xml
Sitemap: http://www.google.com/ventures/sitemap_ventures.xml
Sitemap: http://www.google.com/sitemaps_webmasters.xml
Sitemap: http://www.gstatic.com/trends/websites/sitemaps/sitemapindex.xml
Sitemap: http://www.gstatic.com/dictionary/static/sitemaps/sitemap_index.xml
De la forma que està plantejat serveix com informació per qualsevol persona per tenir una 
estructura de la xarxa de directoris.
entrant en algun d'aquest permessos podem trobar la llista 
http://www.google.com/profiles/104359529435326563415
http://www.google.com/profiles/105617776816027836477
http://www.google.com/profiles/103564462096731629122
....
i entrar a la mateixa informació que ja aporta un cercador i que continuant curiossejant la resta de directoris
Llavors tenint la web serà necessari planificar exactament quins continguts deixem que
el robot revisi i anar controlant el dissallow i allow pero anant en compte també que 
es cridar l'atenció sobre continguts que hi són.
Ja finalment només queda seguir les indicacions de google sobre els robots i evitar
indexar continguts no desitjats - http://www.google.com/support/webmasters/bin/answer.py?hl=es&answer=156412
 
Per exemple google a la web https://www.google.com/webmasters/tools/sitestatus?hl=es ens permet veure si està 
donat d'alta la nostra web a la seva base de dades, i ens indica també si estan totes
les planes animant a posar un sitemap per tenir acces a tots les continguts.
Per donar d'alta una web a google, http://www.google.com/addurl i per fer-ho per
exemple a bing, el nou cercador de microsoft http://www.bing.com/docs/submit.aspx?FORM=SURE 

dimarts, 17 de novembre del 2009

MySQLTuner es una herramienta que realiza comprobaciones al MySQL para dar una serie de recomendaciones sobre su optimización.

mysql backup mediante script

crear un fitxer amb drets d'execució i de contingut
#!/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 > /backup/mysql-backup/$i.sql
        #echo $(ls -l $i.sql)
done;

aquest contingut passa per totes les bases de dades de /var/lib/mysql i l'exporta sql a la ruta /backup/mysql-backup

ja només queda que mitjançant crontab (posar crontab -e), li diguem que s'ha de generar cada dia a les 4 del matí

0  4  * * * /root/mysql-backups

apache, fitxer configuració.

partim de què tenim instal·lat apache, php, mysql, php5-mysql, libapache

dintre del directori /etc/apache2 tenim el fitxer apache2.conf

farem una optimització d'apache

#
# Timeout: The number of seconds before receives and sends time out.
#
TimeOut 300 per defecte, posar-ho a 60

Les conexions KeepAlive son aquelles que es mantenen obertes després de rebre una petició del client i servir-la, d'aquesta manera la següent petició reaprofita la conexió. Són útils ja no s'ha d'obrir una connexió per cada element de la pàgina (imatges, css, javascripts,..) per defecte està habilitada

KeepAlive On

  • KeepAliveTimeout: regula el temps que manté el servidor la conexió oberta esperant més peticions.
  • MaxKeepAliveRequest: número màxim de peticions per conexió, una vegada que es superi el límit el servidor tancarà la conexió i el cient haurà de reobrir una conexió.
Un KeepAlive de 15 segons és elevat, ja que rarament una pàgina triga tant de temps en ser carregada. Si aquest valor és elevat farem que s'ompli de connexions d'apache que no és reutilitzen. Podem millorar aquest valors.

KeepAliveTimeout 2
MaxKeepAliveRequests 1000
 
workers pre gestionar childs - els va obrint a mida que arriban peticions.
prefok -> ja obert a apache
MaxREquestPerchild 0 -> això significa infinit, quantitat de peticions que pot atendre cada child.
el programador php no allibera espai, i això augmenta la decadència del sistema, fixar un valor per exemple 150, després d'arribar a aquesta valor ho allibera.
AccessFileName .htaccess  -> per indicar directives d'apache en els directoris i les línees següents eviten la descarrega del fitxer .ht... per visionar-lo.

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#

    Order allow,deny
    Deny from all
finalment en debian el directori conf.d inclou programes qeu s'han de reiniciar en reiniciar el servei
al directori sites-available tenim el fitxer default
serverName joomla2
DocumentRoot -> on resideix la web
Directory -> té la directiva per poder accedir
per últim el paquet a2ensite permet activar i desactivar llocs d'apache.
si volem fer un virtualhost amb el nom de joomla2 per accedir a jommla, en d'afegir a /etc/hosts 
127.0.0.1 localhost joomla2 
 enllaços posibles d'interes en algún moment
http://www.bdat.net/documentos/entorno_publicacion_web/book1.html
http://www.comunidadhosting.com/asuntos-tecnicos-seguridad-y-configuracion/
http://systemadmin.es/2009/08/slowloris-ataque-de-denegacion-de-servicio-para-apache-1x-y-2x
http://systemadmin.es/2008/12/uso-de-memcached-como-cache-de-contendio-de-apache-para-soportar-el-efecto-barrapunto
http://todo-microsano.blogspot.com/2006/01/cmo-configurar-apache-para-evitar-el.html
http://ha.ckers.org/slowloris/
http://documentacion.systemadmin.es/Portada

mysqladmin - recuperar passwd mysq root en debian

crear una base de dades amb l'usuari root

mysqladmin -u root -p create nombasededades

per resetejar el password de root, i només en debian

mysqladmin --default-file=/etc/mysql/debian.cnf

mysql_setpermission - crear usuaris amb permissos
flush priviledges - per actualitzar els permissos.

notes sobre apache

mirant el fitxer access.log d'apache

79.150.82.210 - - [15/Nov/2009:09:39:25 +0100] "GET /~07dasi19/FSC/javascript.js HTTP/1.1" 200 543 "http://85.192.102.149/~07dasi19/FSC/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; es-es) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safa
ri/531.9"

ip d'acces la primera, data, el que es demana al servidor, GET, 200 significa petició correcta, 543 tamany de la dada que contesta el servidor, http: , adreça de la que ve el navegador, "mozilla, informació del navegador"


Per saber quantes linees té el fitxer d'apache
wc -l access.log

per identificar quantes ip diferents hi han en aquest fitxer podem utilitzar sort per ordenar i uniq que elimina entrades identiques

cut -d " " -f1 access.log|uniq|sort -u|wc -l

per veure quan de temps triga en fer aquesta consulta

time cut -d " " -f1 access.log|uniq|sort -u|wc -l

de la mateixa manera

cat access.log| cut -d " " -f1 |uniq|sort -u|wc -l

time cat access.log| cut -d " " -f1 |uniq|sort -u|wc -l

si ho proveu ara podeu veure quin és més optim per realitzar el càlcul. (el primer)

ies-sabadell:/var/log/apache2# time cut -d " " -f1 access.log|uniq|sort -u|wc -l
657

real    0m0.457s
user    0m0.420s
sys     0m0.040s
ies-sabadell:/var/log/apache2#
ies-sabadell:/var/log/apache2# time cat access.log| cut -d " " -f1 |uniq|sort -u|wc -l
657

real    0m0.517s
user    0m0.416s
sys     0m0.120s

diumenge, 15 de novembre del 2009

backup mysql

Avui ja toca fer una copia de la base de dades mysql i exportar-ho a un altre servidor per tal de tenir un backup de seguretat.

mysqldump -u root -p -C -Q -e --create-options moodle > moodle-backup-2009-11-15.sql

el guió -p demana el password per l'usuari amb el que fem el backup, que ha de tenir tots els drets sobre la base de dades.

si fem el backup des de un ordinador que no té la base de dades hem de posar -h per indicar el host de la base de dades

mysqldump -u username -p -h databasehost -C -Q -e --create-options moodle > moodle-backup-2009-11-15.sql

Ara ja tenim una copia de la base de dades exportada com a sql per si la hem de restaurar.
Una pregunta que em faig es que hauria de parar l'acces a la base de dades per tal de garantir la no inserció de dades en el mateix temps que es fa el backup.

LDAP add

per tal de treballar amb el servidor de ldap faré un petit de les seves opcions per entrar i modificar dades.

afegir dades

ldapadd -x -W -D 'cn=Administrator,dc=xarxa-local,dc=com' -h 127.0.0.1 -f base.ldif

-x indica autenticació simple
-W indica que solicitarà la clau d'acces
-D binddn indica el nom distingit a utilitzar (dn)
-f indica el fitxer.

El primer que farem serà incorporar les dades del sistema, important les claus d'aces
 /usr/share/openldap/migration/migrate_group.pl /etc/group group.ldif
/usr/share/openldap/migration/migrate_passwd.pl /etc/group passwd.ldif

ara tindrem els fitxers group.ldif i passwd.ldif preparats per se insertats al sistema mitjanjçant ldapadd.

Comprovació:
ldapsearch -h  127.0.0.1 -x -b '' -s base '(objectclass=*)' namingContenxts

es a dir si busquem informació d'un usuari
servidor:~/alta # ldapsearch -x -b 'uid=tecno4,ou=people,dc=intracentre'
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# tecno4, people, intracentre
dn: uid=tecno4,ou=people,dc=intracentre
cn: tecno4
gidNumber: 1003
givenName: tecno4
homeDirectory: /home/tecno4
loginShell: /bin/bash
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: sambaSamAccount
shadowInactive: -1
shadowLastChange: 13301
shadowMax: 99999
shadowMin: 0
shadowWarning: 7
sn: super3
uid: tecno4
uidNumber: 1203
sambaSID: S-1-5-21-2376057434-4064629070-1789029708-3406
displayName: tecno4
sambaPasswordHistory: 00000000000000000000000000000000000000000000000000000000
 00000000
sambaAcctFlags: [U          ]
sambaPwdLastSet: 1257724824

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1









Esborrar usuaris
$ldapdelete -x -D 'cn=admin,dc=elmeudomini,dc=com' -w contrasenya 'cn=usuari1,ou=People,dc=elmeudomini,dc=com'

dimarts, 10 de novembre del 2009

Set de Herramientas para el Monitoreo de Redes

Encara no he evaluat aquesta eina i espero que no sigui habitual el posar links a eines que no he treballat per indicar quina seria la seva posible explotació. Ara mateix pel que he llegit penso que serà una bona eina per windows. Desconec en aquests moments la versió lliure quines son les eines que aporta en front de les versions d'avaluació i pagament.
Indico quin és l'enllaç. OpUtils

diumenge, 8 de novembre del 2009

validació de moodle en base de dades externa

Aprofitant l'entrada de blog anterior ja poso una nova entrada de validació de la base de dades de moodle no en el servidor de ldap com estava anteriorment  sino a la base de dades del servidor de la intraweb de centre, en aquest cas creada sobre postnuke. No crec que la variació de l'aplicatiu de gestió de continguts sigui un impediment per que sigui de manera molt aproximada amb aquestes dades.



Amb aquesta configuració ja permet realitzar la validació dels usuaris dintre de la base de dades de altre aplicatiu. En el meu cas particular, la base de dades es troba al mateix ordinador que el moodle, aquesta és la raó per posar localhost com direcció del servidor de la base de dades.

Una vegada es posa un nom d'usuari de la base de dades i el seu password s'ha de finalitzar amb la introducció de dades com el mail i nom d'usuari i cognom, de la mateixa manera que al post anterior.




Per evitar que l'usuari tingues que omplir aquestes dades de les que parlem només caldria associar el  nom d'usuari amb el nom de la columna corresponent al l'altre base de dades i així ja estaria introduit com la resta de dades.

conexión moodle - ldap

Donat que ja hem montat un servidor de ldap, per tal de centralitzar accesos de diferents sistemes operatius que tenim al centre, linux, windows i finalment les diferents aplicacions web i proxy que es podran validar dintre d'aquesta base de dades de ldap per tal de tenir una gestió centralitzada de tota la llista d'usuaris.

Partim que ja tenim un servidor de ldap, una instal·lació de moodle realitzada i anem fent els passos necessaris per determinar que l'acces només vindrà donat via base de dades de ldap.

Anem a moodle i a la part d'usuaris i autenticació revisem les opcions:




En el meu cas es suficient realitzar la següent configuració de paràmetres, el servidor de ldap com ldap://servidor.intracentre o la seva ip i la resta de paràmetres. El password serà el corresponent a la base de dades de ldap.



Ja només queda guardar

Obrir una nova sessió, en el meu cas en un altre navegador, per mantenir la sessió d'administrador amb Firefox i amb Google Chrome la del client, alumne de moodle



L'usuari tecno6 és un alumne que correspon a la base de ldap, és valida a ldap i donat que coincideix contrasenya i usuari passa a la pantalla següent:



Aquestes són les dades que s'han d'omplir ara de l'alumne, nom , cognom, direcció correu electrònic, població i pais.

Quan l'alumne posa aquestes dades, ja només queda que realitzi la confirmació al mail que s'ha posat i ja es usuari de moodle validat a la base de ldap. ç

Atenció, si cau el servidor de ldap, l'alumne no es podrà validar.

Quedaria afinar i que moodle agafes totes les dades de ldap pero, fins ara aquesta solució ja em va bé per deixar-me centralitzada totes les dades d'alumnes.