jueves, 12 de septiembre de 2013

Clase dia 4 LINUX UNIX

Hoy les compartiré mi clase de seguridad B|

les dejaré tarea, jaja, claro porque yo tambien la estaré haciendo.
Nota: el examen es el viernes de la semana que viene jaja, asi que estudien:
permisos, tipos de permisos en particiones, ntfs-3g, como montar, compilar pam.so, agregar modulos como pam.ftp o pam unix, compilar y juntar todos los archivos fuentes  obscure, como funciona, servidor de correos y bitacoras.
PUM!!!!
Bitácoras

en linux hay varios tipos de bitácoras

/var/log

en sistemas como suse, se instalarán los paquetes en /opt

en debian o la mayoria de los linux esta en var/log.

Ejercicio:

 para poder ver los cambios de pam unix, se pueden ver en auth.log

ya que maneja los mensajes de autenticación.

Nota: Las bitácoras en unix generalmente tienen un timestamp, hay varios timestap, uno es de época, desde 1ro de Enero del 70, aunque con awk puede hacerse la traducción de dichos datos.

auth -> nos da el host en donde ocurre el evento, y luego el demonio donde esta ocurriendo el proceso.

siendo el punto de caída para muchos procesos y demonios.

registra cosas de cron, ya que muchas cosas que están en él autentican, cron es un demonio que hace tareas programadas.

En unix podemos centralizar bitácoras, escribiendo en un equipo externo donde se guarde todo.

(chequen eso tarea)

la basta variedad de servicios, permite establecer niveles de bitácoras, llamados loglevel, exísten loglevels standares como loglevel info loglevel etc.

wtemp,

cada servicio sabe en que formato se guardan las cosas.

una bitacora binaria es wtemp, lo que dice es que tiene data.

la respuesta variada que devuelve file a wtemp -> data, mágicamente porque file no sabe que esta adentro jajajaja

hay varias formas de leer la bitácora sin la terminal  (investigar).

nota: en solaris existe una manera de encontrar a que hora se apago el sistema operativo, en BSD  se supone que también pero linux, esta uptime

uptime indica cuanto tiempo ha estado prendido un equipo, pero no cuando se ha apagado, aunque se puede hacer un script en runlevel que guarde un log de la memoria, para poder analizar a que hora se apago el sistema. :D

Exíset una bitácora llamada messages, que exíste cuando se prende la máquina, da una hora de inicio y nos puede dar un delta del tiempo desde el inicio del sistema hasta que ocurre un evento.

juaz!!

mentira!!!, shutdown en messages indicando a que hora se apago juaz!!! trolling del profe(pero ilustración al mismo tiempo)

/var/log/messages

ahi esta, pero lo que se supone que tiene son las salidas que no corresponden al kernel.

aunque es un genérico.

(se verá en administración de linux).

juajua jua jua

aqui escribo 10 veces mas rápido que en mi cuaderno faperines jajajaja

BD

retomando:

ls -l /run/

run lo que guarda son.... a partir de los procesos, como mysql, guarda el process id que le toco, pero también llega a pasar que se corre el proceso pero acabando de inicializar generas threads, pero el programa no esta diseñoado para hacer eso, pero al guardar en un archivo el process id sirve para poder matar al padre, para saber instancias de procesos que corren, guardar log de archivos.

Ejemplo: logs sobre el shadow, siendo parecido a una bandera, o un semáforo primitivo.

tmp tiene problemas de permisos.

var/run es una liga a archivos temporales o virtuales, pero quien quiera acceder a var run tiene la abstracciión de los diferentes accesos a los procesos.

dpts

Estamos cerrando la parte de sistemas de archivos virtuales.

los sistemas de archivos virtuales se pueden abstraer al punto que sean dinámicos, refiriendose a eso:

del lado del cliente -> arbol de directorios.

entregando una API, que tenga crear archivo, listar directorio.

del otro lado podemos ilustrarlo a través de código, ejemplo: crear archivos de maneras dinámicas.

queremos que la constancia en pdf tenga timestamp etc, entonces podria ser que el timestamp sea cuando el usuario baje el pdf, tipo no repudio.

Pudiendo generar los archivos en el momento, a lo mejor hasta los directorios.


Creando un link que es una ruta en el sistema, que redirige a var/constancias, pero cuando se recibe la solicitud de ls, pero quien lo captura es la capa de abstracción, que indica que se requiere el id del usuario etc, generando una respuesta para que la capa de abstracción responda con un directorio.

simulando la capa de abstracción al pdf que exíste solamente en el instante de tiempo en que el usuario quiere descargar el archivo, pero podemos forzar al usuario que se autentique cada que quiera descargarse algo. Evitando problemas de que alguien se robe el HDD, de las constancias ya que solamente exíste cuando se conecta XD

problem??

