Maitriser l’accès root à son serveur web / Sécurisation de SSH

Après avoir expliquer en détail comment corriger les avertissements de rkhunter (outil de surveillance de failles sur un serveur, cf. post consacré), je précisais qu’il était vivement conseillé de ne pas autoriser les accès root sur son serveur. Ci-dessous, une méthode de sécurisation de l’accès root.

Sécurisation de SSH
Editer le fichier

vi /etc/ssh/sshd_config

Et modifier les propriétés suivantes :

Port 2222 # Changer le port par défaut
PermitRootLogin no # Ne pas permettre de login en root
Protocol 2 # Protocole v2
AllowUsers ooznet # N'autoriser qu'un utilisateur précis

et redémarrez le service:

/etc/init.d/ssh restart

Recevoir un mail en cas de connexion avec Root
Vous pouvez éditer le fichier /root/.bashrc qui est exécuté au démarrage d’une session root pour envoyer un e-mail de notification. De cette façon, vous serez prévenu lorsqu’un login est effectué.

vi /root/.bashrc

Ajoutez la ligne (en modifiant l’adresse e-mail de destination) :

echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 | cut -d")" -f1` monitoring@monitoring.com

Créer un utilisateur
Tout d’abord, créer l’utilisateur :

sudo useradd [options] identifiant

et modifier son mot de passe :

passwd identifiant

Se connecter à son serveur web
Dorénavant, il n’est plus possible de vous connecter à votre serveur web avec root. Il faut donc se connecter avec Kitty par exemple via SSH sur le port 2222 (ou autre en fonction de ce que vous avez configuré dans le fichier sshd_config) avec le nouvel utilisateur créé. Ensuite, il vous faut prendre la main sur votre serveur en root via la commande :

su -

Enjoy !

Bookmark and Share

[CSS3] @font-face / Font Squirrel

La propriété @font-face intégrée à CSS3 permet d’afficher une police embarquée sur le serveur et ainsi sortir du carcan des polices par défaut imposées pour les sites internet, les courantes Arial, Times New Roman & co.

L’excellent outil Font Squirrel (http://www.fontsquirrel.com/fontface/generator) permet de créer ses propres kits de font-face.

Cet outil est très utile car seuls les navigateurs modernes tels qu’Opera 10+, Firefox 3.5+, Safari 3+ et Chrome 4+ reconnaissent cette propriété CSS3, mais là encore Internet Explorer ne facilite pas les choses en ne reconnaissant qu’un seul format de fichier de fonte (.eot), incompatible avec les autres ! Il est donc nécessaire de systématiquement proposer une double version des polices à télécharger : .ttf (ou .otf) pour le commun des mortels, et une version .eot pour IE. Font Squirrel le fait pour vous !

Une fois vos fichiers convertis à l’aide de Font-Face generator, il vous suffit de les appeler dans vos feuilles de styles de la sorte :

Version pour tout le monde, incluant uniquement la version truetype .ttf :

@font-face {
font-family: 'Segoe UI';
src: url('segoeui.ttf') format('truetype');
}

Version prévue dans la feuille de style dédiée à Internet Explorer à l’aide de commentaires conditionnels, incluant la version .eot :

@font-face {
font-family: 'Segoe UI';
src: url('segoeui.eot');
}

Concrètement, il suffit ensuite de déclarer le nom de cette police dans la liste des valeurs de la propriété font-family, par exemple :

article {
	font-family: Segoe UI, Verdana, sans-serif;
}

 

Par ailleurs, les polices de caractères sont généralement assujettis à droit d’auteurs alors utilisez-les en respect de ces droits. De plus, faites attention au poids de celles-ci puisqu’Internet Explorer par exemple télécharge les deux fichiers de police (.eot et .ttf) et non pas seulement celui qui le concerne !

Une des solutions pour éviter ce problème serait d’appeler la police classique .ttf à l’aide d’un commentaire conditionnel excluant Explorer, tel que

<!--[if !IE]>--> <!--<![endif]-->

Enjoy !

Bookmark and Share

Les nouvelles technologies au service de la mobilité

L’informatique mobile évolue à grande vitesse ces dernières années, les utilisateurs étant amenés à consulter des sites internet via leurs smartphones ou tablettes tactiles.

Dans ce contexte tourné vers la mobilité, deux nouvelles technologies ont fait leur apparition : HTML 5 et CSS3.

Il est intéressant de savoir que les technologies nécessitant un plugin (notamment Flash) sont dorénavant boycottées par les grandes firmes d’appareils mobiles comme Apple ou Microsoft. Pour exemple, l’iPhone/iPad et le nouvel système d’exploitation Windows 8 (dénommé Metro pour sa version tablette) via Internet Explorer 10 n’intègrent pas le plugin Flash dans leur navigateur web. 

HTML 5 et CSS3 se positionnent donc comme les technologies qui apportent une compatibilité, une sécurité et une stabilité accrues entre tous les navigateurs et sur toutes plateformes (PC/tablette/téléphone portable) et surtout préservent l’autonomie des terminaux utilisés.

Ces nouvelles technologies amènent également quelques nouveautés techniques non négligeables comme l’intégration directe de médias (video, audio, etc.) sans passer par l’utilisation d’un plugin tiers, la géolocalisation, une meilleure gestion des formulaires avec une validation au niveau du navigateur de l’utilisateur ou encore la gestion possible du drag&drop. Je reviendrai sur tous ces éléments d’un point de vue technique dans un autre post.

Une évolution majeure apparaît pour les méthodes de développement, plus rapides. En effet, auparavant, il était nécessaire de développer une interface pour chacune des plateformes, une pour la partie site internet, une autre pour la partie tablette et une dernière pour le téléphone portable, soit 3 fois plus de développements (pas de factorisation possible).

Or, grâce à quelques lignes de CSS3, il est dorénavant possible de ne concevoir qu’une seule interface qui s’adapte automatiquement à l’environnement dans lequel la page est affichée.

Amusez-vous à redimensionner ce site pour voir le résultat, une référence : http://www.alsacreations.fr/ (ne fonctionne que sur les navigateurs récents, Chrome, Mozilla et IE9)

Enjoy !

 

Bookmark and Share

Modernizr, ou comment appliquer du HTML5/CSS3 sur les anciens navigateurs

Problématique rencontrée récemment en développant un site internet en HTML5/CSS3, la compatibilité avec les anciens navigateurs.

En effet, les nouveautés de ces nouvelles technologies sorties récemment ne sont visualisables que sur les navigateurs récents (détail complet de compatibilité sur http://html5readiness.com/).

La parade : Modernizr, une librairie Javascript open-source permettant de filtrer/paramétrer les caractéristiques spécifiques à CSS3 et HTML5 et de proposer une alternative pour l’affichage. Modernizr est évolutif et à pour objectif de « moderniser nos pratiques de développement ».

Lien du site : http://www.modernizr.com/

Enjoy !

Bookmark and Share

[Alsace Poker] Migration réussie du forum de l’assoc’

Hello,

Voilà, après quelques heures de dur labeur, je vous annonce le succès dans la migration du forum Alsace Poker, association pour laquelle je suis responsable de la partie informatique.

Le nouveau forum est un IP Board 3.2.x, hébergé sur mon serveur dédié. Cette nouvelle version est plus moderne, aux couleurs de l’assoc’, avec une meilleure sécurité, notamment vis-à-vis des spammeurs.

Je vous invite à y faire un tour si vous êtes un passionné de poker : http://forum.alsacepoker.fr

Enjoy !

Bookmark and Share

Donner l’accès distant à une base de données MySQL

Voilà, dans le cadre d’une migration, j’ai dû autoriser sur mon serveur l’accès à ma base de données MySQL dont voici la marche à suivre :

Etape n ° 1: Se connecter via ssh

Se connecter via ssh sur son serveur en root (via Kitty) et saisir la ligne de commande suivante pour donner l’autorisation de l’écoute du port au niveau du firewall :

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT

 

Etape n ° 2: Permettre la mise en réseau

Toujours sur le serveur, il s’agit de modifier le fichier de configuration my.inf avec l’éditeur de texte vi

vi /etc/my.cnf

Repérer la ligne avec la balise [mysqld], assurez-vous que la ligne skip-networking est commentée par « # » (ou supprimez la ligne) et ajouter la ligne suivante :

Bind-address = xxx.xxx.xxx.xxx # l'adresse ip du serveur hébergeant votre bdd

Pour connaître l’adresse IP de son serveur, un petit ifconfig avec lecture du résultat : eth0 … inet adr:xxx.xxx.xxx.xxx

Par exemple, si l’adresse de votre serveur est 88.45.121.23 :

[mysqld]
set-variable=local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
bind-address=88.45.121.23

Enregistrer et quitter le fichier (:wq!, cf. Vi, les raccourcis de l’éditeur de texte), puis redémarrer le service mysqld :

/etc/init.d/mysqld restart

 

Etape n ° 3: Accorder l’accès à l’adresse IP distante

Tout d’abord, connecter vous à mysql en ligne de commande :

mysql -u root -p mysql

Puis saisissez votre mot de passe (l’utilisateur ayant tous les privilèges peut également être admin, tout dépend de votre configuration mysql).

Il s’agit ensuite de donner les droits à un utilisateur de se connecter à distance via la commande suivante :

mysql> GRANT ALL ON base_test.* TO user_test@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'pwd_test';

  • base_test : la base de données nécessitant un accès à distance
  • user_test : l’utilisateur qui doit y accéder
  • xxx.xxx.xxx.xxx : l’adresse IP du serveur contenant la bdd (88.45.121.23 dans notre exemple)
  • pwd_test : le mot de passe de l’utilisateur

Se déconnecter de mysql.

mysql> exit

 

Etape n ° 4: Tester le résultat

Il est possible de tester les différentes actions réalisées via une commande mysql ou telnet :

mysql -u user_test –h 88.45.121.23 –p
telnet 88.45.121.23 3306

Enjoy !

Bookmark and Share

[Office] Problème de clic droit dans Excel ?

Hello,

Les mystères d’Excel, il arrive parfois que le clic droit soit désactivé dans une feuille Excel. A défaut de savoir d’où provient exactement le problème, ci-dessous la solution pour corriger le problème :

  • Ouvrir Excel et taper ALT + F11 qui vous ouvrira l’éditeur Visual Basic
  • Dans le menu, sélection Insertion > Module et copier-coller le code suivant

Sub Enable_All_Right_Click_Menus()
‘This will enable all BuiltIn Command bars
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
End Sub

  • Taper F5 (ou sélectionner Exécuter à partir du menu) puis sélectionner votre macro (Enable_All_Right_Click_Menus())
  • Fermer l’éditeur VB

Et tout devrait fonctionner maintenant.

Enjoy !

Bookmark and Share

[VS2010] Les snippets et Visual Studio (3/3)

Installation d’un snippet dans VS2010

Pour ajouter un snippet dans VS2010, rien de plus simple : CTRL + K / CTRL + B ou Outils > Gestionnaire des extraits de code

Sélectionner votre langage (Visual C# par exemple) et importez votre snippet dans le dossier My Code Snippet (qui rappelez-vous n’est qu’un simple raccourci vers votre dossier « C:\Users\[Vous]\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets »

Quelques références

Enjoy !

Bookmark and Share