Otra vez los logs…

El 23 de mayo escribí acerca de tener archivos dentro o fuera de la base de datos :https://alfonsoorozcoaguilar.com/2011/05/23/archivos-dentro-o-afuera-de-la-base-de-datos/

El 4 de julio comenté que el tmp medía 23 gb. Lo borro cada semana.

Algo hicieron con los cambios de derechos que el tmp esta usando 58 gb de 120… y nose borran con miscript. Al limitar ejecuciones de llamadas a system desde php, los scripts de hace un mes tampoco sirven

Que bárbaros.

Lo bueno es que parece que mi versión propia de repositorio de archivos para corregir las deficiencias de cvs como subversion puede resolver esto por hoy.

Cosa rara con los passport de microsoft

Varios de los sistemas que he desarrollado se autentifican por CURL contra passport de microsoft.

Una de las dos claves que uso, no relacionadas con hotmail, no funciona. Probablemente desactivada por no entrar al messenger en esa cuenta. La otra lo usa incidentalmente cuando skype falla. Y son dos dominios desconocidos.

Interesante.

Sea l oque sea no usare la autentificacion por «passport de facebook» jamas.

Parte previa a la resolución de respaldos

Como no tiene el asunto para cuando, tomé la decisión drástica de enviar este correo, para preparar el alto.

Asunto :Que respaldos estaran disponibles de servidor de la empresa

Me puse de acuerdo con Alejandro y G para sacar respaldos del servidor de ******* ******, por el metodo de cpanel, y esto es lo que se hará a partir del 15 de agosto.

Puntos importantes:
* Sacaré respaldo diario del servidor ******* ****** a uno de mis servidores propios
* y estarán disponibles online 5 versiones correspondientes a la semana anterior (lunes martes miercoles jueves viernes ), incluyendo base de datos.
* Conservaré respaldos diarios en mi pc de los ultimos 15 dias naturales
* Se guardará además el respaldo del dia 15 y ultimo de cada mes
* por fines de control, se eliminarán el 31 de agosto de este año la mayor parte de los respaldos anteriores al 15 de agosto del presente.

Moniker kaput

Hace unos ocho dias renove unos dominios en moniker por paypal, y se me cobró. Me llegó hoy un aviso de que uno de los dominios serán desactivados…. y hubo cambios otra vez en el whois.

Esto me pasó solo una vez antes (hace unos 5 años) con un registrar que colapsó.

El sentido comun me dice dejar Moniker Lo mas pronto posible.

Voy a acabar pagando doble unos dominios, pero ya que.

Afortuanadamente solo son unos 15.

Hubo dos avisos anteriores con algunos servicios gratuitos, y publicidad en unas redirecciones includidas, ademas de la imposibilidad de dominios con DNS en blanco.

Que mal.

Tendré que ir pensando que registrar usar para esos casos, casi seguro srsplus.

Correo a la unidad que usa el server dedicado con problema de los respaldos

Saque un respaldo de ayer a hoy en mi casa, metodo normal de cpanel , mide 3.5 gb Tengo dos conexiones, en una se tarda 7.5 horas y en otra 2 horas

Lo copie a mi servidor personal mediante copia directa via ftp, se tarda UNA HORA Y MEDIA EN GENERARLO, y en subirlo poco menos de una hora, el archivo subido de restore cpanel fue de 2 gb, porque desaparece el contenido de tmp del respaldo en ese tipo de copia.

Me resulta evidente que esa es la unica manera posiblle de sacar respaldos que incluyan en un solo paso una cifra de verificacion (creo que es md5), pero ese archivo final, copiado a otro servidor y despues restaurado para la prueba en frio, es el que debe quemarse regularmente o guardarse en los hipoteticos usb.

Notas :

1 ) Tenemos demasiados archivos. Que pasa si creamos una base de datos nueva llamada «boveda» y adapto un script que tengo para que guarde el archivo que definamos a esa boveda, despues de cierto tiempo. Si Redirigimos el error 404 a boveda.php y ese devuelve el archivo descargando de la boveda, no hay que alterarar la programación y es mucho mas rapido de respaldar o verificar una base de datos con blob, que pinche mil archivitos.

