Archives de catégorie : linux

HTACCESS: restreindre l’accès à des fichiers

HTACCESS: restreindre l’accès à des fichiers

je souhaiterai que les fichiers .txt soient inaccessibles par les visiteurs mais accessibles par les fichiers php sur le serveur

Voir https://www.commentcamarche.net/cont…hiers-htaccess
avec le passage
Empêcher l’accès à un type de fichiers par un domaine

Code :

<Files *.txt> 
 
Order Deny, Allow 
Deny from .LeNomDuDomaine.com 
</Files>

complément :Empêcher l’accès à un répertoire
Si on souhaite empêcher l’accès au répertoire , tous les fichiers qui s’y trouvent (images, sons, fichiers .html ou .php, etc…) seront inaccessibles mais pas seulement. En effet, les sous-dossiers et leurs fichiers « héritent » de la protection
L’opération consiste à créer un fichier .htaccess dans le ou les répertoires à protéger. Le fichier .htaccess doit contenir les lignes suivantes :

Code :

<LIMIT GET POST>
 
order deny,allow
deny from all
 
</LIMIT>

Un simple deny comme ci-dessous suffit à interdire à quiconque, l’accès aux fichiers .txt par URL (accès direct) mais n’aura aucune influence sur le code php qui pourra toujours accéder aux fichiers puisque l’accès se fait par accès disque (filesystem) et non par URL.

Code :

 
<FilesMatch "\.txt$">
Deny from all
</FilesMatch>

voir là https://www.askapache.com/htaccess/u…s-in-htaccess/

Using FilesMatch and Files in htaccess

traduction

Files et FilesMatch pour cibler plusieurs fichiers et utiliser des expressions régulières à l’aide de fichiers .htaccess sur Apache.

REMARQUE: FilesMatch doit être utilisé à la place de Files pour traiter plusieurs fichiers.

Ajout d’en-têtes de langue de type de contenu UTF-8 et en-US aux fichiers portant les extensions htm, html, css, js et php

Définition du jeu de caractères dans htaccess

Utilisation de la directive sur les fichiers

<Files ~ "\.(htm|html|css|js|php)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</Files>

Utilisation de la directive FilesMatch (recommandée)

<FilesMatch "\.(htm|html|css|js|php)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</FilesMatch>

Autres exemples utilisant Files et FilesMatch dans htaccess

Cible un seul fichier admin.php

<Files admin.php>
deny from all
</Files>

Fichiers cibles commençant par admin ou staff et se terminant par .php

<FilesMatch "^(admin|staff)\.php$">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /web/username/.htpasswd
Require valid-user
</FilesMatch>

Ciblez tous les fichiers se terminant par .html ou .htm

<FilesMatch "\.(html|htm)$">
AddDefaultCharset utf-8
DefaultLanguage en-us
</FilesMatch>

Description de la directive <FilesMatch>:

elle contient les directives qui s’appliquent aux noms de fichiers correspondants dans une expression régulière Syntaxe: <regex FilesMatch> … </ FilesMatch> Contexte: configuration du serveur, hôte virtuel, répertoire, .htaccess

La directive <FilesMatch> limite la portée des directives incluses par nom de fichier, comme le fait la directive <Files>. Cependant, elle accepte une expression régulière. Par exemple:

<FilesMatch "\.(gif|jpe?g|png)$">

<Files> Directive Description: contient les directives qui s’appliquent aux noms de fichiers correspondants. Syntaxe: <Files filename> … </ Files>.

La directive <Files> limite la portée des directives incluses par nom de fichier. Elle est comparable aux directives <directory> et <location>. Ele devrait correspondre à une directive </ Files>. Les directives données dans cette section seront appliquées à tout objet dont le nom de base (dernier composant du nom de fichier) correspond au nom de fichier spécifié. Les sections <Fichiers> sont traitées dans l’ordre dans lequel elles apparaissent dans le fichier de configuration, après la lecture des sections <répertoire> et .htaccess, mais avant les sections <emplacement>. Notez que <fichiers> peuvent être imbriqués dans les sections <répertoire> pour limiter la partie du système de fichiers auquel ils s’appliquent.

L’argument du nom de fichier doit inclure un nom de fichier ou une chaîne de caractères génériques, où? correspond à n’importe quel caractère et * correspond à n’importe quelle séquence de caractères. Des expressions régulières étendues peuvent également être utilisées, avec l’ajout du caractère ~. Par exemple:

