martes, 19 de junio de 2012

5 - El comando INSERT

El comando INSERT se utiliza para ingresar datos en las filas de una tabla, en una base de datos.

Para insertar los datos de a una fila por vez, utilizamos la siguiente sintaxis (utilizando la bd ejemplo):

INSERT into tabLista (itemLista,descripcion,precio) values (6,'agua',4.00);

cuando presionemos Execute, el sistema nos devolverá un mensaje informando el numero de rows afectadas, en este caso, solo una. Si realizamos una consulta sobre la tabla, veremos la nueva información agregada.

















También podemos insertar múltiples datos mediante un solo comando, separando los valores a ingresar mediante una coma (,):

INSERT into tabLista (itemLista,descripcion,precio) values (7,'yerba',12.00),(8,'azucar',3.50);















Hasta la próxima!

lunes, 18 de junio de 2012

4 - El comando SELECT

El comando SELECT es uno de los mas utilizados en el lenguaje SQL. Se utiliza para capturar y traer informacion desde una o mas tablas.

Para utilizar este comando, debemos especificar, como minimo, dos tipos de informacion: la informacion que queremos seleccionar, y la fuente de la misma.


Cabe destacar que el codigo en SQL no es sensible a las mayusculas/minusculas, pero se estila utilizar los comandos en Mayuscula para que el codigo sea mas facil de leer.


Comandos básicos:


Haremos una reseña de las opciones que ofrece el comando SELECT utilizando la base de datos "bd ejemplo", creada y rellenada en los ejemplos anteriores.

Devolviendo columnas individuales:

Input:


SELECT descripcion FROM tabLista;


--Este comando devuelve todos los campos de la columna "descripcion" en la tabla tabLista.


Output:



Resultado del comando Select
















La información que devuelve esta consulta no esta filtrada ni ordenada; simplemente devuelve todos los campos de la columna descripción.

Devolviendo múltiples columnas:


El comando para traer múltiples columnas es similar, con la diferencia de que los nombres de las columnas son especificados luego del comando SELECT, separados por una coma.

Input:


SELECT itemLista, descripcion, precio FROM tabLista;


Output:















Devolviendo todas las columnas:



El comando SELECT también puede devolver todas las columnas de una tabla sin necesidad de que las mismas sean especificadas. Para esto, se utiliza un asterisco (*) en lugar de los nombres de las columnas.

Input:


SELECT * FROM tabLista;


Output:

















El comando DISTINCT

Este comando nos permite eliminar las redundancias en la consulta a la tabla, evitando devolver valores duplicados.

Ejemplo:

Input:


SELECT descripcion from tabLista;

Output: 

Vemos como, al no utilizar DISTINCT, tenemos dos valores iguales.





















Input:


SELECT DISTINCT descripcion from tabLista;

Output: En este caso, al utilizar DISTINCT, la consulta devuelve los valores sin duplicados.

















El comando WHERE


Este comando nos permite seleccionar los datos que retornara la consulta en base a criterios determinados. 

Ejemplo:

Input

SELECT * from tabLista
WHERE precio > 3.00;

Output:





1 - Understanding and configuring TCP/IP - Windows Networking


Windows Networking.

Network Layers: Network layers are functional steps in communication, performed by programs called protocols.
Communication between computers is bidirectional. The networking layers taken together describe a way to construct and deconstruct packets. Each layer, and each protocol, must be able to perform its function in both directions.
The layered model traditionally used to describe communications is the Open Systems Interconnect (OSI) model.

















With WS2008R2/W7 a new implementation of TCP/IP model is introduced, known as “Next  Generation TCP/IP Stack”

















Layers:

Network Interface Layer: describes a standard model for communication among devices located on a single network segment. It uses protocols to communicate with other nearby interfaces identified by a fixed hardware address (MAC address, for example). Also specifies physical requirements for signaling, interfaces, cables, hubs, switches (layer 2 device) and access points. Examples are: Ethernet, Token Ring, Point-to-Point Protocol, etc.

