martes, 28 de octubre de 2014

Investiga PHP

·         Alternativa simple Permite evaluar una expresión lógica y en función de dicha evaluación ejecutar una acción o no ejecutarla.
        Ejemplo:

                             if ($x > $y )  {
                              echo "x es mayor que y";
                             }
·         Alternativa doble Similar al caso anterior solo que aquí se le da salida  a la sentencia verdadera y también a la falsa. Si el resultado es verdadero se ejecutará una acción y en caso de que de un resultado sea falso se ejecutará una diferente.

        Ejemplo:

                             if ($x > $y)  {
                               echo "x es mayor que y";
                             }
                             else  {
                               echo "x no es mayor que y";
                             }
·         Alternativa múltiple Es aquella estructura que evalúa una expresión que puede tomar N valores y ejecuta una acción o grupo de acciones diferentes en función del valor tomado por la expresión

        Ejemplo:

                             if ($x > $y) {
                               echo "x es mayor que y";
                             }
                             elseif ($x == $Y) {
                               echo "x es igual que y";
                             }
                             else {
                               echo "x es menor que y";
                             } 

·         Ciclo precondición.
o   Ciclo PARA Es aquel que nos permite hacer un conjunto de instrucciones o sentencias un número determinado de veces y tiene la siguiente sintaxis

<?php
                   for ( inicial; condición, incremento/decremento) {
                   sentencia (s);
                   }
?>


Ejemplo:

<?php
                   for ($x = 1; $x<=10; $x++) {
                   echo "$x";
}
·          Ciclo postcondición Evalúa la condición al final, es decir, se ejecutan las acciones y luego se comprueba el resultado y se seguirá repitiendo la acción hasta que deje de cumplirse la condición


       Ejemplo :

<?php
                      $x=0;
                       do {
                           echo("$x");
                           $x++;
                    } while ($x<=10);
?> 

·         Ciclo iterar La condición se encuentra en medio, cuando se cumpla la condición de salida pondrá fin al bucle


               Ejemplo:

<?php
                         $x=0;
                         while (x<=10) {
                              if ($x==7) {
                                    break;
                             }
                              echo "$x";
                              $x++;
                          }
?>


·         Contadores y Acumuladores.
El contador es una variable cuyo valor se incrementa o disminuye en una cantidad constante cada vez que se produce un determinado suceso o acción.
El acumulador es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable.
La principal diferencia entre un contador y un acumulador es que contador va aumentando de uno en uno, el acumulador  va aumentando en una cantidad variable .


domingo, 26 de octubre de 2014

COMANDOS DNS



Comando DNSCMD
Para configurar una zona de búsqueda directa usaremos el comando dnscmd que se usara para administra servidores DNS indicando algunos parámetros
 
dnscmd <ServerName> /ZoneAdd <NombreZona> {/Primary|/DsPrimary| /Secondary|/Stub|/DsStub} [/file <NombreArchivo>] [/load] [/a <Correo>] [/DP <FQDN>]




NombreServer Obligatorio. Especifica el nombre o IP del servidor DNS. Para especificar el servidor DNS en el equipo local, también puede escribir un punto (.)
/ZoneAdd       Obligatorio. Agrega una zona.
<nombreDeZona>    Obligatorio. Especifica el nombre de dominio completo (FQDN) de la zona.
/Primary|/DsPrimary|/Secondary|/Stub|/DsStub Obligatorio. Especifica el tipo de zona. /DsPrimary y /DsStub especifican un tipo de zona integrada en Active Directory.
/file      Obligatorio para /Primary. Especifica un archivo para la nueva zona. Este parámetro no es válido para el tipo de zona/DsPrimary.
<nombreDeArchivo>           Obligatorio para /Primary. Especifica el nombre del archivo de la zona. Este parámetro no es válido para el tipo de zona/DsPrimary.
/load   Carga un archivo existente para la zona. Si este parámetro no se especifica, se crean registros de zona predeterminados de forma automática. Este parámetro no se aplica a /DsPrimary.
/a         Agrega una dirección de correo electrónico de administrador para la zona.
<correoElectrónicoDeAdmin>          Especifica el nombre de correo electrónico de administrador para la zona.
/DP      Agrega la zona a una partición de directorio de aplicación. Además, se pueden usar los siguientes parámetros:
/domain: para una partición de directorio de dominio                             /forest: para una partición de directorio de bosque                                  /legacy: para una partición de directorio heredada
<FQDN>        Especifica el FQDN de la partición de directorio.

Para la búsqueda inversa usaremos el mismo comando
dnscmd <NombreServidor> /ZoneAdd <NombreZona> {/Primary|/DsPrimary} [/file <NombreArchivo>] [/load] [/a <Correo>] [/DP <FQDN>]



