• openSUSE

  • Pas évident de bloquer une adresse IP spécifique avec firewalld sur l'interface wan (zone public)
    Voici donc comment faire :

    1) Passer en root

    sudo su

    2) Créer la règle (pour bloquer l'IP 1.2.3.4 par exemple)

    firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='1.2.3.4' drop"

    3) Recharger le pare-feu

    firewall-cmd --reload

    -----------------------------------------------
    Pour voir vos règles actives :

    firewall-cmd --list-all

    Pour supprimer une règle :

    firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='1.2.3.4/32' drop"

     


    votre commentaire
  • zypper in -y fail2ban
    le répertoire des fichiers de conf est : /etc/fail2ban

    Configurer contre les attaques DDoS :

    vi /etc/fail2ban/jail.local

    # Ecrire les lignes suivantes
    [ssh-ddos]
    enabled = true

    [pam-generic]
    enabled = true
    # Enregistrer et quitter : ESC :wq

    Pour régler le temps limite de blocage et le nombre maximum de tentatives :

    vi /etc/fail2ban/jail.conf
    # chercher la ligne "# "bantime" is the number of seconds that...",
    # décommenter et spécifier le nombre de minutes (4m pour 4 minutes)
    bantime = 4m

    # chercher la ligne "findtime = 10m"
    # décommenter (ou pas) et spécifier le temps maximum durant lequel un utilisateur a dépassé le maxretry
    findtime = 4m

    # chercher la ligne "# "maxmatches" is the number of matches stored ...",
    # décommenter et spécifier le nombre de tentatives max avant blocage
    maxretry = 2

    # Enregistrer et quitter ESC:wq

    Redémarrer le service pour activer les modifs
    systemctl restart fail2ban

    Pour visionner les tentatives de connexions et les blocages de fail2ban
    tail -f /var/log/auth.log


    votre commentaire
  • apt install bzip2


    Compresser un fichier avec bzip2 (.bz2), dans le même dossier que le fichier source

    bzip2 -z /chemin/fichier

    Particularité de bzip2, il supprime (par défaut) le fichier source lors de la création de l’archive.
    Pour conserver le fichier source en plus de l’archive.

    bzip2 -zk /chemin/fichier


    Décompresser un fichier avec bzip2 (.bz2), dans le même dossier que le fichier compressé

    bzip2 -d /chemin/fichier.bz2

    Décompresser un fichier .tbz2, .tbz, .tar.bz2 , dans le même dossier que le fichier compressé

    bzip2 -dc fichier.tar.bz2 | tar xvf -
    bzip2 -dc fichier.tbz2 | tar xvf -
    bzip2 -dc fichier.tbz | tar xvf -

    avec tar :
    tar -jxvf fichier.tar.bz2
    tar -jxvf fichier.tbz2
    tar -jxvf fichier.tbz


    votre commentaire
  • # Mesures de bon sens
    -Réduire la surface d'exposition : on installe que le stricte minimum.
    -------> pas d'environnement de bureau

    -Le système doit être à jour.
    -------> zypper up -y

    -Utiliser des mots de passe suffisamment complexes.

    -On désactive/supprime les comptes utilisateurs inactifs.
    (lancer yast)

    -On octroie, aux utilisateurs, que les permissions minimales nécessaire aux opérations, pas plus.

    -Mettre en place des resctrictions de paramètres des services (ex : cadence d'envoi de mail pour lutter contre les envois de spam, ou une taille maximale de fichiers pour un serveur FTP, le nombre de connexions maximum par seconde pour une IP sur un seveur web etc...)

    # Un firewall
    En entrée, mais aussi en sortie.

    On interdit tout puis on autorise au cas par cas.
    Plus laborieux à maintenir mais plus robuste.
    Restriction par ip aux services d'administration
    Bannir une IP (fail2ban)
    Bloquer une IP avec firewalld :
    firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.10.10' reject"

    # Durcissement du service SSH
    -Génerer des clefs SSH pour se connecter à un serveur distant

    -Désactiver l'accès au compte root (déjà le cas par défaut)
    -------> vi /etc/ssh/sshd_config

    -Interdire l'accès par mot de passe : que par clé
    -----> vi /etc/ssh/sshd_config
    # Chercher la ligne "#PasswordAuthentication yes#, décommenter et modifier comme ci-dessous :

    PasswordAuthentification no

    -Envoyer un mail à chaque connexion réussie.

    -Autoriser l'authentification par clé privée
    -----> vi /etc/ssh/sshd_config
    # Chercher la ligne "#PubkeyAuthentication#, décommenter et modifier comme ci-dessous :

    PubkeyAuthentication yes

    -Protection d'un site web. Configuration Apache
    Restrtiction d'acccès par ip : Allow ip

    # Protection contre les attaques brute force
    Définition de brute force
    Pourquoi : soulage le serveur
    Une solution classique : fail2ban
    Principe de fonctionnement de fail2ban
    Expérimentation fail2ban : ssh plus un autre service

    # Superviser et alerter
    Mettre en place d'outil de supervision

    # Protection contre les backdoors
    Défintion de backdoor
    rkhunter
    Principe de fonctionnement de rkhunter
     vi /etc/default/rkhunter
    CRON_DAILY_RUN="yes"
    REPORT_EMAIL="moi@mondomaine.fr"
    Mettre à jour les empreintes md5
    rkhunter --propupd

    # Surveiller les logs avec logwatch

    # Sécuriser Apache
    Masquer les signatures serveur
    nosnif
    mod_evasive
    mod_security


    votre commentaire
  • Installation de Wordpress sur openSUSE Leap 15.3
    Vous pouvez utiliser le script téléchargeable ci-dessous pour tout installer d'un coup, une fois votre VM et openSUSE Leap 15.3 fraîchement installés et démarrés

    Télécharger « wordpress.sh »

    Pour télécharger directement depuis votre VM (vers le dossier /tmp)

    wget http://ekladata.com/koQ8nngE-2PQAxr1_XXOfhFuXkE/wordpress.sh -P /tmp


    N'oubliez pas de vous attribuer les droits d'exécution pour le script :

    cd /tmp
    chmod 740 wordpress.sh

     
    Lancer le script :

    ./wordpress.sh

     

    ------------------------------------------------------------------------------------------------
    Procédure d'installation complète (SANS le script) :

     

    Installation de Wordpress sur openSUSE Leap 15.3, depuis le début (avec la pile LAMP) :

    1) apache2

    zypper in -y apache2
    systemctl start apache2
    systemctl enable apache2
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --add-port=443/tcp --permanent
    firewall-cmd --reload

    2) php7

    zypper in *php7*

    Des conflits entre les différents modules vont se produire, répondez 1 à chaque fois, pour choisir de ne pas installer php7-pear-Archive_Tar, php7-wddx et php7-imagick

    a2enmod php7
    systemctl restart apache2

    3) mariadb
    On va créer la base "wordpress" et attribuer tous les droits sur cette base à l'utilisateur "admin", mot de passe "mdp".

    zypper in -y mariadb mariadb-client mariadb-tools
    systemctl start mysql
    systemctl enable mysql
    mysql_secure_installation

               Enter current password for root : ne rien entrer
               Switch to unix_socket authentification : Non

               Set root passwd : Oui
               New password : entrez le mot de passe root pour mysql
               Re-enter new password : entrez à nouveau le mot de passe
               Remove anonymous users : Oui
               Disallow root login remotely : Oui
               Remove test database and access to it ? : Oui
               Reload privilege tables now ? : Oui

    mysqladmin -uroot create wordpress
    mysql -uroot -e"GRANT ALL ON wordpress.* TO admin@localhost IDENTIFIED BY 'mdp'" wordpress

    4) configuration du vhost apache2
    On va créer vhost jurabois.fr

    mkdir -p /srv/www/vhosts/jurabois.fr
    vi /etc/apache2/vhosts.d/jurabois.fr.conf
    # a minima, la config suivante :
    <VirtualHost *:80>
          ServerName jurabois.fr
          DocumentRoot /srv/www/vhosts/jurabois.fr
          ErrorLog /var/log/apache2/jurabois.fr-error_log
          CustomLog /var/log/apache2/jurabois.fr-access_log combined
          <Directory /srv/www/vhosts/jurabois.fr>
          Require all granted
          </Directory>
    </VirtualHost>
    # enregistrer et quitter
    

    5) installation et configuration de wordpress

    wget http://wordpress.org/latest.tar.gz -P /tmp
    cd /tmp
    tar -xvzf latest.tar.gz
    mv wordpress/* /srv/www/vhosts/jurabois.fr
    cd /srv/www/vhosts/jurabois.fr
    cp wp-config-sample.php wp-config.php
    sed -i 's/database_name_here/wordpress/' wp-config.php
    sed -i 's/username_here/admin/' wp-config.php
    sed -i 's/password_here/mdp/' wp-config.php
    systemctl restart apache2

    Après un enregistrement DNS sur votre hôte, vous pourrez accéder à l'interface sur http://jurabois.fr


    votre commentaire
  • Configurer un site internet avec Nginx (openSUSE Leap 15.3)
    Vous pouvez utiliser le script téléchargeable ci-dessous pour tout installer d'un coup, une fois votre VM openSUSE Serveur fraîchement installée et démarrée

    Télécharger « vhost.sh »

    Pour télécharger directement depuis votre VM (vers le dossier /tmp) 

    wget http://ekladata.com/6hHlox6Tiv0uVw5Wvg0zCW_r-VQ/vhost.sh -P /tmp


    N'oubliez pas de vous attribuer les droits d'exécution pour le script :

    cd /tmp
    chmod 740 vhost.sh


    Lancer le script :

    ./vhost.sh

    ------------------------------------------------------------------------------------------------
    Procédure d'installation complète (SANS le script) :


    Nous souhaitons créer le site intranet.jurabois.lan


    Installation et activation d'Nginx :

    zypper in -y nginx
    systemctl start nginx
    systemctl enable nginx


    Création du dossier du vhost et d'une page index.html d'accueil :
     

    mkdir -p /srv/www/vhosts/intranet.jurabois.lan
    echo "Bienvenue sur le site de l'intranet" > /srv/www/vhosts/intranet.jurabois.lan/index.html


    Configuration du vhost :

    les fichiers de configuration par défaut (pour http et https) sont présents dans /etc/nginx/vhosts.d/.
    Il suffit de copier l'un de ces fichiers et de le modifier suivant ce que vous souhaitez.
    ATTENTION, il ne doit rester QUE les fichiers de configurations de vos vhosts dans /etc/nginx/vhosts.d/, les fichiers par défaut doivent être renommés (enlever le .conf) sinon le relancement d'Nginx ne fonctionnera pas !

    mv rmt-server-http.conf rmt-server-http
    mv rmt-server-https.conf rmt-server-https
    cp rmt-server-http intranet.jurabois.lan.conf
    vi intranet.jurabois.lan.conf
    # on conserve, a minima, les informations suivantes :
    server {
                   listen 80;
                   server_name intranet.jurabois.lan;
    
                   location / {
                         root /srv/www/vhosts/intranet.jurabois.lan;
                         index index.html index.htm;
                   }
    }
    # enregistrer et quitter ESC:wq
    systemctl start firewalld
    firewall-cmd --add-port=80/tcp --permanent
    systemctl reload firewalld


    Après un enregistrement DNS sur votre hôte, vous pourrez accéder au site http://intranet.jurabois.lan


    votre commentaire
  • Installation via Git :

    zypper in -y git
    git clone https://github.com/webmin/webmin.git /usr/local/webadmin
    sh /usr/local/webadmin/setup.sh

    Config file directory [/etc/webmin] : laisser par défaut, Entrez
    Log file directory [/var/webmin] : laisser par défaut, Entrez
    Full path to perl (default /usr/bin/perl) : laisser par défaut, Entrez
    Web server port (default 10000) : pour cette présentation, je laisse par défaut (10000), Entrez
    Login name (default admin) : idem, par défaut, Entrez
    Login password : choisissez un mot de passe
    Password agin : répétez
    Use SSL (y/n) : y
    Start Webmin at boot time (y/n) : y


    Ouvrir le pare-feu firewalld à webmin
    Je précise ici 2 méthodes, la première est la plus simple, la seconde, plus sérieuse, repose sur la création d'un service

    1ère méthode : 

    firewall-cmd --add-port=10000/tcp --permanent

    Vous pouvez désormais accéder à Webmin via un navigateur web (https://IP-SRV:10000) !

    2ième méthode :

    firewall-cmd --new-service=webmin --permanent
    firewall-cmd --service=webmin --set-description="Webmin quoi !" --permanent
    firewall-cmd --service=webmin --add-port=10000/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --zone=public --add-service=webmin

    (Attention, l'accès à la zone public n'est pas laissé permanent (par sécurité).
    Si vous relancez firewalld ou redémarrer le serveur, vous ne pourrez plus accéder à l'interface web (http://IP-SERVEUR:10000). Il faudra relancer la dernière ligne !

    Vous pouvez désormais accéder à Webmin via un navigateur web (http://IP-SRV:10000) !

    ----------------------------------------------------------
    Vous pouvez aussi permettre un accès permanent sur le réseau "home" :

    firewall-cmd --zone=home --add-service=webmin --permanent

    ----------------------------------------------------------

    Pour mettre à jour webmin après quelques temps :

    cd /usr/local/webadmin/
    git pull 
    /etc/webmin/restart

    votre commentaire
  • Installation de GLPI sur openSUSE Leap 15.3
    Vous pouvez utiliser le script téléchargeable ci-dessous pour tout installer d'un coup, une fois votre VM et openSUSE Leap 15.3 fraîchement installés et démarrés

    Télécharger « glpi.sh »

    Pour télécharger directement depuis votre VM (vers le dossier /tmp)

    wget http://ekladata.com/h0x52W4ZqOgNk_MMfa4MCQAAUng/glpi.sh -P /tmp


    N'oubliez pas de vous attribuer les droits d'exécution pour le script :

    cd /tmp
    chmod 740 glpi.sh

     
    Lancer le script :

    ./glpi.sh

    Ne vous inquiétez pas du nombre de lignes rouges qui apparaissent durant l'installation du script.
    C'est lié au type d'installation d'openSUSE et des dépôts que vous avez configuré.
    Le script s'exécute tout à fait normalement.

     

    ------------------------------------------------------------------------------------------------
    Procédure d'installation complète (SANS le script) :

    Installation depuis le départ, avec la pile LAMP :

    1) Installer Apache2

    zypper in -y apache2
    systemctl start apache2
    systemctl enable apache2
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --add-port=443/tcp --permanent
    firewall-cmd --reload

     

    2) Installer et configurer php7

    zypper in -y php7 php7-mysql apache2-mod_php7 php7-fileinfo php7-mbstring php7-zlib php7-curl php7-gd php7-intl php7-ldap php7-APCu php7-opcache php7-xmlrpc php7-exif php-zip php7-bz2 php7-sodium
    a2enmod php7 
    systemctl restart apache2

     

    3) Installer et configurer Mariadb

    zypper in -y mariadb mariadb-tools
    systemctl start mysql
    systemctl enable mysql
    mysql_secure_installation

               Enter current password for root : ne rien entrer
               Switch to unix_socket authentification : Non

               Set root passwd : Oui
               New password : entrez le mot de passe root pour mysql
               Re-enter new password : entrez à nouveau le mot de passe
               Remove anonymous users : Oui
               Disallow root login remotely : Oui
               Remove test database and access to it ? : Oui
               Reload privilege tables now ? : Oui

    mysqladmin -uroot create glpi
    mysql -uroot -e"GRANT ALL ON glpi.* TO admin@localhost IDENTIFIED BY 'mdp'" glpi

     

    4) Configurer le vhost (exemple ici : glpi.entreprise.lan)

    mkdir -p /srv/www/vhosts/glpi.entreprise.lan
    cd /etc/apache2/vhosts.d
    cp vhost.template glpi.entreprise.lan.conf
    vi glpi.entreprise.lan.conf
    <VirtualHost *:80>
         ServerName glpi.entreprise.lan
         DocumentRoot /srv/www/vhosts/glpi.entreprise.lan
         ErrorLog /var/log/apache2/glpi.entreprise.lan-error_log
         CustomLog /var/log/apache2/glpi.entreprise.lan-access_log combined
         <Directory /srv/www/vhosts/glpi.entreprise.lan>
             Require all granted
         </Directory>
    </VirtualHost>

     

    5) Téléchargement et installation de GLPI

    wget https://github.com/glpi-project/glpi/releases/download/9.5.7/glpi-9.5.7.tgz -P /tmp
    tar -xvzf /tmp/glpi-9.5.7.tgz
    cp -r glpi/* /srv/www/vhosts/glpi.entreprise.lan
    chmod -R 755 /srv/www/vhosts/glpi.entreprise.lan
    chown -R wwwrun:www /srv/www/vhosts/glpi.entreprise.lan
    systemctl restart apache2


    Voilà, l'installation est terminée.
    Après un enregistrement DNS sur votre hôte (sur le poste d'où vous voulez accéder à l'interface web de glpi), vous pourrez accéder à GLPI par http://glpi.entreprise.lan


    votre commentaire
  • Pour cet article, nous allons créer l'utilisateur Pierre Marion et explorer les possibilités 

    loguez-vous en root

    yast

    Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    La liste des utilisateurs s'affiche. 
    Pour en créer un nouveau, Add (en bas)

    Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    on entre les identifiants de Pierre Marion.
    Qques touches TAB permettent de passer d'un onglet à l'autre (User Data-Details-Password Settings...) en fonction des paramétrages attendus. Allons sur Details.

    Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    L'onglet Details affiche le chemin de base de l'utilisateur, le(s) groupe(s) dont il fait partie (et auxquels on peut le rajouter !), les permissions etc..

    Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    Dans l'onglet Password Settings, on peut paramétrer la politique de mot de passe pour l'utilisateur Pierre Marion.

     Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    Ajouter ou non une clef publique SSH

    Créer un utilisateur, paramétrer des règles de mots de passes, gérer les clefs Publiques

     

     

    Pour terminer (et donc créer l'utilisateur), on valider avec OK (en bas à droite)


    votre commentaire
  • Pour cette manip, nous avons rajouté un disque dur virtuel de 1Go à notre machine virtuelle sous openSUSE Leap 15.3

    loguez-vous en root

    yast

     

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

     

    Se déplacer avec la touche TAB jusqu'à All Devices, puis descendre avec la flèche du bas sur sdb.
    Tappez sur Entrée 

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

     

    Ajoutez une partition /dev/sdb (en bas "Add Partition")

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

    Sélectionnez le système de fichiers

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

     

    Sélectionnez un point de montage (pour cet essai, j'ai choisi /test). Puis Next 

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

    On voit s'afficher le résumé de ce qu'on a fait. Next. 

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

     

     

    YaSt va créer la partition sdb1. Next

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4

    Le Partitionner a quitté. La partition a été créée.

    Pour vérifier, relancer le Partitionner et regarder : la partition sdb1 apparaît bien.

    Créer une partition sur /dev/sdb avec fdisk. Formater en ext4


    votre commentaire
  • (Mise-à-jour : 2 mai 2022)

    Configurer un site internet avec Apache2 (openSUSE Leap 15.3)
    Vous pouvez utiliser le script téléchargeable ci-dessous pour tout installer d'un coup, une fois votre VM openSUSE Serveur, fraîchement installée et démarrée

    Télécharger « vhost.sh »

    Pour télécharger directement depuis votre VM (vers le dossier /tmp) 

    wget http://ekladata.com/OtxtOWzLDeJOA8COY2z6xUb4M0s/vhost.sh -P /tmp


    N'oubliez pas de vous attribuer les droits d'exécution pour le script :

    cd /tmp
    chmod 740 vhost.sh


    Lancer le script :

    ./vhost.sh

     

    ------------------------------------------------------------------------------------------------
    Procédure d'installation complète (SANS le script) :

     

    On souhaite ici créer le site web (vhost) intranet.jurabois.lan

    Une fois votre premier boot et premier login (loguez-vous en root) passés,

    zypper in -y apache2
    systemctl start apache2
    systemctl enable apache2
    mkdir -p /srv/www/vhosts/intranet.jurabois.lan
    echo "Bienvenue sur la page de l’intranet" > /srv/www/vhosts/intranet.jurabois.lan/index.html


    Le fichier modèle de configuration d'un vhost est
    /etc/apache2/vhosts.d/vhost.template

    cd /etc/apache2/vhosts.d/
    cp vhost.template intranet.jurabois.lan.conf
    vi intranet.jurabois.lan.conf
    # ne conserver que les éléments d'informations suivants (a minima) :
    # (Ne surtout pas oublier les 4 dernières lignes !)
    <VirtualHost *:80>
          ServerName intranet.jurabois.lan
          DocumentRoot /srv/www/vhosts/intranet.jurabois.lan
          ErrorLog /var/log/apache2/intranet.jurabois.lan-error_log
          CustomLog /var/log/apache2/intranet.jurabois.lan-access_log combined
          <Directory /srv/www/vhosts/intranet.jurabois.lan>
          Require all granted
          </Directory>
    </VirtualHost>
    systemctl restart apache2
    systemctl start firewalld
    firewall-cmd --add-port=80/tcp --permanent
    firewall-cmd --reload


    Vous pouvez à présent accéder à la page web créée depuis un autre poste sur le même réseau (avec un petit enregistrement DNS dans le fichier hosts)


    votre commentaire
  • Plusieurs façons de configurer un réseau existent sous openSUSE :

    Sur l'interface graphique, et suivant l'environnement de bureau choisi :
    - Connexions (KDE)
    - YaSt Network

    En ligne de commande, avec YaSt 

    yast

    Aller dans "System", "Network Settings"

    Configurer le Réseau

     

     

    Choisissiez la carte réseau voulue, et effectuez les modifs de configurations avec "Edit".
    Vous pouvez également régler le DNS et créer des routes grâce aux onglets.. Encore une fois, la touche TAB est utile !!

    Configurer le Réseau

     

    Configurer le Réseau

    En ligne de commande, en modifiant les fichiers :
    - Pour l'adresse IP te le masque. (l'* représente le nom de l'interface)

    vi /etc/sysconfig/network/ifcfg-*
    BOOTPROTO='static' ou 'dhcp'
    IPADDR='IP/CIDR' # ou alors, indiquer le masque à la ligne avec NETMASK='255....'

    - Pour la passerelle (gateway) :

    vi /etc/sysconfig/network/routes
    default IP-PASSERELLE

    - Pour le serveur de noms (DNS)

    vi /etc/resolv.conf
    nameserver 1.1.1.1

     

    Ne pas oublier de relancer :

    systemctl restart network

    votre commentaire
  • Relancer les interfaces réseaux :
    service network restart
    service NetworkManager restart

    systemctl restart network
    systemctl restart NetworkManager

    /etc/init.d/network stop
    /etc/init.d/network start
    /etc/init.d/network restart

    Relancer uniquement l'interface eth0 :
    service network stop eth0
    service network start eth0
    service network restart eth0

    /etc/init.d/network stop eth0
    /etc/init.d/network start eth0
    /etc/init.d/network restart eth0

    Ajouter un utilisateur existant (theophile) à un groupe existant (vboxusers)
    usermod -a -G vboxusers theophile

     

     

    openSUSE Explication
    cat /etc/resolv.conf affiche l'IP du serveur de noms (DNS)
    uname affiche le type de noyau (Linux...)
    uname -r affiche la version du noyau
    cat /etc/os-release affiche la version d'openSUSE
    systemctl start apache2 démarre Apache2
    systemctl stop apache2 arrête Apache2
    systemctl restart apache2 redémarre Apache2
    apachectl graceful redémarre Apache2
    service apache2 restart redémarre Apache2
    /etc/sysconfig/network/ifcfg-eth0 fichier où on configure l'interface eth0 avec une adresse IP et un masque
    /etc/sysconfig/network/route fichier où on configure la passerelle (gateway)
    /etc/resolv.conf fichier où on configure le serveur de noms (DNS)
    grep MemTotal /proc/meminfo affiche la mémoire de la machine
    grep model /proc/cpuinfo affiche le modèle de processeur
    alias affiche la liste des alias créés
    alias fh="ls -la" crée un alias nommé fh pour la commande listant (en lignes) tout le contenu du répertoire local
    unalias fh supprime l'alias nommé fh
    lsusb -v affiche des informations sur les périphériques USB
    lspci -v affiche des informations sur les périphériques de bus Pci
    cal affiche le calendrier du mois en cours
    cal 2025 affiche le calendrier de l'année 2025
    nmap -O 192.168.1.44 tente de deviner l'OS de la machine distante (en réseau) 192.168.1.44
    nmap 192.168.0.52 affiche les ports activés de la machine distante (en réseau) 192.168.0.52
    mount /dev/sdb /mnt monter le lecteur /dev/sdb au point de montage /mnt
    umount /mnt démonter le lecteur au point de montage /mnt
    find /home/utilisateur -type d affiche la liste de tous les dossiers (et sous-dossiers) du répertoire /usr/home/utilisateur
    find /home/utilisateur -type f affiche la liste de tous les fichiers (y compris ceux contenus dans les sous-dossiers) du répertoire /usr/home/utilisateur
    chmod 755 essai.txt attribue les droits de lecture/écriture/exécution à l'utilisateur, lecture/exécution au groupe, lecture/exécution aux autres, au fichier essai.txt
    chmod 761 essai.txt attribue les droits de lecture/écriture/exécution à l'utilisateur, lecture/écriture au groupe, exécution aux autres, au fichier essai.txt
    chmod -R 755 dossier attribue de façon récursive, tous les droits à l'utilisateur, lecture et exécution à tous les autres au dossier
    find /home/pierre -type f -print0|xargs -0 chmod 640 attribue les droits de lecture/écriture à l'utilisateur, écriture au groupe, rien aux autres, à tous les fichiers (y compris ceux contenus dans les sous-dossiers) du répertoire /usr/home/pierre
    hostname -I affiche l'IP de la machine
    hostname affiche le nom de la machine
    zypper info apache2 donne des informations sur le paquet apache2
    less fichier.txt affiche le document fichier.txt sous forme paginée
    zypper clean supprime les archives servant à installer les paquets
    zypper search nmap cherche si le paquet nmap existe
    pwd renvoie l'endroit où on se trouve
    cd nous renvoie au répertoire de l'utilisateur
    ls -r liste le contenu du répertoire local dans l'ordre alphabétique inversé
    chown pierre /chemin/fichier.html attribue à l'utilisateur pierre la propriété de la ressource fichier.html
    chown -R pierre /chemin/dossier attribue à l'utilisateur pierre la propriété du dossier et de tout ce qui s'y trouve (-R = récursif)
    mv fichier.txt essai.txt renomme la ressource fichier.txt en essai.txt
    cp data /contenu copie data dans /contenu
    rm index.html supprime le fichier index.html
    rm -r videos supprime le dossier videos et tout ce qu'il contient
    grep "^Cependant" roman.txt" affiche toutes les lignes commençant par le mot Cependant du fichier roman.txt
    grep "objet.$" roman.txt affiche toutes les lignes terminant par objet. du fichier roman.txt
    grep "r[oe]*d" roman.txt affiche toutes les lignes contenant soit rd, soit rod, soit roed, soit red du fichier roman.txt
    grep "[0-9]" compta.txt affiche toutes les lignes contenant un chiffre entre 0 et 9 du fichier compta.txt
    grep "[^0-9]" compta.txt n'affiche QUE les lignes NE CONTENANT PAS de chiffre entre 0 et 9 du fichier compta.txt
    grep -r ".pdf" /home | wc -l affiche le nombre de fichier pdf dans /home et tous ses sous-dossiers
    shutdown now éteint la machine maintenant
    shutdown +1 éteindra la machine dans 1min
    shutdown 01:52 éteindra la machine à 01h52
    date affiche la date du jour
    zypper up met à jour le cache du gestionnaire de paquets
    reboot redémarre la machine
    iwconfig affiche la configuration réseau wifi uniquement
    ping -c 4 17.24.13.2 ping 4 fois 17.24.13.2
    ps -fe affichage détaillé de tous les processus de la machine en cours
    zypper remove webmin supprime le paquet installé webmin
    passwd permet à l'utilisateur de changer son mot de passe
    passwd pierre permet à root de changer le mot de passe de l'utilisateur pierre
    echo "Hello" affiche Hello
    ls -la > log.txt envoie la STDOUT de ls -la dans le fichier log.txt
    ls -la >> log2.txt rajoute la STDOUT de ls -la au fichier log2.txt
    ls -lt affiche (en lignes) le contenu du répertoire local, par ordre chronologique de création (du plus récent au plus ancien)
    head -n 7 roman.txt affiche les 7 premières lignes de roman.txt
    tail -n 2 roman.txt affiche les 2 dernières lignes de roman.txt
    /etc/passwd chemin absolu du fichier contenant les noms de tous les utilisateurs
    grep "pierre" /etc/passwd affiche la ligne de l'utilisateur pierre dans le fichier contenant les noms de tous les utilisateurs
    fdisk -l affiche toutes les partitions. Utiliser yast pour partitionner
    mkfs -t msdos /dev/sdb1 Crée un système de fichiers FAT32 dans sdb1. Il faut avoir créé la partition avant avec yast ou fdisk
    touch carotte.txt photo.jpg script.css Crée simultanément les fichiers carotte.txt, photo.jpg et script.css dans le répertoire local
    Ce\ nom\ contient\ plein\ d'espaces.txt autre façon d'écrire, sans guillemets, le nom du fichier "Ce nom contient plein d'espaces.txt
    clear efface le shell
    df -h affiche la répartition de consommation de l'espace disque de façon intelligible
    blkid affiche les UUID
    /etc/fstab chemin absolu du fichier permettant d'indiquer que l'on souhaite monter automatiquement un lecteur à chaque démarrage
    resize2fs permet redimensionner le système de fichiers lors de l'agrandissement d'une partition
    /etc/sudoers.d chemin absolu du dossier contenant le fichier de permissions sudo des utilisateurs
    useradd antoine -p debian -g linux -m crée l'utilisateur antoine, mot de passe debian, l'ajoute au groupe linux (qui doit déjà exister !!), et crée son répertoire de base dans /home. Mais le mieux est, encore une fois, d'utiliser yast
    wget http://monsite.com/telechargement.txt permet de télécharger le fichier http://monsite.com/telechargement.txt
    dpkg-reconfigure tzdata dans ubuntu, permet de lancer le programme de configuration des variables de temps et de date
    /etc/group chemin absolu du fichier contenant la liste des groupes
    id affiche les informations de l'utilisateur logué et les groupes auxquels il appartient
    groups affiche les groupes dont fait partie l'utilisateur logué
      éteint immédiatement l'ordinateur
    exit quitte la session en cours
    ls ~ affiche le contenu du répertoire de base de l'utilisateur, peu importe l'endroit où l'on se trouve
    ls ../.. affiche le contenu du dossier parent du dossier parent où je me trouve
    login permet de se loguer dans une nouvelle session
    hostnamectl set-hostname roger 1ère étape pour changer définitivement le hostname
    /etc/hosts 2nde étape pour changer définitivement le hostname. 127.0.0.1 NOM.. puis reboot
    cd .. permet de se déplacer dans le dossier parent
    cd ../.. permet de se déplacer directement dans le dossier parent de mon dossier parent
    ls -R affiche l'arborescence à partir du répertoire local
    tree programme permettant d'afficher l'arboresence à partir du répertoire local. A installer !
    ssh martin@192.168.1.56 permet d'accéder en ssh, à la session de martin, sur la machine 192.168.1.56
    ssh -l martin 192.168.1.56 permet d'accéder en ssh, à la session de martin, sur la machine 192.168.1.56, sans l'arobase !
    ssh -p 22350 martin@192.168.1.56 permet d'accéder en ssh sur le port 22350, à la session de martin, sur la machine 192.168.1.56
    scp /fichier/à/envoyer/ martin@192.168.1.56:/destination/ permet d'accéder en ssh, à la session de martin, sur la machine 192.168.1.56
    scp -P 2355 /fichier/à/envoyer/ martin@192.168.1.56:/destination/ permet d'envoyer un fichier en ssh (avec un port SSH modifié sur le serveur !.. attention au -P MAJUSCULE) avec scp, à la session de martin, sur la machine 192.168.1.56
    scp -P 2355 martin@192.168.1.56:/fichier-à-récupérer/ /destination-local/ permet de récupérer un fichier en ssh depuis le serveur distant (avec un port SSH modifié sur le serveur !.. attention au -P MAJUSCULE) avec scp, grâce à la session de martin sur le serveur
    cp -R emails archives permet de copier le dossier emails ainsi que tout son contenu vers le dossier archives
    cp -R emails/ archives permet de ne copier que le contenu du dossier emails vers le dossier archives
    telnet 192.168.1.57 23 permet d'accéder en telnet (port par défaut) à la machine 192.168.1.57
    sudo su - dans ubuntu, permet de se loguer en root
    su - dans debian, permet de se loguer en root
    /etc/apache2 chemin absolu du répertoire de base d'Apache2
    /etc/apache2/httpd.conf chemin absolu du fichier de configuration général d'apache2
    /var/log chemin absolu du répertoire contenant les logs générés par l'OS
    tail -f log.txt affiche log.txt en actualisant son contenu, au fur et à mesure que le processus lié au log s'exécute
    groupadd NOM-DU-GROUPE Créer un groupe
    groupdel NOM-DU-GROUPE supprimer un groupe
    ip a affiche la configuration réseau, ip, broadcast, masque
    history affiche l'historique des commandes précedemment tappées
    nginx -t Permet de trouver l'erreur de syntaxe dans les fichiers de conf d'Nginx
    history -c Permet de vider l'historique des commandes tappées
    systemctl SERVICE enable Permet de lancer un SERVICE dès le démarrage
    (en root)
    echo 1 > /proc/sys/net/ipv4/ip_forward
    Activer l'IP forwarding (pour ipv4)
    rsync -r /dossier/local/source/ USER@SERVEUR:/dossier/dest Rsync doit être installé avant. apt install rsync
    Transférer le contenu d'un dossier stocké en local vers un serveur distant.
    Rsync compare le contenu du dossier de destination sur le serveur avec le contenu du dossier local à envoyer, afin de ne copier sur le serveur QUE les éléments absents du dossier de destination. C'est de la synchronisation
    rsync -r USER@SERVEUR:/dossier/source /dossier/local/destination/  Rsync doit être installé avant. apt install rsync
    Inverse de la commande précédante.
    Transférer le contenu d'un dossier stocké sur un serveur distant vers l'ordinateur local.
    Rsync compare le contenu du dossier de destination sur notre poste avec le contenu du dossier du serveur distant à envoyer, afin de ne copier sur notre poste QUE les éléments absents du dossier source. C'est de la synchronisation
    ssh-keygen -t ed25519 Générer une clef SSH avec ed25519 (plus sécure que RSA)
    ssh-keyscan -H IP-SERVEUR-DISTANT Vérifier l'empreinte du serveur distant
    ssh-copy-id -i ~/.ssh/id_ed25519.pub USER-SERVEUR@IP-SERVEUR-DISTANT Commande en une seule ligne.
    Depuis le poste client, envoie la clef publique stockée dans ~/.ssh vers ~/.ssh sur le serveur distant

    votre commentaire
  • Installation d'un antivirus : ClamAV (leur base vaut pas grand chose, mais on peut connecter FreshClam à une base de signatures plus importante comme celle de SecuriteInfo)

    L'installation peut se faire en graphique grâce au YaSt Software Management.

    Clamav s’accompagne de Freshclam, qui s’occupe de la mise à jour de la base antivirus. 

    (passer en mode root pour la suite)

     ------------------------------------------------

    Ajoutez un dossier de quarantaine pour les virus et fichiers suspicieux :
    mkdir /var/lib/clamav/quarantine
    chown vscan:vscan /var/lib/clamav/quarantine

     

    Pour optimiser vos détections d'antivirus, qques optimisations de clamd.conf
    (/etc/clamd.conf) :
    vi /etc/clamd.conf

    #copier tout en bas :

    • DetectPUA yes
    • ExcludePUA PUA.Win.Packer
    • ExcludePUA PUA.Win.Trojan.Packed
    • ExcludePUA PUA.Win.Trojan.Molebox
    • ExcludePUA PUA.Win.Packer.Upx
    • ExcludePUA PUA.Doc.Packed
    • MaxScanSize 150M
    • MaxFileSize 100M
    • MaxRecursion 40
    • MaxEmbeddedPE 100M
    • MaxHTMLNormalize 50M
    • MaxScriptNormalize 50M
    • MaxZipTypeRcg 50M

     

    Pour lancer un scan antivirus :

    sudo clamscan -r --log=/var/lib/clamav/scan.log --move=/var/lib/clamav/quarantine /DOSSIER/A/SCANNER


    Pour programmer l'update régulier des bases de signatures :
    crontab -e
    n * * * * freshclam --quiet

    remplacez n par un nombre compris entre 3 et 57.

    Je vous laisse le soin de programmer éventuellement un scan régulier de la même façon...
     ------------------------------------------------

    Ajouter la base de signatures SecuriteInfo (si vous avez pris un abonnement annuel Pro/Gold/Reseller - par exemple)

    Sur votre compte SecuriteInfo, dans l'onglet "Setup" s'affiche un encart contenant la configuration à copier/coller dans le fichier de conf.

    le fichier de conf à modifier est : /etc/freshclam.conf
    vi /usr/local/etc/freshclam.conf
    # allez tout en bas du fichier, et collez les lignes des bases.
    ...

    Relancez le service :
    service freshclam restart

    vous pouvez ensuite retourner dans le dossier /var/lib/clamav et observer le téléchargement en cours des bases

     ------------------------------------------------


    votre commentaire
  • Commandes de base à connaître sur openSUSE

    ---------

    YaSt est l’outil permettant de faire les MAJ en graphique

    En ligne de commande :
    zypper.

    en root uniquement.


    Mettre à jour la distri (l’équivalent du “apt update” ou “pkg update”)
    zypper up
    zypper update
    Installer uniquement les correctifs de sécurité du système :
    zypper lp


    voir la liste des dépôts actifs sur la ditri :
    zypper lr
    Ajouter nouveau référentiel :
    zypper addrepo -c “URL REFERENTIEL”
    Supprimer un référentiel :
    zypper removerepo NOM-REFERENTIEL


    Installer un paquet :
    zypper in PAQUET
    zypper install PAQUET
    Installer un paquet en acceptant automatiquement :
    zypper in -y PAQUET
    zypper install -y PAQUET
    Supprimer un paquet :
    zypper rm moc
    Effacer la mémoire cache :
    zypper clean
    Chercher un paquet :

    zypper info PAQUET
    zypper se PAQUET
    zypper search PAQUET
    Obtenir des informations sur un paquet groupé (exemple lamp) :
    zypper info -t pattern lamp_server


    Obtenir de l’aide sur une commande spécifique installée :
    zypper help in
    zypper help install

     


    votre commentaire


    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique