The 10 commandments to avoid disabling SELinux

Well, they are 10 ideas or commands actually ūüėČ
Due to my new role at Alfresco as Senior DevOps Security Architect, I’m doing some new cool stuff (that I will be publishing here soon) and also learning a lot and helping a little bit with my knowledge on security to the DevOps team.
One of the goals I promised myself was to ‚Äúnever disable SELinux‚ÄĚ, even if that means to learn more about it and spend time on it. I may say that it‚Äôs being a worth it investment of my time and here you go some results of it.

This article is not about what is or what is not SELinux, you have the Wikipedia for that. But a brief description could be: a MAC (Mandatory Access Control) implementation in Linux that prevents a process to access to other processes or files that is supposed to not to have access (open, read, write files, etc.)

If you are here is because you want to finally start using SELinux and you are really interested on make it work, to tame this wild horse. Let me just say something, if you are really worry about security and have dozens of Linux servers in production, keep SELinux enabled, keep it ‚ÄúEnforcing‚ÄĚ, no question.
Once said that, here is my list. It is not an exhaustive list, I’m looking forward to see your insights in the comments:
  1. Enable SELinux in Enforcing mode:
    • In configuration files (need restart)
      • /etc/sysconfig/selinux (RedHat/CentOS 6.7 and older)
      • /etc/selinux/config (RedHat/CentOS 7.0 and newer)
    • Through commands (no restart required)
      • setenforce¬†Enforcing
    • To check the status use
      • sestatus # or command getenforce
  2. Use the right tools. To do cool things you need cool tools, we will need some of them:
    • yum¬†install¬†-y¬†setools-console¬†policycoreutils-python¬†setroubleshoot-server
    • policycoreutils-python¬†comes¬†with¬†the¬†great¬†semanage¬†command,¬†the¬†lord¬†of¬†the¬†SELinux¬†commands
    • setools-console¬†comes¬†with¬†seinfo,¬†sesearch¬†and¬†sechecker¬†among¬†others
    • from setroubleshoot-server package we will use sealert to easily identify issues
  3. Get to know what is going on: Dealing with SELinux happens mostly during installation, configuration and tests of Linux services. Therefore, in case something in your system is not working properly or in the same manner as with SELinux disabled. When you are configuring and installing a service or application on a server and something is not working as expected, not starting as it should to, you always think ‚ÄúDamn SELinux, let‚Äôs disable it‚ÄĚ. Forget about that, you have to check the proper place to see what is going on with it: the Audit logs. Check /var/log/audit/audit.log and look for lines with ‚Äúdenied‚ÄĚ.
    • tail¬†-f¬†/var/log/audit/audit.log¬†|¬†perl¬†-pe¬†‘s/(\d+)/localtime($1)/e’
    • the perl command is to convert the Epoch time (or UNIX or POSIX time) inside the audit.log file to human readable time.
  4. See the extended attributes in the file system that SELinux use:
    • ls -ltraZ # most important here is the Z
    • ls¬†-ltraZ¬†/etc/nginx/nginx.conf will show:
      • -rw-r–r–.¬†root¬†root¬†system_u:object_r:httpd_config_t:s0¬†/etc/nginx/nginx.conf
      • where¬†system_u: is the user (not always a user of the system), object_r: role and ¬†httpd_config_t: is the object type, other objects can be a directory, a port or socket and types of an object can be a config file, log file, etc.; finally s0 means the level or category of that object.
  5. See the SELinux attributes that applies to a running process:
    • ps¬†auxZ
      • You need to know this command in case of issues.
  6. Who am I for SELinux:
    • id -Z
      • You need to know this command in case of issues.
  7. Check, enable or disable defined modes (enforcing or permissive) per deamon:
    • getsebool¬†-a # list all current status
    • setsebool¬†-P¬†docker_connect_any¬†1 # allow Docker to connect to all TCP ports
    • semanage¬†boolean¬†-l # is another alternative command
    • semanage¬†fcontext¬†-l # to see al contexts where SELinux applies
  8. Add a non default directory or file to be used by a given daemon:
    • For a folder used by a service, i.e.: change Mysql data directory:
      • Change your default data directory in /etc/my.cnf
      • semanage¬†fcontext¬†-a¬†-t¬†mysqld_db_t¬†“/var/lib/mysql-default/(/.*)?”
      • restorecon¬†-Rv¬†/var/lib/mysql-default
      • ls¬†-lZ¬†/var/lib/mysql-default
    • For a new file used by a service, i.e.: a new index.html file for Apache:
      • semanage¬†fcontext¬†-a¬†-t¬†httpd_sys_content_t ‘/myweb/web1/html/index.html’
      • restorecon¬†-v¬†‘/myweb/web1/html/index.html’
  9. Add a non default port to be used by a given service:
    • i.e.: If you want nginx to listen in other additional port:
      • semanage¬†port¬†-a¬†-t¬†http_port_t¬†-p¬†tcp¬†2100
      • semanage¬†port¬†-l | grep ¬†http_port # check if the change is effective
  10. Spread the word!
    • SELinux¬†is¬†not¬†easy¬†but¬†writing¬†easy¬†tips¬†make¬†people¬†using¬†it¬†and¬†making¬†the¬†Internet¬†a¬†safer¬†place!