2 ) no esta documentado de que es cada directorio ni cada base de datos, se lo que habìa a Octubre del año pasado.

Recomendaciones:

1 ) Ver que hacemos para disminuir el uso de disco duro (¿maquina virtual o algo asi para descarga en otro sitio que no respaldemos?)
2 ) compra de software getright ( http://getright.com/ 19.95 usd y es mas barato) para poder descargar en parcialidades el archivo de 2 gb con nuestra eficaz conexión de internet. WINSCP no le tengo confianza y por lo menos en un caso me ha bajado archivos corruptos por el tamaño.

Problemas de respaldos en el trabajo

Hoy tuvimos un problema con los respaldos, mismos que son mi responsabilidad asumida voluntariamente. Se solucionó pero mandé este correo (alteré algunos datos basicos pero este es el problema):

Resumen Breve:

Solo para informar que me pidió David un respaldo de la base de datos del 26 de julio, (para ver algo de pq) y aunque tengo el archivo, no se puede abrir con windows ( ruta demasiado larga dentro ) y probablemente si desde linux. No es importante y ya fue solucionado por David contactando al cliente para ver lo del registro, pero quiero sugerir, de la manera mas enfática, que contratemos otro servidor dedicado para poder hacer pruebas en frio para verificar que tenemos respaldos y no ilusiones, normalmente estoy pasando el respaldo total al disco duro de mi casa, y a uno de mis servidores, mas el que ocasionalmente descargo aqui, pero probar un respaldo de 3.5 gb de tamaño resulta muy complicado y tampoco tenemos la garantia que el respaldo del sistema funcione y que sea suficiente para levantar en otro server( tendriamos que recrear los ajustes de puertos abiertos, etc)

Consideraciones:

a ) En una empresa como la de nosotros, enfocada a información sensible, los respaldos deben realizarse regularmente (cosa que hacemos) y probarse regularmente (no lo hacemos) además de amacenamiento externo (en este caso el nuevo server)

b ) (confidencial)

c ) No tenemos la estructura montada alrededor de continuidad de la empresa si nos cae un rayo a los que conocemos el «know how» o los datos de pago. Creo que es importante, por continuidad de la empresa y detectar nuestros puntos débiles, hacer un plan de continuidad de negocio.

Detalle:

Aunque hemos hablado de un script para automatizar respaldos (del que voy a medias), no es aconsejable automatizar la verificación del respaldo, sino probarlo ocasionalmente para ver que tenemos mas que aire.

Yo asumo que el supuesto error del archivo se puede deber a que nos desconectamos de la red a mitad de su descarga, o a que tenemos directorios con mas de 2 mil archivos.

Lo que haré ADICIONAL a partir de HOY es respaldar la base de datos principal de manera manual y adicional a lo actual, y revisarla manualmente. Estoy respaldando de un modo lento, pero que funciona de manera segura y que me permite verifcar manualmente al terminar, aunque la conexion me hace reiniciarlo. El respaldo de esa base de datos hoy no puede sacarse en formato zip normal, o en horas normales de oficinas, porque mide mas de 1.2 gb pero por lo menos no cabe ya en un cd, y eso es la base de datos PRINCIPAL, de manera independiente al contenido del sitio, y a las bases de datos secundarias. Van cinco veces seguidas que se cae el internet a mitad de la descarga, por lo que no me fue posible descargarla manualmente.

Esto evidentemente me ha obligado a ir borrando varios de los respaldos anteriores, por limitaciones de espacio del disco duro de mi portatil que uso aquí, y de la computadora de escritorio de mi casa.

Que recomiendo:

1 ) contratar otro servidor dedicado para pruebas en frio y almacenar respaldos.

2 ) por lo menos quincenalmente verificar que un respaldo completo levante en frio.

Que voy a hacer:

1 ) Verificar a partir de hoy los respaldos de base de datos manualmente.
2 ) Hacer bitácora de respaldos existentes, describiendo si son aire o probados, incluyendo fecha programada para su borrado.
3 ) proseguir con el script de respaldos del servidor automatizado (no se puede respaldar por ftp por exceso de archivos, debe ser via tar)

SIstemas de pago

Llevo unas semanas batallando con sistemas de autentificacion de clientes JSON. Hoy mismo encontré el problema que cambió de proveedor de proceso de tarjeta de credito el datacenter al que rento este servidor, y ese nuevo proveedor bloqueó el pago del server porque le pareció raro que una tarjeta de crédito internacional de México pague servidores en ese país.

Asunto arreglado.

No es la primera vez que me pasa: Cada vez que estados unidos tiene un problema en su calificación de credito, parece que los proveedores de pago directo con tarjeta se ponen sus moños.

Es mejor Paypal.

Post, get y request

Una de las señales para mi, de que alguien no tiene experiencia programando con php, es el uso de request de manera indiscriminada.

El día de hoy, depurando un script del colegio, como parte del jquery que no me autorizan a rehacer, confirmé que el jquery pasa los datos via get, los lee un request (¿?) y finalmente hace la inserción en las doce tablas que pudieron ser una.

Ahora estamos teniendo un problema en la pc del socio técnico. En mis laptops y las del cliente funciona bien, pero parece que el problema debe ser de el largo de los gets que recibe por jquery, ya que el limite que yo recuerde no esta establecido por RFC (request for comments)o es muy bajo (1024), pero juraría que son casi 2048, y sus versiones optimizadas de firefox para linux deben tener el problema.

Basicamente asumo que como firefox tiene binarios diferentes en linux y en windows, es probable que la version linux si le haga caso a esos estandares, que el diseñador original no contempló y mucho menos el «programador» original.

Nota Aclaratoria 2013:

En respuesta a un correo que me mandó una persona el 22 marzo 2013, hago notar que , por lo menos según yahoo, lo que deben usarse son GETS y no REQUEST. Por principio de cuentas los POST son para poner información, pero llamadas a OBTENER información por default deben ser GET. Sin embargo, usar POST tiene sentido cuando no quieres que aparezcan parámetros en el log de navegación. Por ejemplo el sistema administraor de base de datos de un archivo usa adminer.php usa GETS lo cual es malo porque se guardan los passwords en el log de apache en texo plano.

El punto fino aqui es, que si pasas un get (parámetro en el URL), no vas a leerlo usando un request, es ilógico, tiene problemas de seguridad y claridad de código, se presta a exploits (parameter pollution donde un atacante puede sobreescribir parámetros GET con POST o cookie), y por lo general se usa para tratar igual POST que GETS, lo cual desde el punto de vista de programación WEB es absurdo en tiempos de SQL injection. No importa como lo pases, no lo pasas con un request, y si sabiendo que lo pusiste como POST/GET lo lees como request, habla de malos estándares.

Esperando a ventas

Esta semana me la pasé haciendo cambios a un verificador, y adaptando un sistema hecho para ORACLE para cumplir los requermientos supuestos del RVM.

Se supone que en quince minutos debo entregar una información que se supone no puedo tener yo. De entrada a eso de las doce me pidieron que les tradujera que quería decir un requerimiento técnico de una dependencia federal. Lo leí y les dije es esto y esto, pero tal y tal información me la tiene que dar ventas para que yo ASIGNE quien es el responsable.

Basicamente es un flujo de información y documentación recibida de los clientes de lo que yo no tengo ni idea, para definir quien es el responsable de la custodia de la información del cliente , y evaluar su grado de riesgo.

En quince minutos no lo tengo, ya lo pedí tres veces aunque el compromiso era que me lo dieran hace una hora.

Por cierto que le pusieron un titulo de «gerente» al vendedor que era primo del socio tecnico, pero pro el momento hasta que no se tenga la nueva certificación federal, no vamos a vender nada seguramente.