CitizenZ

Blog Libre, Net & Société

Firewall : utiliser UFW sur Scaleway

Rédigé par citizenz 1 commentaire
Scaleway  vous connaissez ? C'est le service de "Cloud Computing" lancé par Online en 2015 à base d'instances reposant sur des serveurs dédiés, et non des machines virtualisées.
Quand on arrive la première fois sur Scaleway, c'est la surprise et l'étonnement : il faut un peu de temps pour s'habituer aux volumes, snapshots, images, etc.
Vous avez aussi un onglet sécurité qui vous permet de définir des règles pour le firewall (Default security group).
A savoir également que par défaut les ports SMTP sont fermés pour éviter tout soucis de spam. Il faut expressément demander au support de les ouvrir.

Concernant le firewall, vous pouvez évidemment choisir de ne pas utiliser le service offert par Scaleway et utiliser par exemple UFW.
PROBLÈME : si vous activez UFW sur votre serveur Scaleway : ça freeze illico-presto !
Mais il y a une astuce simple pour y remédier (exemple pour Debian / Ubuntu ...), en 5 étapes :

1 - On change la politique INPUT par défaut à ACCEPT et non plus DROP
$ sudo vim /etc/default/ufw
DEFAULT_INPUT_POLICY="ACCEPT"

2 - On ajoute une règle DROP-ALL à la fin du fichier suivant, juste avant la ligne finale COMMIT :
$ sudo vim /etc/ufw/after.rules
-A ufw-reject-input -j DROP

3 - On désactive le logging d'UFW. Scaleway n'aime pas trop :
$ sudo ufw logging off

4 - On n'oublie surtout pas d'activer SSH pour pouvoir accéder au serveur :
$ sudo ufw allow ssh

5 - enfin on active UFW :
$ sudo ufw enable

Vous pouvez activer d'autres règles évidemment... je vous laisse sur mon autre post pour tout cela.
Et hop !

[NOTE] Locale française sur Ubuntu Server

Rédigé par citizenz Aucun commentaire
Si vous démarrez sur un serveur VPS fraîchement pourvu d'un serveur Ubuntu (par exemple sur Pulseheberg), il se peut que vous n'ayez pas, par défaut, la locale FR de configurée (vous serez en EN).
Pour forcer Ubuntu Server à prendre en compte la langue française avec un encodage de caractères en UTF-8, il faut installer le package language-pack-fr, indiquer dans le fichier /etc/default/locale la valeur fr_FR.UTF-8 à la variable LANG puis lancer une reconfiguration des locales, comme suit : 

$ sudo apt install language-pack-fr
$ sudo if [ -f /etc/default/locale ]; then cp /etc/default/locale /etc/default/locale_default; fi
$ sudo echo "LANG=fr_FR.UTF-8" > /etc/default/locale
$ sudo dpkg-reconfigure locales

Les modifications seront effectives à la prochaine connexion.

Cette note est largement inspirée de l'article suivant :

BBClone : les stats faciles pour son site web

Rédigé par citizenz 6 commentaires
Il est souvent pratique et utile d'avoir une idée de la fréquentation de son site web. Soit par simple curiosité, soit pour en apprendre un peu plus sur le public qui visite le site, son "origine" (géographique ou referer), quelles pages ont le plus été visitées, etc.

Il existe bon nombre de scripts pour mettre en place des statistiques pour son site.
J'ai personnellement toujours privilégié l'aspect visuel et pratique ... voire simple(iste ?). Et cela fait des années que j'utilise BBClone .