Internet Layer: describes a global configurable software addressing scheme that allows devices to communicate when they reside on remote network segments. The main protocol is IP, and network device that reads data at this layer is a router.

Routers read the destination address written in a packet and then forward it towards its destination along an appropriate network path. Routers do not pass broadcast.

Protocols:

-IPv4: responsible for addressing and routing packets between hosts that might be dozens of network segments away. IPv4 relies on 32-bit addresses.
-IPv6: Uses 128-bit addresses, and can define more addresses.
Both protocols are enabled by default.

Transport Layer: Defines a method to send and receive shipments of data among devices. Also serves to tag data as being destined for a particular application.

Protocols:
-TCP: receives data from an application and processes the data as a stream of bytes.  Communication is two-way and reliable. The receiver acknowledges when each segment of a data shipment is received, and if the sender misses it, it’s resend again.
When TCP receives a stream of data, it’s sent to the application designed by the TCP port number.
-UDP: connectionless service that provides only best-effort delivery to network hosts.

Application Layer: Step at which network services are standardized.  Protocols are programs, such as e-mail, that provide some service to a user or application. Some examples are HTTP, Telnet, FTP, SNMP,DNS,etc.

By encapsulating data with layers, TCP/IP creates a packet. Not every packet really includes data encapsulated by exactly four protocols.

Configuring Networking Properties in WS2008R2

Network and Sharing Center: is the central dashboard for network settings. Can be used to review the basic configuration and verify Internet access, follow links to run a network troubleshooting wizard, open the status page of the Local Area Connection, create new connections, etc.





















Options:

-Change Advanced Sharing Settings: relates to the default settings on the local computer for network profiles (Work, Home or Public). For each one, you can configure the local computer to enalbe or disable Network Discovery, File and Printer Sharing, Public Folder Sharing, and Media Streaming.

-See Full Map: allows you to see the devices on the local LAN and how these devices are connected to each other and to the Internet. Relies on two components:

-Link Layer Topology Discovery (LLTD) Mapper component, queries the network for devices to include in the map.
-LLTD Responder, responds to the queries from the Mapper.

Viewing Network Connections

Detected connections are displayed in Network Connections, along tiwh any additional connections. Network connections can be opened with cmd>ncpa.cpl

Default components: Connections by themselves do not allow network hosts to communicate; network clients, services, ad protocols bound to a connection are what provide connectivity through it. Networking tab on Properties dialog box reveals clients, services and protocols.






















-Network clients: software components that allow the local computer to connect with a particular networking operating system.

-Network Services: software components that provide additional features for network connections:

-File and printer Sharing for Microsoft Networks: allows the local computer to share folders for network access.
-QoS Packet Scheduler provides network traffic control, including rate-of-flow and priorization services.

-Network Protocols: By default, four network protocols are installed and bound to any network connection:IPv4,IPv6, LLTD Mapper and LLTD Responder.

Bridging Network Connections: To combine multiple network connections, so Windows can treat them as if they were on the same network, yo can enable Network Bridging, and all points entering the server will appear on the same network. They can all share connections.
To bridge networks, select them pressing Ctrl, then right-click and select Bridge Networks.





















Viewing an Address Configuration

Ip configuration consists, at a minimum, of an IPv4 address and subnet mask, or an IPv6 address and a subnet prefix.Can also include information such as a default gateway, DNS server address, DNS name suffix, and WINS server information.

To view IP address configuration,  use cmd> ipconfig, or the Network Connection Details dialog box.

Assigning an IP Configuration Manually

IPv4: manually configured address is known as a static address because remains constant. Are appropiate for critical infrastructure servers such as domain controllers, DNS Servers, DHCP Servers, WINS, and routers.
Can be assigned by using the IPv4 Properties dialog box, opening it with double-click.



