<Files ~ "\.(gif|jpe?g|png)$">

correspondrait aux formats graphiques Internet les plus courants. <FilesMatch> est toutefois préférable.

Notez que contrairement aux sections <directory> et <location>, les sections <Files> peuvent être utilisées dans des fichiers .htaccess. Cela permet aux utilisateurs de contrôler l’accès à leurs propres fichiers, au niveau des fichiers.

Les sections de configuration sont appliquées dans un ordre très particulier. Comme cela peut avoir des effets importants sur la manière dont les directives de configuration sont interprétées, il est important de comprendre comment cela fonctionne.

L’ordre de fusion est le suivant:

<directory> (sauf les expressions régulières) et .htaccess effectués simultanément (avec .htaccess, si autorisé, écrasant <directory>)

  1. <directoryMatch> (et <directory ~>)
  2. <Files> et <FilesMatch> effectués simultanément
  3. <location> and <locationMatch> done simultaneously

Hormis <directory>, chaque groupe est traité dans l’ordre dans lequel il apparaît dans les fichiers de configuration. <directory> (groupe 1 ci-dessus) est traité dans le composant de répertoire le plus court au plus long.
Ainsi, par exemple,
<directory / var / web / rép> sera traité avant le
<directory / var / web / rép / sousdir>.
Si plusieurs sections <directory> s’appliquent au même répertoire, elles sont traitées dans l’ordre des fichiers de configuration. Les configurations incluses via la directive Include seront traitées comme si elles se trouvaient dans le fichier inclus à l’emplacement de la directive Include.

Les sections à l’intérieur des sections <virtualHost> sont appliquées après les sections correspondantes à l’extérieur de la définition d’hôte virtuel. Cela permet aux hôtes virtuels de remplacer la configuration du serveur principal.

Les sections ultérieures remplacent les précédentes.

Remarque technique: une séquence <location> / <locationMatch> est en cours juste avant la phase de traduction du nom (où Aliases et DocumentRoots sont utilisés pour mapper des URL à des noms de fichiers). Les résultats de cette séquence sont complètement perdus une fois la traduction terminée.

la même heure sous Windows et Linux

Vous n’avez pas la même heure sous Linux et Windows en utilisant le dual-boot

L’heure sous Linux est de base réglée sur le réseau UTC

Si l’ordinateur démarre Linux, alors l’heure récupérée est UTC  qui devient celle du système et Linux fait la correction pour le fuseau horaire.
Si ensuite on démarre Windows alors l’OS suppose que l’heure système est l’heure locale (pas de correction).
Dans ce cas Windows affiche donc la mauvaise heure et Linux la bonne heure.

Remède: préciser dans Linux que le système utilise l’heure locale

timedatectl set-local-rtc 1 --adjust-system-clock

voilà , c’est tout !

Pour revenir à la situation initiale:

timedatectl set-local-rtc 0

On peut aussi modifier le fonctionnement de Windows en changeant un réglage de de la base de registre
voir http://ubuntuhandbook.org/index.php/2016/05/time-differences-ubuntu-1604-windows-10/

postgresql sur un ordinateur distant

Voulant utiliser LibreOffice Base sur plusieurs ordinateurs mais la base étant commune, j’ai dû explorer un peu plus loin le fonctionnement de Postgresql

Pour autoriser des clients distants à se connecter, il faut configurer deux fichiers : postgresql.conf et pg_hba.conf. (dans /etc/postgresql/9.5/main ) 9.5 est ma version

Le serveur , le fichier postgresql.conf

 #listen_addresses = ‘localhost’ # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to ‘localhost’; use ‘*’ for all

devient, si le serveur est sur 192.168.1.253

listen_addresses = ‘192.168.1.253 ,localhost’   # ou ‘*’  toutes les connexions réseau

Authentification des clients du réseau local (pg_hba.conf) 192.168.1.250/24
dans le fichier pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
#host    all             all             127.0.0.1/32            md5
# IPV4 réseau 192.168.1.0/24
host    all             all             192.168.1.0/24           md5

Touche F1 …F12 remettre le fonctionnement normal

 A l’installation de linux Mint, je découvre que la touche Fn. permet de passer d’une fonction constructeur (changer le son, mettre en mode avion, etc) à une fonction classique pour les touches F1 à F12.

Par défaut, c’est la fonction constructeur qui est activée. Il faut appuyer sur Fn chaque fois quel’on veux utiliser une des touches F1 à F12.

Pour corriger,

il faut aller dans le BIOS (touche F10 au démarrage ) => Configuration Système => Actions keys mode => Disabled => Sauver et quitter

Merci à par mpat »  forum francophone linuxmint.fr

PostgreSQL et LibreOffice Base

Ouvrir LibreOffice.org Base

Dans l’Assistant Bases de données:
choisir « Se connecter à une base de données existante »
La prochaine fois on pourra utiliser l’option Ouvrir un fichier de base de données existant.

choisir « postgresql » dans la liste déroulante

Cliquer sur Suivant
Dans la case postgresql, écrire les informations de connexion vers la base de données.

Ex:
hostaddr=127.0.0.1 (version minimaliste mais qui fonctionne )

C’est une chaîne de connexion :
dbname=nom de votre base hostaddr=adresse IP de la base port=5432 user=postgres password=votre mot de passe postgres

  • hostadr correspond à l’adresse IP du serveur Postresql. Si vous êtes en local, localhost correspond en principe à l’adresse 127.0.0.1.
  • dbname doit correspondre exactement au nom de votre base de données
  • port est le port d’écoute de Postgresql. Il apparaît à côté du nom du serveur. Si vous gardez la configuration par défaut il est 5432.
  • Le user et password doivent correspondre à un utilisateur défini dans la base Postgresql. Si vous voulez vous connecter en administrateur, c’est postgres et le mot de passe que vous avez défini lors de l’installation de Postgresql.

Cliquer sur Suivant

La fenêtre de paramétrage de l’utilisateur apparaît:
Entrez le nom de l’utilisateur et cochez mot de passe

tester la connexion et vérifier ainsi que la chaîne de connexion entrée dans la fenêtre précédente fonctionne correctement.
Cliquer sur « Tester la connexion »
Si « Connexion établie », cliquer sur Suivant

Cliquer sur « Terminer »

Enregistrez le fichier qui va contenir la connexion vers la base .Fermer et ré-ouvrir .
Le cas échéant remplir le mot de passe, pour enfin voir la fenêtre de contrôle de la base et  naviguer dans les différents schémas, tables et vues de votre base.

Récupérer les fichiers photo effacés sur une carte mémoire

Bonjour,

parfois, on la main lourde et on efface sans réfléchir un  ou plusieurs fichiers importants.

Linux permet de récupérer cela si on a pas trop écrit sur le support par la suite.

Le programme s’appelle foremost
On l’installe

sudo apt-get install foremost
Pour  l’utiliser, il faut identifier le support /dev/sdb1 par exemple; chers moi, c’est plutôt  /dev/mmcblk0p1
Ensuite, pour récupérer les jpeg

sudo foremost -t jpeg -i /dev/mmcblk0p1

Les fichiers trouvés sont dans le répertoire output

voir le site http://tombuntu.com/index.php/2008/04/09/recover-deleted-files-with-foremost/

Nettoyer son système Linux

Au fil du temps, on rempli le cache des navigateurs, les fichiers temporaires qui persistent, les paquets périmés  etc.

On peut faire le ménage à la main mais c’est long !

Sur le site de Angristan  (un vrai petit génie !!) j’ai trouvé mon bonheur sous la forme d’un programme et d’un script.

 BleachBit

sudo apt-get install bleachbit

et et un script Clean.sh

