Nextcloud et Outils d’édition collaborative auto hebergée

Vous connaissez tous « google doc » ou « office online » ?

Ce genre d’outils est très prisé en environnement scolaire pour travailler avec des élèves ! En effet un groupe d’élèves qui travaille sur le même exposé peut travailler ensemble sur le même document avec chacun son ordinateur. C’est très puissant.

Il faut savoir que ce genre d’outils (google apps ou office 365) est gratuit en établissement scolaire. Si vous êtes une entreprise, le prix va rapidement augmenter. Egalement, l’idée de ne pas vraiment savoir où sont stockées les données est problématique pour la confidentialité. En plus, il vous faut avoir une connexion internet correcte pour que l’ensemble soit utilisable. Bref, il semble important de proposer une alternative !

J’avais testé il y a maintenant 2 ans quelques outils de collaboration auto-hébergée. A l’époque les produits ne m’avaient pas convaincu plus que ça.

Je profite donc des vacances pour voir les évolutions et re-tester les différents outils open-source du marché.

  • Collabora-online
  • Onlyoffice

J’ai donc remonté un petit nextcloud rapide pour tester les deux solutions.

Le plus simple ensuite pour mettre en place les deux solutions c’est d’utiliser docker. C’est simple, rapide, efficace et on se fait pas chier pour les mise à jour.

Rien n’est stocké sur onlyoffice ou collabora online, l’application n’est qu’un éditeur, rien de plus !

Premier test; très concluant, très réactif ! Les deux solutions fonctionnent vraiment bien.

Onlyoffice semble embarquer pas mal de fonctionnalités le produit est très abouti, rien à envier a google doc ou à word online, voir même il est mieux ! Très très bonne surprise ! A tester rapidement !

Collabora online fonctionne très bien également ! Moins de fonctionnalités mais répond très bien a mes besoin ! Faire du doc, du calc, du ppt.

Onlyoffice dans sa version gratuite lui par contre a une limite à 20 utilisateurs simultanée. Au delà, il vous faudra prendre la version payante.

En soit, le logiciel est open source et le code ouvert, rien ne vous empêche d’aller modifier le code pour faire sauter l’avertissement… mais bien entendue, il ne faut pas le faire, il faut encourager financièrement le logiciel pour qu’il évolue et que les dev puissent vivre de leur travail ! Vous prendrez sinon la version collabora !

A savoir qu’une réduction de -70% est proposée au école pour l’offre auto-hébergée et gratuite pour l’offre cloud !

Bref, vous pouvez proposer a vos utilisateurs de reprendre la main sur leurs données ! A eux d’en décider !

 

Subtilités technique rencontrée, et retour d’expérience.

Dans mes test j’ai installée les deux solution, onlyoffice et collabora pour tester. Le tout couplée a un nextcloud

Dans les gros bonus; nextcloud est capable de monter des partage cifs pour les utilisateur! Gros avantage donc car on peut monter des partages windows (cifs) directement dans nextcloud, le plus fort dans l’histoire c’est que le tout est synchronisable avec le client lourd nextcloud sans pour autant être stockée sur le serveur nextcloud !

Egalement d’autre « external storage » comme google drive, Amazon, dropbox, ftp, sftp, webdav, openstack object … sont dispo !

Nextcloud peut aussi faire de la fédération si vous avez plusieurs établissement !

Attention par contre lorsque vous faite de l’édition collaborative avec ce genre de partage (car oui c’est possible) ! Il faut bien comprendre que si il y a écriture concurrentiel  entre le onlyoffice le collabora, le client lourd et le fichier sur le partage cifs, c’est le dernier qui a parlée qui a raison ! Pas de versioning sur les external storage ! C’est une mécanique technique a comprendre mais ça va encore.