Select the “Use The Following IP Address” option and specify the IP address, a subnet mask, and optionally a default gateway. To assign a static DNS server, select “Use The Following DNS Server Address”, and specify it.
From the command prompt, you can use the command Netsh:

Netsh interface ipv4 set address “Connection_name” static   Address     Subnet_mask    Default_gateway


IPv6:Normally, static IPv6 addresses are assigned only to routers and not to hosts. In the case you need to do it, you can set it by using the IPv6 Properties dialog box.























Select “Use the following IPv6 address”, and then specify the address, subnet prefix length, and default gateway. If you set it, you must set a static DNS server address.

From the command prompt, you can use:

Netsh interface ipv6 set address “Connection_Name”    Address.


Configuring an IPv4 Connection to receive an Address automatically

By default, all connections are configured to receive an IPv4 address automatically. A computer with this configuration is known as a DHCP client. All network connections will obtain an IPv4 address from a DHCP server if one is available. If not, will assign itself any alternate configuration. If no alternate configuration is defined, it will assign an Automatic Private IP Addressing (APIPA) address.
To configure a connection to obtain an IPv4 address automatically, selecte the option in the IPv4 properties dialog box. 

Netsh can also be used with the command:

Netsh interface ipv4 set address “Local Area Connection” dhcp

DHCP assigned addresses will always take priority over other automatic IPv4 configuration methods. A host can receive an IP address from a DHCP server if there is one within broadcast range.
Defining an alternate configuration: If no DHCP server available, you can assign an alternate configuration by selecting Alternate Configuration tab in the IPv4 Properties dialog box.





























APIPA: automatic addressing  feature for some temporary networks. When no DHCP server available or alternate configuration, host uses APIPA to assign itself an IP addres on 169.254.0.1-254 with a subnet mask of 255.255.0.0
This enables two or more windows computers located in the same broadcast domain to communicate; but they cannot access Internet.

Repairing a network connection.

If an APIPA address has been assigned and no DHCP server is available, you can install a DHCP server or assign a static IP address.
On a network with an operative DHCP server, first step is to renew the IP configuration using cmd> ipconfig/ renew , or use the Diagnose feature, in Network connections. If this doesn’t work, check the DHCP server, and if it’s running, search for hardware problems.

Troubleshooting networks – utilities (rely on layer 3 - ICMP) (ICMP is blocked by default by Windows Firewall, some routers, and stand-alone firewall).

Ping – Key tool used to test network connectivity. If the remote computer replies the ping, connectivity to the host has been verified.















Tracert – traces a path from the local computer to a remote computer and check the status of each router along the way. Purpose is to determine the location of any break in connectivity that might lie between the local computer and a remote destination.

PathPing – is intended to find links that are causing intermittent data loss. Sends packets to each router on the way to a final destination over a period of time and then computer the percentage of packets returned from each hop. Shows the degree of packet loss at any given router or link.

Arp – is the name of an utility and a protocol. Address Resolution Protocol is udes to translate the IPv4 address of a computer or router in broadcast range to the MAC address of an actual interface across the network.

Arp can be used to to fix network problems when an innacurate mapping is the cause, revealing a problem. Can also be used to reveal ARP poisoning.








viernes, 15 de junio de 2012

NSA: "Las universidades no estan preparando profesionales de seguridad para la actualidad"

Cuando en 2010 apareció Stuxnet y dañó una planta de enriquecimiento de uranio en Irán, los expertos de seguridad cibernética se maravillaron de su complejidad y poder.

Pero tal vez tan impresionante como la explotación en sí fue el hecho de que la National Security Administration (NSA) fue capaz de encontrar la mano de obra necesaria para diseñar este ataque.

La NSA, la CIA, el Army's Cyber Command, y las empresas privadas están aprendiendo rápidamente que no hay suficientes expertos de seguridad inmersos en las habilidades necesarias para librar una guerra cibernética.