Revisi√≥n del libro “Hacker √Čpico” de Inform√°tica64

Hacker √ČpicoHoy quiero comentar este libro, Hacker √Čpico. Magistralmente escrito por Alejandro Ramos (Dab) y Rodrigo Yepes, publicado y editado por Informatica64. Si empiezas no puedes dejarlo hasta que no lees la √ļltima p√°gina, te mantiene enganchado, en tensi√≥n, disfrut√°ndolo y aprendiendo con cada una de sus poco m√°s de 250 p√°ginas.

Contada en primera persona por √Āngel R√≠os, el hacker protagonista, esta novela trata sobre la aventura en la que se ve envuelto este inform√°tico que trabaja para una prometedora consultora de seguridad como auditor y junto a la ayuda de su amigo Marcos, se enfrenta a un sin fin de retos que pondr√°n a prueba sus habilidades de hacking y an√°lisis forense a lo largo de toda la trama. Ambientada en la Madrid actual, este thriller hacker se basa en hechos que lamentablemente leemos con demasiada asiduidad en prensa.

Como sabéis los que seguís el blog, comento muchos libros técnicos en blyx.com, generalmente relacionados de alguna forma con Alfresco. A diferencia de esos otros libros que he comentado, en esta ocasión no voy a hacer un repaso de cada capítulo ya que no quiero dar ninguna pista sobre lo que acontece en la historia, solo quiero limitarme publicar mi opinión y notas que he ido tomando mientras lo leía.

Hacker √Čpico no es una novela al uso, va mucho m√°s all√°, es un completo y actualizado manual de referencia, herramientas, casos de uso pr√°cticos y totalmente actuales en los que, si est√°is involucrados de alguna forma en el mundo de la seguridad inform√°tica, os sentir√©is muy identificados y tambi√©n, como ha sido mi caso, aprender√©is much√≠simo mientras devor√°is, sin necesidad de marca-p√°ginas, esta maravilla.

Es un libro que no solo se lee una vez, puede ser perfectamente un libro de cabecera al que recurrir más de una vez. Como decía antes, prepárate una libreta (o Evernote en mi caso) mientras lo estés leyendo, podrás tomar jugosas notas, ver como se descubren vulnerabilidades 0day, saltar la seguridad de cámaras, puertas traseras, dominios, Windows, Linux, PDFs, redes WiFi y mucho más.

Por supuesto, tambi√©n tiene su punto friki, como no pod√≠a ser de otra forma, no hay cap√≠tulo en el que no se hagan gui√Īos al cine de superh√©roes, series de culto y a otras novelas, e incluso a otros personajes de la escena hacker espa√Īola. Tambi√©n se encuentran detalles y chascarrillos para gamers. Incluso, si conoces Madrid, te puedes ir imaginando algunas escenas descritas.

Fuga de datos, aplicaciones como Whatsapp, recursos web y redes sociales reales, iPhones, iPads… Conceptos, argumentos y soluciones bien documentados y totalmente cercanos al mundo real. Podrás ver como se hacen análisis forenses e incluso algunas partes de la trama y comentarios suenan muy familiares.

Un recorrido através de un sin fin de herramientas explicando cada uno de los flags utilizados.

¬ŅEstamos ante el principio de una saga? ¬ŅSon Alejandro y Rodrigo los Neal Stephenson y Clifford Stoll espa√Īoles? No lo s√©, pero desde luego que no tienen nada que envidiarles, por lo menos por las sensaciones que provocan en el lector, igual que otras novelas del estilo como Criptonomicon¬†o El Huevo del Cuco.

