Seguridad en Odoo - servers

Gustavo Orrillo
- 04/09/2022 - 2 min. de lectura


Días atrás tuve mi primer encuentro con malware en Linux. En pocas palabras lo que sucedió fue; el administrador había puesto un password de root muy debil en el server, el mismo fue crackeado por medio de un ataque de fuerza bruta utilizando un diccionario, y luego se le instaló un malware llamado Dota3 para el minado de criptomonedas. Por suerte el servidor estaba alojado en un VPS que se dió cuenta del problema, y pausó el servidor que se hallaba comprometido. Seguidamente lo que se hizo fue scannear el servidor con el utilitario clamav y rkhunter; los cuales indicaron cual era el problema. El mismo fue solucionado y se recuperó la operación normal del servidor. Bueno... que nos deja esto como enseñanza? Varias por lo pronto...

Backups

En un post anterior hablamos de como realizar el backup de Odoo. El mismo habla de como hacer backup de Odoo y restaurarlo. No hablamos de otras alternativas de backup en el servidor, como hacer el backup del la máquina virtual del servidor (algo posible en VPSs por ejemplo). Si es importante tener en pie una estrategia de backup testeada (sobre todo el restore) y ejecutada en forma diaria.

Passwords en el servidor

Por favor evite passwords simples, que pueden ser descubiertos utilizando un diccionario (en su defecto utilice fail2ban). El password de root debe ser muy complicado de forma tal que no pueda ser crackeado. Pero lo mejor es proteger el acceso al servidor utilizando claves privadas. Demás está decir que no le otorgue acceso al servidor a toda la gente, solo bríndele acceso a quien le administra su servidor. Necesita brindarles acceso a los desarrolladores? Pagueles un ambiente de testeo. 

Firewalls y fail2ban

Con respecto al firewall en el server yo utilizo ufw, el cual es una visión simplificada de iptables. Por lo pronto con Odoo solo necesitamos configurarlo para que trabaje con ssh (al fin y al cabo necesitamos administrar el server) y habilitar el acceso al server con http y https. A veces como necesitamos acceder a PostgreSQL desde el exterior (supongamos con pgadmin) le agregamos el puerto en el que está trabajando dicha base de datos. Y listo, no necesitaríamos tener otro puerto o servicio habilitado.

Por otra parte, se debe instalar fail2ban para protegerse de los ataques de fuerza bruta (que es el ataque que describí en el primer párrafo). Instalar fail2ban no es complicado y la verdad, no se necesita configurarlo para que esté funcionando. Y puede ser de mucha ayuda, en nuestro caso habría evitado el ataque descripto al principio). 

Chequeos semanales por malware

Instale clamav y rkhunter en su servidor y configurelos para que semanalmente chequee la integridad del servidor. Le va a alertar de software dañino que puede estar presente en su servirod. Utilizar ambos software de seguridad no es complicado y puede ahorrarles muchos dolores de cabeza. 

Como pueden ver, utilizar estas medidas de seguridad no son complicadas. Solo requieren un poco de tiempo, y no mucho para ser sincero. Un poco de conocimiento de administración  de Linux, y nos ahorran muchos dolores de cabeza. 

Acerca de:

Gustavo Orrillo

Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.