La ou cela peut devenir tordu c’est si vous faire de l’édition collaborative sur un partage cifs mais que les différents utilisateurs sont connectée au partage cifs avec un identifiant différent. (l’option identifiant et mot de passe de la session en cour lors de la configuration cifs).
Du coup finalement chaque utilisateur ouvre son propre editeur au niveau du collabora ou du onlyoffice et donc pas d’édition collaborative possible le dernier qui enregistre a raison et écrase les autre changement.

Pour contourner le problème j’ai créer un identifiant « next-cloud-share » pour les partage problématique et je connecte l’external storage en fournissant celui-ci.

Subtilités a comprendre donc …

Autre bonus du nextcloud:

Nextcloud emarque un store d’application. Dans les application interessante :

  • Draw.io
  • Client imap/smtp
  • Client caldev
  • Client cardev
  • Outils d’apelle vidéo
  • Liste de Tache
  • Outils d’organisation …

Bref très bon produit !

Laps, pvlan, partages administratifs, parfeu, limiter les attaques latérales…

Le bilan

Nouveau venu dans les ransomware efficace: notpeyta

Nous allons regarder comment fonctionne peyta et essayer de tirer les enseignement du type de propagation et sécuriser nos réseau en conséquence…

Article Microsoft qui détail l’attaque :

New ransomware, old techniques: Petya adds worm capabilities

Lorsque notpeyta réussi a infecter un poste, il tente de récupérer les mot de passe de la machine pour se propager sur les autre postes avec psexec via les partages administratif ouvert sur les autres postes.

On va voir dans ce post différente solutions pour bloquer cela.

Désactiver les partages administratifs

Une méthode pour bloquer ce type de propagation est avant toute chose de supprimer les partages administratif ouvert sur les postes.
Un paquet de mon dépôt fait cela : https://wapt.lesfourmisduweb.org/tous-les-packages?recherche=smp-disabling-administrative

Mettre en place le pvlan

Une autre méthode est de mettre en place le pvlan sur les switch votre réseau. En effet, en règle général les postes n’ont aucune raison de se voir entre eux. Plus d’information : https://fr.wikipedia.org/wiki/VLAN_priv%C3%A9

Activer LAPS

Une  recommandation  également est d’activer laps sur votre réseau.
En effet nous utilisons malheureusement régulièrement pour des raison de facilitée les même mot de passe administrateur locaux sur tous les postes …  Si ce mot de passe est compromis c’est toute la sécurités de réseau qui est compromise. Laps permet donc de gérer automatiquement le mot de passe du compte « Administrateur » local de toutes les machines de votre domaine. Le mot de passe est changée régulièrement et deviens unique a chaque machine. Il est ensuite stockée dans un attribut spécifique sécurisée dans l’active directory.

Règles parfeu

Globalement, sur un client windows, il n’y a aucune raison pour qu’un port soit en écoute.sur celle-ci… C’est le meilleur moyen de limiter un attaque latérale. D’ailleurs, la prochaine version de wapt va se séparer de son port d’écoute 8088 pour basculer sur du websocket !

J’ai donc fait un paquet wapt qui bloque les différents port de windows ouvert par défaut sans réelle raison pour moi …

Paquet wapt –> smp-add-rules-block-firewall

 

Apache Guacamole – Alternative au VPN pour vos utilisateurs

Petite présentation rapide du produit même si plusieurs blog en parlent déjà.

Guacamole permet de proposer à vos utilisateurs une interface centralisée (web) pour des connections RDP, VNC, ssh.  Dans notre cas c’est surtout le remplacement d’une connexion RDP (trop vulnérable aux attaques) qui nous intéresse. Il peut être pratique par exemple pour proposer une alternative aux connections VPN.

Le but est de fournir à l’utilisateur une connexion RDP à un serveur TSE au travers d’une interface web.  Vous n’êtes donc plus dépendants d’un OS, l’utilisateur peut être sous, Windows, Linux ou Mac (potentiellement tablette et smartphone également). La connexion RDP sera affichée à travers le navigateur web en HTML5.