Aunque los autores se preocupan por explicar de la forma más sencilla posible algunas de las peripecias puramente técnicas del protagonista, si no estas familiarizado con algunos conceptos informáticos en algunas ocasiones puede resultar un poco difícil seguir la trama al 100%, de cualquier forma, si no eres informático o si lo eres y no entiendes algo siempre puedes buscar en internet lo que no entiendas. Así que, además de disfrutar, aprenderás más de lo que imaginas.

Hace unos a√Īos tuve el privilegio de trabajar durante unos d√≠as en el mismo departamento que Alejandro Ramos y compartir amigos comunes. As√≠ que estoy doblemente orgulloso de que en nuestro pa√≠s se escriban estas obras de arte y encima sea gente que se ha ganado lo que tiene a base de esfuerzo y pasi√≥n por esta locura infinita que es la seguridad inform√°tica. Gracias.

Seguro que no va a ser el √ļnico que diga que quiere m√°s. ¬°Quiero m√°s aventuras de √Āngel y Marcos!

Puedes comprarlo por 20‚ā¨ en la web de Inform√°tica64, no te vas a arrepentir, te lo prometo.

¬ŅPara cu√°ndo la pel√≠cula?

Control total de los elementos eliminados en Alfresco

Con el siguiente diagrama, me gustaría mostrar cómo funciona la gestión de elementos eliminados y la papelera en Alfresco:

sg_alfresco_file_retention_diagram1

Para conseguir controlar totalmente el estado del repositorio es interesante el uso del módulo Alfresco Trashcan Cleaner que está disponible en la forja de Alfresco. Su instalación es muy simple:

  1. Paramos Alfresco
  2. aplicamos el módulo a alfresco.war con la herramienta mmt:  java -jar alfresco-mmt-X.X.jar /path/to/amp/trashcanCleaner.amp $TOMCAT_HOME/webapps/alfresco.war
  3. borramos el directorio donde se desplegó Alfresco $TOMCAT_HOME/webapps/alfresco/
  4. Arrancamos Alfresco.

Si queremos configurar las opciones del Trashcan Cleaner, antes de arrancar, copiamos trashcan-cleaner-context.xml al directorio extension y lo adaptamos a nuestro gusto. Por defecto borrará los elementos enviados a la papelera a los 7 días y se ejecuta diariamente a las 4AM.

Lecturas recomendadas si quieres estar al día con Alfresco

A veces me preguntan cómo me entero de esto o aquello en relación con la parte técnica de Alfresco. Es fácil, leyendo todo lo posible en relación a la tecnología de turno, y procurando leerlo de los que más saben de la misma. Hoy en día, teniendo las fuentes de información correctas podemos tener datos casi en tiempo real de cualquier cosa que nos interese. Bien, aquí os dejo una colección de enlaces que leo a diario desde mi Universo de Netvibes.

Blyx Universe en Netvibes

Seguro que se me escapan muchos más que también son interesantes, así que cualquier comentario es bienvenido.

El Software Libre no es s√≥lo un pu√Īado de licencias, libertades y ficheros, tambi√©n es una actitud.

Integración de Alfresco con el correo electrónico

Se oye mucho de la integración de Alfresco con el correo electrónico, que si enviar correos, que si recibir, que si almacenamiento automático, que si clasificación automática, que si acceso IMAP con Oultook (Windows), Mail (Mac) o Thunderbird (Linux).

Vamos por partes, veremos como funciona el correo saliente, correo entrante y acceso por IMAP.

Correo saliente:

O lo que es lo mismo, cuando Alfresco env√≠a un correo electr√≥nico a un usuario por una invitaci√≥n, notificaci√≥n, desde una regla o acci√≥n, etc. Estamos hablando del protocolo SMTP, y en este caso, configuramos Alfresco para que se conecte con un servidor de correo, un MTA. Esta conexi√≥n puede ser en claro (funcionamiento por defecto) o cifrado mediante un hack que vamos a ver tambi√©n en este art√≠culo. Todos los correos que env√≠a Alfresco lo hace con un mismo remitente que podremos especificar, es decir, el sistema no enviar√° correos como si fu√©semos nosotros (nuestra cuenta de usuario de Alfresco) sino con su usuario espec√≠fico del servidor, en mi caso [email protected]

