wiseflat a écrit 7 commentaires

  • [^] # Re: KV store & Service discovery

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 1.

    RTM

  • [^] # Re: API

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 2.

    Voilà comme je résous le problème, avec un playbook ansible :

    - hosts: home-dnsmasq
      become: true
      tasks:
    
        - name: Baddomain - Get all domains
          get_url:
            url: https://api.wiseflat.com/baddomain/list
            dest: /etc/blacklist.dnsmasq
            mode: 0644
    
        - name: remove whitelist domains from blacklist.dnsmasq
          shell: sed -i '/{{ item }}/d' /etc/blacklist.dnsmasq
          with_items: "{{ api_baddomains_whitelist }}"
    
        - name: Reload dnsmasq service
          service:
            name: dnsmasq
            state: reloaded

    Ca se traduit par un run ansible :

    ➜  wiseflat-project git:(master) ✗ ansible-playbook play/tasks/api-baddomains.yml
    
    PLAY [home-dnsmasq] *********************************************************************************
    
    TASK [Gathering Facts] ******************************************************************************
    ok: [home-dnsmasq]
    
    TASK [Baddomain - Get all domains] ******************************************************************
    changed: [home-dnsmasq]
    
    TASK [remove whitelist domains from blacklist.dnsmasq] **********************************************
    changed: [home-dnsmasq] => (item=github.com)
    
    TASK [Reload dnsmasq service] ***********************************************************************
    changed: [home-dnsmasq]
    
    PLAY RECAP ******************************************************************************************
    home-dnsmasq               : ok=4    changed=3    unreachable=0    failed=0
    
    • Je m'adapte en fonction des données renvoyées par l'API.
    • Je forge mes playbooks d'exploitation pour m'adapter à la situation
    • La sécurité reste optimale par défaut et je l'assouplie si j'ai besoin

    Je réponds à une autre question concernant l'utilité d'avoir un accès SSH dans ses containers. Je ne me connecte jamais sur le porte-container pour faire du lxc-attach.

    J'ai rajouté cette fonctionnalité dans le projet ansible. Le commit est sur GitHub

  • [^] # Re: Docker CE, LXC, ssh ??

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 1. Dernière modification le 17 mai 2018 à 08:09.

    Salut Mirabellette
    Je ne suis pas tout à fait d'accord sur tous les points mais encore une fois ce n'est qu'un avis très personnel. C'est un projet domotique, ne l'oublie pas…

    Concernant la configuration réseau

    Si j'ai choisi cette config, c'est parce qu'il s'agit d'un serveur qui tourne sur un lan privé, qui contient en théorie, déjà un DHCP fourni par la box de ton FAI. Tu ne DéNate pas les ports SSH de tous tes containers pour les exposer sur internet, tu ne le fais que pour un, qui contient tes mécanismes de protection (reverse proxy, bastion ssh, …) ! J'espère que tu fais confiance à ce qu'il se passe sur ton LAN :-)

    Pour avoir eu des vlan sur mon réseau privé, c'est pénible à la longue, justement à cause des DNAT à faire sur ton parfeu. C'est une configuration de base, c'est sûr qu'elle ne convient pas à tout le monde.

    En domotique il existe des bus de communication qui diffuse en Broadcast des messages provenant de passerelles applicatives. Les DNAT ca devient vite pénible pour le coup. Y a pas que du web dans le projet.

    Concernant la sécurité

    Je n'ai pas imposé de cadre, l'API propose du contenu, à toi de l'utiliser à ta façon et suivant ton contexte si cela t'intéresse…

    Merci !

  • [^] # Re: API

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 1.

    En même temps, si une page d'un site est piraté, il vaut mieux éviter d'aller sur le site, c'est plus prudent
    Je vais faire des whitelists, je pense. Ce sera dans une des évolutions de l'API…

  • [^] # Re: API

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 2. Dernière modification le 16 mai 2018 à 23:25.

    LOL ! Merci de ta vigilance !

    Voici ce que me sort le fichier maltrail :

    $ grep github.com trails.csv
    github.com/jwinterm/monerospelunker/releases/download/0.1,malware,malwarepatrol.net
    github.com/fireice-uk/xmr-stak/releases/download/2.4.3,malware,malwarepatrol.net
    github.com/jayddee/cpuminer-opt/files/1899884,malware,malwarepatrol.net
    github.com/secwiki/windows-kernel-exploits/raw/master/cve-2017-0213,malware,malwarepatrol.net
    github.com/macchky/cpuminer/releases/download/v2.6.0,malware,malwarepatrol.net
    github.com/d35m0nd142/lfisuite/raw/master,malware,malwarepatrol.net
    ....
    

    Ces projets ont été suspectés par la communauté. Je ne récupère que le domaine racine dans mon listing :-)
    Du coup, faut que je fasse une whitelist… Mais ça va être compliqué vu le nombre d'entrée dans le fichier de maltrail

    wc -l trails.csv
    1188025 trails.csv
    

    Comment faire… La liste est fournie dans l'état, il faudrait peut être faire une suppression des domaines que tu considères comme valide :

    $ sed -i '/github.com/d' baddomain.txt
    $ grep github.com baddomain.txt
    $
    

    J'avoue, la sécurité est un peu violente…

  • [^] # Re: Docker CE, LXC, ssh ??

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 2.

    Le bidouilleur qui a des serveurs linux a dans tous les cas besoin de s'y connecter en SSH. Il n'y pas d'autre façon de faire des choses sur son serveur. Sauf si l'on confie cette tâche à un script ou un outil d'automatisation.

    Ce qu'offre LXC, c'est simplement un cloisonnement complet de tes containers hébergés sur ton porte-container. Tu n'utilises les commandes LXC que pour en créer un nouveau, en faire un snapshot, le supprimer, etc. Mais une fois que ton container obtient une IP via le DHCP sur ton LAN, tu te connectes en SSH directement dedans pour faire ta tambouille et tu fais abstraction de la solution de containérisation qu'il y a dessous. C'est comme dans VMware, promox, openstack. Tu te connectes rarement sur le serveur hôte. Tu attaques son API ou son interface d'administration. C'est ce que tu fais avec les commandes lxc tu attaques l'API LXD.

    Docker est un outil qui aide les développeurs à mettre en production des applications, LXC ne répond pas tout à fait au même besoin et dans mon cas, je préfère cette approche à celle de docker. Je la trouve plus naturelle. Mais c'est un choix très personnel…

    J'espère avoir répondu à ta question

  • [^] # Re: API

    Posté par  . En réponse à la dépêche Wiseflat, un serveur conteneurisé pour vos projets personnels. Évalué à 2. Dernière modification le 16 mai 2018 à 21:47.

    ah oui, c'est une coquille, un problème de cache… Je viens de corriger.
    https://api.wiseflat.com/badip/count/bycountry

    {"status":"success","message":"done","value":[{"country":"AR","number":25245,"percentage":"2.73","timestamp":1526491461},{"country":"AT","number":1007,"percentage":"0.11","timestamp":1526491461},{"country":"AU","number":3650,"percentage":"0.39","timestamp":1526491461},{"country":"BD","number":1142,"percentage":"0.12","timestamp":1526491461},{"country":"BE","number":1004,"percentage":"0.11","timestamp":1526491461},{"country":"BG","number":3550,"percentage":"0.38","timestamp":1526491461},
    ...

    Ces stats sont mises à jour régulièrement. L'intérêt pour moi est simplement de voir l'évolution des menaces de manière globale dans des dashboard de supervision.

    Les listes d'IP proviennent de:
    - badips.com
    - maltrail sur mes serveurs
    - de tous les reject iptables des pare-feux de mes serveurs
    - des logs nginx/apache

    Les listes des domaines malveillants :
    - de maltrail

    J'agrège tout ça et je construis mes statistiques et mes listes. Ces listes sont réutilisées pour protéger mes serveurs.

    La liste d'IPs va dans des règles ipset sur mes pare-feux ou alors dans nginx/haproxy, ça dépend du besoin

    La liste de domaines malveillants est chargée dans dnsmasq. Elle est lu comme un fichier /etc/hosts (0.0.0.0 badomain.com). Ce qui rend le domaine non routable. Mes ordis et serveurs interrogent ce service dns local pour les résolutions de nom de domaines, ce qui fait que toutes les pages web contenant des liens qui pointent vers de la pub/tracking (ne serait-ce que ça, sans parler de site malveillants) sont bloqués… Et tout le monde en profite sur le LAN.