Tarea: checar capas de abstracción.

inodos pasandose aplicados para archivos iso muy grandes para que no se sature la red.

(fundamentos de servicios streaming...)

FUSE -> permite generar sistemas de archivos de manera dinámica con lo que tengamos (sea lo que sea).

se podría ver en python, o en desarrollo web, o en unix, para poder crear las bitácoras dinámicamente.

para poder crearlos de una manera facil podriamos utilizar fuse.

otra app-> con shell podemos usar un sistema remoto, conectarse y montarse el home en la máquina como unidad D:

siendo transparente.


Tarea: como enviar correos seguramente, mediante la instalación de un servidor de correo, ya que sale muy barato contratar gmail, aunque sigue siendo un trabajo comun el enviar correos desde un servidor.

se puede hacer utilizando servidores externos como g-mail o internos, creando el propio.

Ejemplo de como hacerlo:

dpkg -> que muestra que paquetes tenemos instalados, con el paramerto -l podemos ver la info del paquete

dpkg -l msmtp

sin necesidad de tener un servidor de correo local, se puede utilizar para enviar correos desde un servidor externo como g-mauils BD

funcionamiento:

msmtp sarky68@gmail.com < mensaje

lo que esperan ellos es un flujo, por eso la redirección.

(juaz!!!), jajajaja, hare un maldito script jajajaja, pero para solamente apretar teclas y mandar a mis contactos preferidos, nooo no malditos, no haré lo que viene con SP


regresando.

exísten muchas opciones de consola para mandar eso, aunqeu la desventaja de eso es que ponen las contraseñas de gmail en el archivo .msmtprc

pff

solamente permite lectura y escritura a quien es dueñom, permiso 600

en el archivo anterior, necesitamos definir parámetros de autenticación, porque los manda en claro.

podriamos agregar TLS
http://es.wikipedia.org/wiki/Transport_Layer_Security#Ataque_BEAST

pero utiliza la infraestructura de llave pública.

NOTA: hacer una prueab de concepto jua jua jua, para TLS mandando este correo sobre el protocolo.


Resúmen:
cuando tenemos un entorno no confiable a través de cuando esta libre, (problema de la paloma o del ejercito).

como logramos transmitir info entre sí sin que el enemigo se entere, problema de huevo y la gallina, la lllave pública quita ese problema, pero matemáticamente estan ligadas.

concepto PKI, a demás de tener eso de secretos podemos garantizar a los entes que estan mandando esos secretos.

necesitamos agregar sellos de autenticación, quienes proveen eso son autoridades certificadores, lo que hace es sellar todas las llaves públicas que quieran ser selladas.
la entidad pone una firma digital al certificado, garantizando que tiene un certificado válido.

ese certificado seguro de confianza se hace con

tls_trust_file /etc/ssl/...certificates.crt

gmail provee uno cuando se conecta,
pero podemos obtener ese certificado mediante un paquete

dpkg -l ca-certificates

con ese paquete  ( ii) viene de las entidades certificadoras comunes Common CA certificates.

una vez que se tienen los problemas de certificados, ponemos en el archivo:

account
host
port     587 ???
from
user
passwd

ni siquiera se esta diciendo que cuenta se utilizará


el cliente de copiado scp es para copiar remotamente
scp .msmtprc user@servidorremoto(..) los dos puntos es el lugar donde se copiará

checar ataques MTM para securechel XD fuckyou bigbrother..
Microsoft Exchange Server 2013 SMTP can listen on ports 25, 587, 465, 475, and 2525
big brother me gano :(


checar DNS-> servidores de dominio, aunque resumiendo es otra abstracción para humans XD

tiene dos versiones, directo o inverso.

aunqeu el standar de dns es mucho mas grande, con dig:

podemos obtener los tipos de servidores_

A -> determina de manera primaria, quien quien pregunte ese dominio a que IP lo manda.

AAAA -> será para IPv6

NS -> responsables de guardar la información del dominio son tales y los muestra.

MX -> mail exchange, es el responsable de checar servidores electronicos, aquien se lo manda??, hace una solicitud especificamente de los servidores MX, haciendo una petición de que servidores se encargan, mostrando prioridades de servidores.

Cuando contratamos gmail tenemos que habilitar registros dns para google, exísten algunos spf, que dicen quienes pueden enviar, hay genéricos,  hay registros txt , esos los usa google, haciendo evaluación de modificaciones de registro dns a partir de hashes, demostrando que es tuyo.

WOOOW!!!

checar POP, IMAP, y sus parejas como  587, de maneras seguras.


a partir de éste año los dominios ya no son gratis, los de google.
el costo de gmail es de 50 $ al año, pero se cobran en pagos chicos, al año.

mañana checaremos SSH






No hay comentarios:

Publicar un comentario

Entradas populares