Envio de correo por SMTP Autenticado pero sin cifrar:

En tomcat/shared/classes/alfresco-global.properties deberemos configurar así:

#
# Outbound Email Configuration
#-------------
mail.host=smtp.dominio.com
mail.port=25
[email protected]
mail.password=contrase√Īa
mail.encoding=UTF-8
[email protected]
mail.smtp.auth=true
mail.smtp.timeout = 25000

Tambi√©n puedes configurar el “mail sender” descomentando las siguientes l√≠neas en web-client-config-custom.xml (dentro del directorio extension)

<config>
<client>
<from-email-address>[email protected]</from-email-address>
<search-max-results>100</search-max-results>
</client>
</config>

Envío de correo por SMTP Autenticado y cifrado (con Gmail por ejemplo):

Crea el siguiente fichero dentro del directorio extension:

# vi outbound-secure-mail-context.xml 
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
    <!--                        -->
    <!-- MAIL SERVICE           -->
    <!--                        -->

    <bean id="mailService" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host">
            <value>${mail.host}</value>
        </property>
        <property name="port">
            <value>${mail.port}</value>
        </property>
        <property name="username">
            <value>${mail.username}</value>
        </property>
        <property name="password">
            <value>${mail.password}</value>
        </property>
        <property name="defaultEncoding">
            <value>${mail.encoding}</value>
        </property>
        <property name="javaMailProperties">
            <props>
                 <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
                 <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
                 <prop key="mail.smtp.socketFactory.port">${mail.smtp.socketFactory.port}</prop>
                 <prop key="mail.smtp.socketFactory.class">${mail.smtp.socketFactory.class}</prop>
                 <prop key="mail.smtp.socketFactory.fallback">${mail.smtp.socketFactory.fallback}</prop>
            </props>
        </property>
    </bean>
</beans>

En tomcat/shared/classes/alfresco-global.properties deberemos configurar así:

#
# Outbound Email Configuration
#-------------
mail.host=smtp.gmail.com
mail.port=465
[email protected]
mail.password=contrase√Īa
mail.encoding=UTF-8
[email protected]
mail.smtp.auth=true
mail.smtp.socketFactory.port = 465
mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback = false
mail.smtp.timeout = 25000
mail.smtp.starttls.enable = true

Para ver las trazas del correo en los logs de Alfresco deber√≠amos a√Īadir la siguiente l√≠nea en log4j.properties:

log4j.logger.org.alfresco.web.bean.TemplateMailHelperBean=debug

Correo entrante:

Cuando Alfresco es capaz de recibir un correo con sus archivos adjuntos y almacenarlos en el repositorio. Aquí también se utiliza el protocolo SMTP (puerto 25/TCP). Esta funcionalidad ya está terminada y soporta reglas de correos entrantes (clasificación de ficheros adjuntos, etc) lo que aun no soporta es la conversión a html del cuerpo de los mensajes. Vamos a ver como se configura.

Para activarlo debemos editar el fichero tomcat/shared/classes/alfresco-global.properties:

# Enable/Disable the inbound email service. #The service could be used by processes other than
# the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service.
#-------------
email.inbound.enabled=true
# Email Server properties
#-------------
email.server.enabled=true
email.server.port=25
email.server.domain=subdominio.blyx.com
email.inbound.unknownUser=anonymous
# A comma separated list of email REGEX patterns of allowed senders.
# If there are any values in the list then all sender email addresses
# must match. #For example:
# # .*\@alfresco\.com, .*\@alfresco\.org
# Allow anyone:
#-------------
email.server.allowed.senders=.*\@blyx\.com

En email.server.domain debemos especificar el dominio que recibir√° correos del tipo [email protected], lo m√°s c√≥modo es crear un subdominio y apuntar el registro MX del DNS de dicho subdominio al servidor Alfresco.

No olvides que para evitar el uso indiscriminado de Alfresco para recibir correos, hay que a√Īadir los usuarios del sistema que queramos permitir recibir correos al grupo EMAIL_CONTRIBUTORS (Consola de Administraci√≥n), estos usuarios ser√°n los que deben a√Īadir el Email Alias a los espacios.

Hay dos formas de enviar correos a Alfresco, a un espacio que lo hemos activado como Email Alias, por ejemplo a [email protected] o a un espacio del que conocemos su Node DBID, por ejemplo, [email protected]