Guacamole peut être couplée a un LDAP/ActiveDirectory pour l’authentification. Il est également recommandé d’activer l’authentification double facteur pour plus de sécurité (SMS par exemple). Mettre en place un fail2ban pour bannir une IP en cas de trop nombreuses tentatives de connections échouées est recommandé.

Guacamole permet également de partager un écran. Vous pouvez partager votre écran guacamole en partageant un lien, puis définir si les utilisateurs connectés via ce lien pourront contrôler la machine ou non. Cela peut être très pratique pour faire des démos de produit par exemple.

Je propose guacamole pour  une alternative au VPN mais il peut également être une excellente solution dans une école pour proposer un accès à des applications Linux sur des postes windows et inversement !

Petite vidéo:

Sécurités , mes préconisations …


Bonjour à tous …

Petite mise à jour, et conseilles de sécurités pour vos réseaux. Je suis conscients que tous n’est pas applicable.

 

Préconisation pour les attaques frontale internet:

  • Vérifiez vos règles de parfeu sur votre fwall
  • Toute application disponible sur internet doit être dans une DMZ, cela permet de limiter les dégâts si celui-ci se fait hacker. Le hacker pourra donc plus difficilement faire un rebond vers l’intérieur.
  • Mise en place de fail2ban sur les services disponible depuis l’extérieur.
  • Mise en place de l’https pour éviter que les mot de passe ne transite en claire sur les réseaux (facile avec let’s encrypt ) puis forcer le passage par l’https.

 

Préconisation pour la sécurités des postes utilisateurs:

  • Vos logiciels doivent être à jours !! –> Avec WAPT 😉
  • Vos postes windows doivent également être à jours ! (au moins les correctif de sécurités ! )
  • Vos serveur linux doivent également être à jour.
  • Les services (logiciel) installée sur vos serveur doivent également être à jour.
  • Vous devez mettre en place le SRP ! (stratégie de restriction logiciel)
    • Dans l’idéale un utilisateur ne doit pas pouvoir exécuter quelques chose dans un dossier où il a l’accès en écriture
  • Désactiver les macro dans Microsoft Office et Libre Office ou les sécuriser.
  • Désactiver l’exécution des js dans les lecteurs pdf (Adobe Reader)
  • Bloquer avec le Firewall (Winfows ?) les ports ouvert de la machine laissée ouvert inutilement.

 

Préconisation sur le téléchargement d’élément dangereux :

  • Filtrer les pièces jointe dangereuse sur votre system d’email
  • Mettre un système de proxy filtrant obligatoire.
    (impossibilités pour les utilisateurs de sortir directement sur internet)
  • Dans l’idéale mettre en place un snort sur le fwall pour snifer et analyser les tram et bloquer les comportement étrange.

Préconisation pour limiter les dégâts dans le cas où un ransomware a réussi a débuter une attaque:

  • Pour serveur de fichiers (samba) , limitation des dégâts pour ransomware:
    • Mettre en place un audit de suppression des fichier , avec samba : vfs objects = full_audit
    • Mettre en place un fail2ban qui analyse les log audit samba
    • Mettre en place un fichier detecte_ransomware.doc sur le serveur de fichiers.
    • Dans les deux cas: si un comportement étrange est détectée (extension étrange ou suppression du fichiers de détection)  , le fail2ban peut enclencher une action pour stopper l’attaque !
    • Ne pas donner aux utilisateurs plus d’accès que nécessaire aux différentes ressource. (Faire le tri dans les droit d’accès des utilisateurs) pour limiter les dégâts.
    • Bien évidement avoir des sauvegarde fonctionnel !

 

Préconisation pour les administrateurs réseaux:

  • Ne jamais utiliser un compte membre du groupe « domain admins » ! Pour les admins: Faire un groupe uniquement administrateurs des postes.
  • Vos utilisateurs ne doivent bien évidement pas être administrateurs de leur postes ni membre du groupe domain admins…

 