Los expertos han sugerido que el gobierno de Estados Unidos tendrá que contratar a por lo menos 10.000 expertos en ciberseguridad en los próximos años, mientras que el sector privado necesitará aún más. Aunque la mayoría de esos empleos son en defensa, también hay una creciente necesidad de las personas que son capaces de introducirse en redes complejas.

Por desgracia, según ellos están recibiendo poca ayuda de las universidades, que no pueden o no quieren enseñar a los estudiantes cómo aprovechar las vulnerabilidades en las redes.

"Las universidades no quieren tocar el tema, no quieren tener la percepción de enseñar a la gente a atacar cosas", dice Steven LaFountain, un funcionario de la NSA que ayuda a la Agencia en el desarrollo de nuevos programas académicos. Eso significa que los estudiantes se gradúan con conocimientos obsoletos e insuficientes en un campo que está cambiando constantemente. Cuando los nuevos graduados vienen a la NSA, "Tenemos que enseñarles las habilidades técnicas que pensamos que debería haber recibido en la escuela, y entonces tenemos que enseñarles las habilidades específicas relacionadas con su misión".

"Hay dos fuentes para enseñar seguridad, y las universidades no son uno de ellos. Lo que se aprende en un curso de ciencias de la computación no los hace aptos para esto", dice James Lewis, director del Center for Strategic & International Studies' "Una de las formas es la comunidad hacker y la otra son los puestos de trabajo actuales, sobre todo en la NSA y algunos de los organismos de inteligencia".

Eso es lo que pasó con Charlie Miller, quien se hizo famoso cuando hackeó el iPhone el año pasado. Comenzó su carrera en la NSA como criptógrafo y, cuando salió de cinco años más tarde, él era un experto.

"Las personas que encontramos no provienen de universidades, muchos de ellos son autodidactas", dice Miller.

Congresos como Black Hat, que se celebra anualmente en Las Vegas, se han convertido en grandes lugares para el reclutamiento. "No podemos encontrar gente para contratar. Estamos buscando muy duro, pero vamos a necesitar mucho tiempo para tratar de llenar todas las posiciones", dice Miller.

Uno de los problemas, dice Miller, es que el campo está cambiando tan rápidamente, que es cada vez más difícil. Stuxnet no fue descubierto por varios años después de infectar a Irán pero "algo que funcionaba hace un año ya no funciona". dice.

Los profesores enseñan lo clásico, no están relacionados con las técnicas de ataque modernas, y lo que enseñan termina siendo obsoleto, dice Alan Paller, director de investigación en el Instituto SANS.


----------------------------------------------------------------------------------------------------------------------


A nivel nacional, según mi experiencia personal, no existe hoy en día un programa formal universitario que permita instruir a aquellos interesados en adentrarse en el campo de la seguridad informática; las carreras universitarias no cubren estos aspectos, mas allá de señalar los aspectos básicos del mismo, y las tecnicaturas universitarias que abordan el tema no llegan a ofrecer un nivel avanzado de conocimientos que pueda hacer frente a las amenazas a la seguridad que se afrontan hoy en día. 
Por esto, muchos profesionales prefieren formarse de manera autodidacta, o bien a través de certificaciones en la materia, que acrediten sus conocimientos ante la creciente demanda de expertos en este área.

Fuente: 
http://blog.segu-info.com.ar

jueves, 14 de junio de 2012

3 - Creación de tablas mediante comandos SQL en MS SQL Server Management Studio

Anteriormente, generamos una tabla utilizando la interfaz gráfica del Server Management Studio. En esta ocasión, utilizaremos comandos SQL para generar una tabla similar.

En el Server Management Studio, realizamos lo siguiente:

Seleccionamos la opción New Query:


Se abrirá una nueva ventana en el IDE, similar a un bloc de notas:

En este IDE, podemos introducir comandos en el lenguaje SQL, el cual iremos viendo en profundidad a medida que avancemos en el curso. Para generar la nueva tabla, debemos introducir los siguientes comandos:

USE "bd ejemplo"
GO
--Este comando se asegura que se cree la tabla en la base de datos correcta.

--creamos la tabla, e introducimos los parametros de las columnas a ser creadas.
create table tabLista2
(
 itemLista int not null primary key,
--generamos el parametro itemLista, tipo int, no aceptara valores null, y sera nuestra clave primaria.
descripcion char(20) not null,
precio decimal(18,0) not null,
);

Una vez tipeado el código, hacemos clic sobre el botón Execute, con lo cual las sentencias introducidas se procesaran, creando la nueva tabla. Para que podamos ver la tabla, debemos hacer clic con el botón derecho sobre Tables, y seleccionar Refresh.


Hasta la próxima!






miércoles, 13 de junio de 2012

2 - Creación de tablas mediante MS SQL Server Management Studio



 En esta ocasión, veremos cómo crear una nueva tabla para la base de datos “bd ejemplo”, creada en la publicación anterior.
Situados en el Server Management Studio, sobre la nueva base de datos “bd ejemplo”, damos click derecho sobre la carpeta “Tables” y seleccionamos “New Table…”


















Al seleccionar, se abrirá un editor de diseño, en el cual tendremos lo siguiente:


Column Name: Nombre del encabezado de la columna de la tabla.
Data Type: Tipo de dato aceptado por en ese campo.
Allow Nulls: Determina si el campo acepta valores de tipo NULL. Estos valores no son vacios, son valores desconocidos por el usuario, por lo que el campo hace referencia a si acepta o no datos no especificados.
Una vez rellenados los campos, por ejemplo en este caso, generando una lista de compras:




En este ejemplo en particular, usamos 3 columnas:
itemLista: se refiere al número de ítem de la lista, este valor puede ser configurado para incrementarse automáticamente a partir de un valor X(por ejemplo, 1). Para eso, debemos setear esta opción en Column Properties, en el campo Identity Specification:

















Descripcion: hace referencia a la descripción del ítem de la lista. Este es un tipo de dato char, y el valor entre paréntesis puede ser modificado para especificar la longitud de caracteres aceptados.
Precio: refiere al precio del ítem. El valor entre paréntesis también puede ser modificado, tanto antes como después de la coma.
Una vez seteados estos campos, establecemos la clave primaria, en este caso itemLista, haciendo click con el botón derecho sobre la columna izquierda del campo, y seleccionamos “Set primary key”



















La clave primaria identifica es un campo que identifica un solo registro en una tabla.

Finalmente, seleccionamos “Guardar”, guardamos la tabla, en este caso, con el nombre “tabLista”, y tendremos la primer tabla generada dentro de la base de datos.

Hasta la proxima!

martes, 12 de junio de 2012

1 - Creando una base de datos mediante MS SQL Server Management Studio


Buenas tardes a todos, en esta ocasión, veremos paso a paso como generar una nueva base de datos de SQL Server 2008 R2 utilizando SQL Server Management Studio. La intención de este post es mostrar mediante pasos sencillos la creación de una base de datos, para aquellos que desean iniciarse en esta tecnología. Sin más, los dejo con este tutorial.

Una vez abierto el Server Management Studio, nos posicionamos sobre la carpeta Databases:





















Se abrirá la siguiente ventana:






Aquí, podemos generar la base de datos, sencillamente colocando el nombre de la misma. La ventana nos mostrara los archivos nuevos que serán creados, el tipo de archivo, el tamaño inicial, las configuraciones de auto crecimiento de los archivos, y la ruta donde serán almacenados. En este caso, crearemos la base de datos “ejemplo”


Los nombres de los archivos a ser creados se completaran automáticamente, y podemos seleccionar configuraciones adicionales por medio de la solapa Options, que veremos más adelante. Seleccionamos OK, y el sistema procede a la creación de la nueva base de datos.
La ventana se cerrara, y en la carpeta Databases, aparecerá la nueva base de datos.



Hasta la próxima!