BBclone est un compteur web écrit en PHP qui donne une vue détaillée des visiteurs de votre site web en affichant les n derniers utilisateurs (et les données qu'ils ont fournies, comme leur IP, navigateur, etc.) : très pratique pour les webmasters qui veulent voir qui visite ses sites, ce que les navigateurs utilisent, d'où ils proviennent !
Pour chaque visiteur, BBClone peut afficher : adresse IP, le nom d’hôte, l'OS, le navigateur, l'URL d'origine (referer), l'heure de la visite, la page visitée, etc .

Relativement simple à mettre en place, vous pouvez en avoir un aperçu ici : https://bbclone.de/demo /

Le guide d'installation  est très bien fait mais en anglais, aussi voici un court résumé de la démarche d'installation.

1 - Téléchargez BBClone à cette adresse : http://bbclone.de/download.php
2 - Uploadez le répertoire complet BBClone sur votre serveur... Un bon endroit pour mettre BBClone reste à la racine de votre site ce qui donnera : http://www.example.com/bbclone/
3 - Donnez les bons droits aux fichiers. Tous les fichiers "importants" se trouvent dans le répertoire var/. Aussi donnez les droits 666 (chmod 666) aux fichiers suivants : counter[0-15].inc, access.php, last.php et .htalock
4 - Fichier de conf : dans le répertoire conf/ vous trouverez le fichier de config de BBClone (config.php). Peu de choses à faire si ce n'est changer la langue par défaut (mettez fr pour le français) et la ligne $BBC_DETAILED_STAT_FIELDS où vous pouvez ordonner les colonnes qui seront affichées et ajouter ou enlever des colonnes. Moi j'ai choisi cette présentation : $BBC_DETAILED_STAT_FIELDS = "id, time, ext, ip, dns, visits, os, browser, page, search, referer";
5 - Activiez l'option de debug : $BBC_DEBUG = 1; ... cela peut-être utilise si vous avez une erreur...
6 - Ajoutez le code d'activation sur toutes vos pages.

La partie 6 est la partie la plus "compliquée". Vous devez ajouter un code pour toutes les pages que vous souhaitez "monitorer". Il va falloir indiquer le bon PATH et le bon endroit pour mettre ce code. Si vous ne voulez pas indiquer le code à la main sur chaque page, deux solutions s'offrent à vous :
- soit utiliser un fichier .htaccess si vous utiliser un serveur Apache ou configurer votre fichier vhost avec un serveur Nginx
- soit inclure un fichier .php (que nous pouvons nommer bbclone.php) dans le header.php de votre thème, par exemple...

J'ai choisi la deuxième solution. Voici mon fichier bbclone.php placé à la racine du site :
[MAJ : 16/08/17, 21h20] : le code suivant permet l'affiche du nom complet des pages visitées
<?php
$url = $_SERVER['REQUEST_URI'];
define("_BBC_PAGE_NAME", "$url");
define("_BBCLONE_DIR", "bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);
?>

J'ai indiqué le chemin complet où se trouve le répertoire BBClone sur mon serveur. A changer chez vous en fonction de votre configuration.
Il ne me reste plus qu'à inclure ce fichier dans le header de mon thème pluXML : 
<?php include 'bbclone.php'; ?>


Que vous soyez propulsé par Apache ou Nginx, vous souhaiterez certainement protéger l'accès à ces statistiques à l'aide de votre fichier .htaccess (Apache) ou en configurant votre fichier de conf Nginx.

Voici un exemple pour Nginx :
## Protection répertoire BBClone
location /bbclone {
auth_basic "stats";
auth_basic_user_file "/etc/nginx/passwd/stats_passwd";
}
Il vous faut bien évidemment créer le fichier stats_passwd avec votre pseudo + un mot de passe à l'aide de l'utilitaire apache2-utils (sous Debian, Ubuntu, ...) en rentrant :
$ sudo htpasswd -c stats_passwd

Au final, voici un petit aperçu des stats fournies par BBClone en action sur mon site :





Mariadb (Mysql) : connexion root avec phpMyAdmin sous Ubuntu 16.04

Rédigé par citizenz 1 commentaire
Profitant de vacances bien méritées (si si !), je viens re-installer un ou deux serveurs. Un sous Debian 9 et un sous Ubuntu 16.04 server.
Pour ces 2 distributions, l'installation de MySQL (ou plutôt la version Mariadb) diffère un tant soit peu en raison de la méthode "connexion" désormais différente.
En effet, il faut désormais configurer "à la mano" un ou deux fichiers afin de ne pas devenir une fois sur la page de phpMyAdmin où, si on ne fait pas cette configuration, on peut pas se connecter en root avec le mot entré à l'installation.
Je pensais que cette manip était réservée à Debian 9 mais elle est indispensable sous Ubuntu 16.04 aussi.

Voici les différentes étapes pour retrouver une connexion normale en root pour MySQL :
 
nano /etc/mysql/mariadb.conf.d/50-server.cnf
[...]
bind-address           = 127.0.0.1
sql-mode="NO_ENGINE_SUBSTITUTION"
[...]

Il faut maintenant régler la méthode d'authentification par mot de passe à "native" pour mariadb afin de pouvoir se connecter en root à phpMyAdmin. On rentre la commande suivante en console :
 
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root

Il faut aussi éditer le fichier suivant afin de rentrer le mot de passe root Mysql :
 
nano /etc/mysql/debian.cnf
[client]
host = localhost
user = root
password = MOTDEPASSE
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = MOTDEPASSE
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

On sauvegarde et on redémarre mysql :
 
service mysql restart

Voila : vous pouvez désormais vous connecter normalement sur phpmyadmin avec root.

Distribution Gnu/Linux : Netrunner (Rolling) 2017.07 64bit

Rédigé par citizenz 7 commentaires

Je vous présente : Netrunner !

Netrunner est depuis quelques mois... une distribution basée sur Debian dotée d'un bureau KDE hautement personnalisé avec des applications supplémentaires, des codecs multimédias, des plugins Flash et Java et un aspect unique. Les modifications sont conçues pour améliorer la convivialité de l'environnement de bureau tout en conservant la liberté de modifier.

Une édition séparée "Rolling", basée sur Manjaro Linux, a été lancée en 2014, a été interrompue et a été relancée en 2017. Voici donc ici la nouvelle version Rolling-release de cette Netrunner qui, pour peu que l'on apprécie l'environnement KDE (ça n'est pas mon cas ...), est une distribution très attirante avec ses nombreuses applications et "Tweaks".

A tester !

A télécharger librement sur : http://www.freetorrent.fr/netrunner-rolling-2017-07-64bit-iso

VERSION : Rolling Release basée sur Arch/Manjaro

KDE Plasma 5.10.3
KDE Frameworks 5.35
KDE Applications 17.04.2
Qt5.9.0
Linux Kernel 4.11.8
Firefox 54.0.1
Thunderbird 52.2.1
LibreOffice 5.2.7
etc.

SOURCES : http://www.netrunner.com/

Fil RSS des articles de cette catégorie