Sécurisation physique du poste de travail :

  • Dans le bios: Bloquer le démarrage sur le disque dur directement.
  • Bloquer l’accès bios par un mot de passe
  • Bloquer l’accès matériel (accès a la carte mère), sinon il deviens facile de faire un reset mot de passe du bios…

 

Sécuriser l’accès physique au différente élément actif du réseau :

  • On parle ici de bloquer physiquement l’accès avec un porte et une clé ou autre …  🙂

 

Sécurisation de l’accès au réseau:

  • Mise en place de 802.1X pour bloquer l’accès au réseau aux poste (pc portable) non autorisée.
  • Même chose pour le wifi !


Communication utilisateur  :

  • Il faut communiquer les risques aux utilisateurs !  Pour qu’ils soit méfiant !

Veille Techno :

  • Tenez-vous au courant a travers les différents article du net! La fail qu’utilise Wannacrypt a été rendu publique une semaine avant l’attaque de grande ampleur !
  • Analyser les contenues bloquée par votre system d’email ou proxy. Mieux connaître son ennemi pour mieux se préparer aux attaque ! Votre système a bloquée une attaque, bloquera t’il les prochaines ?

Solution de parfeu simple et efficace

 

Petit article vite fait pour vous faire découvrir une solution simple et efficace.
On est en règle général tous d’accord pour dire qu’iptables est une solution fiable et efficace mais dont la syntaxe est imbuvable.

J’ai découvert Shorewall a mon nouveau boulot chez tranquilit
Shorewall est une surcouche a iptables ,  permettant de simplifier celui-ci.

J’aime de plus en plus les solutions sans fioriture, pas d’interface web, le tous se résume en quelques fichiers de conf qui deviennent simple a « backuper ».

Le problème avec les solutions tout empaqueter comme pfsense (je ne crache pas sur pfsense non plus) c’est qu’on ne sait pas trop ce qui se passe derrière. J’aime pas trop ça pour débugger c’est pas le top.

L’autre avantage de prendre une solution baser sur linux c’est que vous n’êtes pas lier a un matériel comme sonicwall ou cisco par exemple, et pas de licence …

Bref je vous laisser tester ! Je trouve que ça vaut le coup !

Gestion wapt – all in one package

Salut ça fait longtemps !      Aujourd’hui un article wapt, ça change ^^

Je vous propose de manager wapt de manière différente. On va oublier 30 secondes la console et on va créer un paquet wapt qui va installer des paquetwapt…

Avant WAPT, j’utilisais WPKG. Et ce que j’aimais bien faire c’était gérer les paquets à installer en fonction du nom des postes.

On va faire la même chose avec wapt. Le principe de fonctionnement est le suivant: J’installe sur tous mes postes un paquet wapt nommé tis-all-in-on-package

Et dans ce paquet je définis la liste paquets wapt à installer, supprimer ou oublier. en fonction de différents tests.

J’ai donc fait un paquet wapt d’exemple  ici :
https://wapt.lesfourmisduweb.org/tous-les-packages?recherche=smp-all-in-one-package

Il inclut un certain nombre d’exemples que vous pouvez reproduire !

Je peux donc aller aussi loin que python me le permet dans la finesse de choix des paquets à installer.  Lorsque l’on a un gros parc, c’est quelque chose de très pratique. Un seul paquet wapt gère l’ensemble du parc.

Je sais que certain d’entre vous aimerait gérer la liste des logiciels àge installer en fonction des OU présente dans l’ad. Avec ceci cela pourrait être possible 😉

 

Checker les dernières version des logiciels en ligne

checklist

Bonjour

Dernière petite nouveauté pour mon dépôt.
Avant, pour savoir que je devais faire un paquet wapt je devais m’amuser à aller vérifier les sites à la main et c’était un peu au petit Bonheur la chance ou alors je devais attendre qu’un utilisateur m’indique une mise à jour.

J’ai donc fait un petit script qui va surfer et vérifier à ma place toutes les heures si une mise à jour est disponible et va ensuite m’envoyer un email si la version a changé depuis la dernière fois.