Para activar y ver el Node DBID, mira este art√≠culo, una vez activado, en los detalles de cada contenido o espacio ver√°s el Node DBID. Para activar el Email Alias de un espacio donde quieras enviar los correos debes ejecutar una acci√≥n sobre el espacio de turno, por ejemplo ‚ÄúCorreo‚ÄĚ ‚Üí Ver Detalles ‚Üí Ejecutar una Acci√≥n ‚Üí Agregar aspecto al contenido ‚Üí Email Alias, hecho esto veremos un nuevo metadato en las propiedades del espacio. Ahora tenemos que editar esos metadatos pinchando en el icono de modificar que hay en la esquina superior derecha del cuadro ‚ÄúPropiedades‚ÄĚ, en el campo ‚ÄúAlias de email‚ÄĚ debes especificar el identificador que usar√°s para enviar los correos, en el caso de la captura ser√≠a [email protected]:

email-alias
Hecho esto ya podemos enviar correos a nuestro Alfresco. Cuando pueda probar suficientemente el enrutado de documentos adjuntos os lo contaré.

El correo entrante también soporta TLS como vimos en el saliente, es muy fácil de configurar, mira aquí.

Buzón de correo:

Cuando accedemos al repositorio como si de un buzón de correo IMAP se tratase (puerto 143/TCP), es decir, acceder al repositorio mediante nuestro cliente de correo favorito, ya sea Mail, Thunderbird, Outlook u otro. Información extraída de la wiki y de mis pruebas.

Vamos a ver como activar IMAP. Para ello, editamos alfresco-global.properties y activamos los siguientes valores. En imap.server.host debes poner el nombre completo de tu servidor o IP, ser√° donde se levante el puerto 143:

#
# IMAP
#-------------
imap.server.enabled=true
imap.server.port=143
imap.server.host=subdominio.blyx.com

Los valores anteriores son los que establece el servidor por defecto, pero hay m√°s opciones en tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties, simplemente tenemos que copiarlos justo debajo de imap.server.host.

imap.server.attachments.extraction.enabled=true
# Default IMAP mount points
imap.config.home.store=${spaces.store}
imap.config.home.rootPath=/${spaces.company_home.childname}
imap.config.home.folderPath=Imap Home
imap.config.server.mountPoints=AlfrescoIMAP
imap.config.server.mountPoints.default.mountPointName=IMAP
imap.config.server.mountPoints.default.modeName=ARCHIVE
imap.config.server.mountPoints.default.store=${spaces.store}
imap.config.server.mountPoints.default.rootPath=/${spaces.company_home.childname}
imap.config.server.mountPoints.value.AlfrescoIMAP.mountPointName=Alfresco IMAP
imap.config.server.mountPoints.value.AlfrescoIMAP.modeName=MIXED

Hay tres modos de trabajar con IMAP en Alfresco, ‚ÄúARCHIVE‚ÄĚ que permite leer y escribir v√≠a IMAP, ‚ÄúVIRTUAL‚ÄĚ que ofrece una visi√≥n del repositorio como correos electr√≥nicos, y ‚ÄúMIXED‚ÄĚ que permite los dos anteriores, es la que est√° activada por defecto como ves en la configuraci√≥n as√≠ como el punto de montaje ‚ÄúIMAP Home‚ÄĚ est√° definido como ‚ÄúCompany Home‚ÄĚ. Las plantillas para configurar la vista de los contenidos como correos electr√≥nicos est√°n disponibles en Freemarker en Company Home ‚Üí Data Dictionary ‚Üí Imap Configs ‚Üí Templates.

Para configurar el cliente de correo electrónico debemos tener en cuenta los siguientes datos:

Servidor IMAP: IP o nombre del servidor Alfresco.

Puerto: 143

Usuario: tu usuario de Alfresco.

Contrase√Īa: tu contrase√Īa de Alfresco.

Configuración SMTP: puedes usar otra configuración que conozcas, no aplica en este caso.

¬ŅComo activar un Site para acceder al ‚ÄúDocument Library‚ÄĚ y ‚ÄúLinks‚ÄĚ mediante IMAP?

En nuestro ‚ÄúPanel de control‚ÄĚ o ‚ÄúDashboard‚ÄĚ en Share, en el cuadro ‚ÄúMis sitios‚ÄĚ deberemos activar pinchando en el icono en forma de estrella con un sobre:

favorito-site-imap

Hecho eso y refrescando nuestra cuenta en el cliente de correo ya veremos algo como la siguiente captura:

ver-sitio-en-cliente
Vale, ¬Ņy como subo ficheros a Alfresco mediante IMAP? F√°cil, si en tu cliente de correo tienes otras cuentas de correo configuradas prueba pinchar sobre un correo y arr√°strarlo a la carpeta principal de la cuenta reci√©n configurada de AlfrescoIMAP, el correo electr√≥nico y sus ficheros adjuntos subir√°n a Company Home ‚Üí IMAP Home ‚Üí Usuario ‚Üí INBOX, ver√≠amos algo como lo siguiente en Alfresco Explorer:

vista-inbox-en-alfresco-explorer

También podemos arrastrar a cualquier otra carpeta de Alfresco a la que tengamos acceso de escritura mediante IMAP, como por ejemplo el DocumentLibrary de cualquiera de nuestros Sites en Alfresco Share, mira esto.

Puede ser c√≥modo para almacenar correos en Alfresco de forma r√°pida, simplemente pinchando, arrastrando y soltando, como dicen los guiris ‚Äúdrag and drop‚ÄĚ ūüėČ

He intentado cubrir todos las posibilidades con el correo electrónico y espero que haya sido claro en las explicaciones. Perdonad la maquetación del artículo. Como siempre, los comentarios están abiertos a vuestras sugerencias, correcciones y demás.

Cómo hacer que la batería del iPhone dure un 30-40% más

Prometo que es la √ļltima cosa que digo del iPhone.

Tras una semana y pico trabajando con el “bicho” me he dado cuenta de varias cosillas, entre otras que posiblemente “ya echo de menos mi Blackberry” pero le estoy dando una oportunidad a este aparato tan “guay” como es el iPhone. Supongo que a los que ten√©is iPhone 3G os estar√° pasando como a mi, que el iPhone es muy bonito, una chuler√≠a, pero en cuanto a bater√≠a deja mucho que desear y sobre todo cuando lo utilizamos como tel√©fono para trabajar y correo electr√≥nico simplemente.

Desde que lo tengo vengo cargándolo todos los días (cada 20 o 24 horas) y si salgo de viaje casi siempre me quedo sin batería.

Para optimizar al máximo hay, al menos, ocho pasos fundamentales que debéis hacer, os los cuento a continuación:

1¬ļ Desactiva el WiFi, si no es estrictamente necesario no lo uses. Generalmente no es necesario.
¬∑ Puedes desactivar el WiFi desde “Ajustes” -> “WiFi” = 0

2¬ļ Establece el brillo al m√≠nimo para que veas la pantalla, con un 10% es m√°s que suficiente.
¬∑ Desde “Ajustes” -> “Brillo”

3¬ļ Desactiva el 3G, tampoco es estrictamente necesario, los correos siguen llegando igualmente por GPRS.
¬∑ Para desactivarlo: “Ajustes” -> “General” -> “Red” -> “Activar 3G” = 0

4¬ļ Desactiva siempre que puedas el Bluetooth
¬∑ Para desactivarlo: “Ajustes” -> “General” -> “Bluetooth” = 0

5¬ļ Desactiva el GPS, es decir, lo que iPhone llama “Localizaci√≥n”.
¬∑ Para desactivarlo: “Ajustes” -> “General” -> “Localizaci√≥n” = 0

6¬ļ Aseg√ļrate que el bloqueo autom√°tico est√° a 1 minuto.
¬∑ Para comprobarlo: “Ajustes” -> “General” -> “Bloqueo autom√°tico” = 1 minuto

7¬ļ Desactiva la Itinerancia de datos:
¬∑ Para desactivarlo:¬† “Ajustes” -> “General” -> “Red” -> “Itinerancia de datos” = 0

8¬ļ Comprueba el correo o bien de forma manual o cambia la frecuencia a 30 minutos:
¬∑ Puedes adaptarlo en: “Ajustes” -> “Obtener datos” -> “Cada 30 minutos” o mejor “Manualmente”
Eso es todo, he leido por ahí que si está desbloqueado (el mío no porque es corporativo), al meterle otras aplicaciones suele quedarse sin batería demasiado rápido y hay otros trucos.

¬ŅSer√° que hecho de menos la Blackberry…?