echo "
---------------------------------
Script de nettoyage
---------------------------------
"
sudo apt-get autoremove
echo "
--------------------------------------------------------------
Les paquets inutiles ont été supprimés
--------------------------------------------------------------
"
sudo apt-get clean
sudo apt-get autoclean
echo "
-------------------------------------
apt-get a été nettoyé
-------------------------------------
"
find ~/.thumbnails -type f -atime +7 -exec rm {} ;
echo "
--------------------------------------------------------
Miniatures des images supprimées
--------------------------------------------------------
"
rm -r -f ~/.local/share/Trash/files/*
echo "
---------------------------------------
La corbeille a été vidée
---------------------------------------
"
find ~/ -name '*~' -exec rm {} ;
echo "
----------------------------------------------------------------------------------------------------------
Les fichiers temporaires (terminant par ~) du dossier /home ont été supprimés
----------------------------------------------------------------------------------------------------------
"
echo "
---------------------
|Nettoyage terminé !|
---------------------
"

Pour les détails, allez voir l’auteur https://angristan.fr/nettoyer-et-liberer-espace-ordinateur-linux-bleachbit/

Faille Wifi du WPA2

Toutes les attaques contre WPA2 utilisent une nouvelle technique appelée attaque de réinstallation clé (Key reinstallation attacks KRACK):

Attaques par réinstallation clés

Dans une attaque de réinstallation clé, l’adversaire incite une victime à réinstaller une clé déjà utilisée. Ceci est réalisé en manipulant et en rejouant les messages de négociation cryptographique. Lorsque la victime réinstalle la clé, les paramètres associés, tels que le numéro de paquet de transmission incrémentiel et le numéro de paquet de réception (c’est-à-dire le compteur de relecture), sont réinitialisés à leur valeur initiale.
Essentiellement, pour garantir la sécurité, une clé ne doit être installée et utilisée qu’une seule fois. Malheureusement,les chercheur sde la KU Leuven ont constaté que ce n’est pas garanti par le protocole WPA2.
En manipulant des « poignées de main » cryptographiques, on peut abuser de cette faiblesse dans la pratique.

L’attaque est particulièrement catastrophique vis-à-vis des versions 2.4 et supérieures de wpa_supplicant, un client Wi-Fi couramment utilisé sous Linux.
Ici, le client va installer une clé de cryptage tout-zéro au lieu de réinstaller la clé réelle. Cette vulnérabilité semble être causée par une remarque dans la norme Wi-Fi qui suggère d’effacer la clé de cryptage de la mémoire une fois qu’il a été installé pour la première fois.
Lorsque le client reçoit maintenant un message de la prise de contact à 4 voies, il réinstalle la clé de cryptage maintenant effacée, installant efficacement une clé tout zéro.
Parce que Android utilise wpa_supplicant, Android 6.0  contient également cette vulnérabilité.
Cela rend trivial d’intercepter et de manipuler le trafic envoyé par ces appareils Linux et Android . Notez que 50% des appareils Android sont actuellement vulnérables à cette variante particulièrement dévastatrice de l’attaque.

Devrais-je changer mon mot de passe Wi-Fi?

La modification du mot de passe de votre réseau Wi-Fi n’empêche pas (ou ne limite pas) l’attaque. Vous n’avez donc pas à mettre à jour le mot de passe de votre réseau Wi-Fi. Au lieu de cela, vous devez vous assurer que tous vos appareils sont mis à jour, et vous devez également mettre à jour le firmware de votre routeur.

Pour les détails, voir https://www.krackattacks.com/ dont cet article s’est inspiré

Les Conseils de Denis JACOPINI
extrait de https://www.lenetexpert.fr/alerte-faille-wifi-du-wpa2-risques-et-solutions-pour-sen-proteger/:

  1. Mettez à jour les systèmes d’exploitation de vos ordinateurs, smartphones, tablettes et objets.
  2. Mettez à jour votre point d’accès Wifi (le firmware de votre Box, routeur…)
  3. Modifier le SSID ;
  4. Modifier le mot de passe par défaut ;
  5. Filtrage des adresses MAC ;
  6. Désactiver DHCP ;
  7. Désactiver le MultiCast (pour les appareils qui disposent de cette fonction) ;
  8. Désactiver le broadcast SSID (pour les appareils qui disposent de cette fonction) ;
  9.  Désactiver le WPS (pour les appareils qui disposent de cette fonction) ;
  10. Utilisez un VPN ou un accès https pour envoyer ou recevoir des informations confidentielles
  11. Choisissez un cryptage fort de votre Clé WIFI

Manuel d’utilisation d’OWNCLOUD

Je viens de trouver cela

Les développeurs d’ownCloud 09 October 2016

http://docs.ccorazza.fr/9.1/doc_web_user/pdf/owncloudUserManual-9.1-fr.pdf

Bienvenue dans ownCloud :
votre solution d’hébergement et de partage de fichiers personnelle
ownCloud est un logiciel libre de partage et de synchronisation de documents pour tout le monde, des particuliers utilisant la version gratuite « ownCloud Server edition », aux grandes entreprises et fournisseurs de services utilisant « ownCloud Enterprise Subscription ». ownCloud propose une solution de synchronisation et de partage de fichiers sûre et conforme, sur des serveurs sous votre contrôle.