Je ne vais pas publier ce script car vraiment il n’est pas très propre et au prochain changement de design des sites, tout peut sauter. Je modifierais donc en conséquence

En revanche, vous avez ici :
https://wapt.lesfourmisduweb.org/wapt/resultupdate.txt

…la sortie du script, et vous pouvez donc l’exploiter si vous le souhaitez.

Avec ce genre de script a mettre en crontab :

adressemail=blog@lesfourmisduweb.org
pathtemp=/tmp/resultupdate.txt
path=/home/simon/resultupdate.txt
rm -f $pathtemp
wget https://wapt.lesfourmisduweb.org/wapt/resultupdate.txt -O $pathtemp
DIFF=$(diff $path $pathtemp)
if [ "$DIFF" != "" ]
then
echo -e "Des mises a jours sont visiblement disponnible : \n\n"$DIFF'\n\nPensez a faire le Paquet WAPT ' | mail -s "Mise a jour logiciel disponnible en ligne" $adressemail
rm -f $path
mv $pathtemp $path
fi
rm -f $pathtemp

Puis ajoutez le en crontab :

crontabe -e

ajoutez :

0 */5 * * *  /chemin/du/script/majdispo.sh

 

Self Service Password, google apps, office 365 et check password script

change-your-password-623x427

Un petit article utile pour samba et Windows Active Directory

Dans mon établissement nous avons de plus en plus de classe portable (les élèves apporte leur propre pc portable).

Les identifiants et mot de passe pour accéder au wifi, owncloud, etc sont ceux de l’AD, si l’utilisateur veut changer son mot de passe, il doit se connecter a un pc du domaine pour le changer, pas pratique.

J’ai donc mis en place « Self Service Password »:
http://ltb-project.org/wiki/documentation/self-service-password

C’est une page web qui permet de changer son mot de passe :

ssp_change_nooptions

 

Mais cet interface permet donc d’aller encore plus loin et pourrait bien vous changer la vie. En cas d’oublie de mot de passe, le système peut proposer plusieurs méthode pour le réinitialiser:

 

  • Reset by questions
  • Reset by mail challenge (token sent by mail)
  • Reset by SMS (trough external Email 2 SMS service)

Quelques fonctions supplémentaire sont notamment disponible, notamment le fait de gérer plus finement la politique de mot de passe.

Un email peut également être envoyée après un changement de mot de passe afin de détecter des comportements malveillant.

Une dernière fonctionnalités est très intéressante : le posthock

Le posthook est un script où est envoyé le nom d’utilisateur et le mot de passe après le changement de mot de passe.

Je profite donc du posthock pour envoyer le nouveau mot de passe à mon google apps et mon office 365 avec samba4.

En effet, pour samba4, avant, j’envoyai les mot de passe via ce genre de script :
https://github.com/baboons/samba4-gaps

Mais ce genre de script me force à stocker les mot de passe de façon réversible dans l’AD, et je n’aime pas trop ça…

L’autre méthode que j’ai envisager pour  samba est d’utiliser le
« check password script », mais malheureusement cela ne fonctionne plus avec samba4 : https://lists.samba.org/archive/samba/2016-June/200293.html

Edit 08/11/2016 :
Le « check password script » semble être pris en charge dans la version 4.5 de samba. Malheureusement je n’ai pas trouvée de solution pour récupérer le nom d’utilisateur :-/

Ce genre de système est quand même utile avec un active directory, en effet le système de synchronisation  des mot de passe office 365 synchronise les mot de passe toute les 15 minute il me semble. Avec les script office 365 que j’utilise, le changement est instantanée.

Voici donc mon script posthock pour google Apps et office 365:
https://github.com/sfonteneau/script_modify_password_googleapps_and_office365/

Attention ! Pour que le script fonctionne, la politique de complexités de mot de passe doit être sur 8 caractère minimum et 16 maximum !

J’espère un jour que le « check password script » re-fonctionne a nouveau