En este caso especificaremos

<nombreDeZona>    Obligatorio. Especifica el nombre de dominio completo (FQDN) del dominio in-addr.arpa para la zona (por ejemplo, 1.1.168.192.in-addr.arpa).
{/Primary|/DsPrimary} En este caso la zona solo podrá ser de estos dos tipos
El resto de parámetros serán configurados de la misma forma que en la zona directa

Para mostrar mas opciones de este comando podemos usar la siguiente opción

dnscmd /ZoneAdd /help  


Para agregar un HOST (A) con puntero PTR usamos el siguiente comando

dnscmd <nombreDeServidor> /RecordAdd <nombreDeZona> <nombreDeNodo> [/Aging] [/OpenAcl] [<Ttl>] {A | AAAA} <direcciónIP>





/RecordAdd Obligatorio. Agrega un nuevo registro de recursos.
<nombreDeZona> Obligatorio. Especifica el nombre de dominio completo (FQDN) de la zona.
<nombreDeNodo> Obligatorio. Especifica el FQDN del nodo en el espacio de nombres DNS. a.
/Aging Especifica que es posible llevar a cabo la detección y eliminación de registros obsoletos en este registro de recursos.
/OpenAcl Especifica que hay nuevos registros abiertos para que los modifique cualquier usuario. Sin este parámetro, solo los administradores pueden modificar el nuevo registro.
<Ttl> Especifica la opción Período de vida (TTL) del registro de recursos.
Obligatorio. Especifica que se está agregando un registro de recursos de host (A) de tipo IPv4
AAAA Obligatorio. Especifica que se está agregando un registro de recursos de host (AAAA) de tipo IPv6
direcciónIP Obligatorio. Dirección IP del host.

Para mostrar mas opciones de este comando podemos usar la siguiente opción

dnscmd /RecordAdd /help  

COMANDO NSLOOKUP


Con este comando realizaremos las comprobaciones como mostramos a continuación 

Primero comprobamos que resuelve el host A de la zona directa


Luego comprobamos que resuelve el PTR de la zona inversa




Para comprobar el nombre de dominio mediante el directorio raíz realizaremos lo siguiente

nslookup: Programa de línea de comandos para evaluar las consultas de los servidores DNS.

 
set q= Indica  el tipo de petición que se va a relizar.
 
SRV Estos registros se utilizan para poder conocer los servicios que ofrece de forma genérica el servidor de DNS para un servicio, protocolo o dominio.
set q=SRV: Verifica de que los registros de tipo SRV necesarios para que el
AD funcione adecuadamente estén correctamente registrados en el DNS.
_ldap._tcp.dc._msdcs. <NombreDominio> Identifica el nombre del controlador de dominio
Con esto verificamos de que los registros de tipo SRV necesarios para que el
AD funcione adecuadamente estén correctamente registrados en el DNS. 
que alberga el dominio de Active Directory

Ejemplo en el server de clase en el que vemos que asocia nuestro dominio con nuestra maquina servidora

 













Prioridad: Los clientes intentarán contactar con el servidor de destino que tenga la prioridad con un número más bajo posible



Peso
Este campo especifica un peso relativo para entradas con igual prioridad. 

lunes, 6 de octubre de 2014

Seguridad Informática

CPD FACEBOOK

El nuevo centro de servidores de Facebook, uno de los más grandes de su tipo consta con más de 130.000 metros cuadrados, está ubicado Luleå (Suecia).

Es el primer CPD fuera de Estados Unidos de Facebook y el tercero con el que cuenta Facebook, está compuesto por tres cámaras de servidores, y da servicio a unos 800 millones de usuarios de la red social en Europa. Mueve 2.500.000 de contenidos nuevos cada minuto,


Es probablemente uno de los más eficientes y sostenibles del planeta. Consta con PUE de 1.07 y monitorización del PUE a tiempo real.

Consume unos 120 MW procedente de hidroeléctrica, equivalente al consumo de electricidad que necesitaría una ciudad de 50.000 personas.



Debido al clima de la situación geográfica de Luleå con una media de 2º, solo necesita un sistema de aire para refrigerar los servidores suponiendo un gran ahora para la empresa

Sus servidores usan Open Compute, un programa con el que comparte el diseño de sus CPD para que los desarrolladores y particulares puedan proponerles mejoras y nuevas ideas para ahorrar más energía con la misma potencia.





Bibliografía

http://www.siliconweek.es/noticias/el-mas-grande-todavia-facebook-planea-construir-un-datacenter-de-mas-de-130-000-metros-cuadrados-35824

http://www.jorditorres.org/nuevo-cpd-de-facebook-en-suecia/

http://blogthinkbig.com/centros-de-datos/