mercredi 11 novembre 2015

Problème: le reverse proxy apache ne fonctionne pas

Un reverse proxy a été configuré mais ne fonctionne pas (erreur 503).

Les logs d'erreur du serveur apache indique:
[Wed Jul 02 16:44:56.310075 2015] [proxy_http:error] [pid 23725] [client 192.168.2.3:12916] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Wed Jul 02 16:45:21.995132 2015] [proxy:error] [pid 23728] (13)Permission denied: AH00957: HTTP: attempt to connect to 127.0.0.1:5601 (127.0.0.1) failed
[Wed Jul 02 16:45:21.995176 2015] [proxy:error] [pid 23728] AH00959: ap_proxy_connect_backend disabling worker for (127.0.0.1) for 60s
[Wed Jul 02 16:45:21.995183 2015] [proxy_http:error] [pid 23728] [client 192.168.2.3:12917] AH01114: HTTP: failed to make connection to backend: 127.0.0.1

Diagnostique:

Le problème est causé par SELinux.

Résolution: 

Configuration de selinux avec la ligne suivante:

# /usr/sbin/setsebool -P httpd_can_network_connect 1

lundi 21 septembre 2015

Documentation systemctl

Afficher l’état d’un service avec systemctl: 

[root@linux ~]# systemctl status snmpd.service
snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled)
   Active: active (running) since mar. 2014-10-28 10:24:00 CET; 2s ago
 Main PID: 15568 (snmpd)
   CGroup: /system.slice/snmpd.service
           15568 /usr/sbin/snmpd -LS0-6d -f

Arrêter et démarrer un service:

[root@linux ~]# systemctl stop snmpd.service

[root@linux ~]# systemctl start snmpd.service

[root@linux ~]# systemctl restart snmpd.service

Activer un service au démarrage de la machine avec systemctl:

[root@linux ~]# systemctl enable snmpd.service
ln -s '/usr/lib/systemd/system/snmpd.service' '/etc/systemd/system/multi-user.target.wants/snmpd.service'

Suppression de l’activation d’un service au démarrage de la machine

[root@linux ~]# systemctl disable snmpd.service
rm '/etc/systemd/system/multi-user.target.wants/snmpd.service'

lundi 7 septembre 2015

Copier un répertoire vers un autre avec scp

On copie le répertoire user et ce qu’il contient dans le répertoire home de la machine 192.168.2.1.
Le -r permet de recopier toute l’arborescence (récursivité).

[root@linux home]# scp -r /home/user root@192.168.2.1:/home

jeudi 3 septembre 2015

Commande vérification serveur ntp sous linux

Pour vérifier que le serveur ntp fonctionne bien:
[root@Linux ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp.time.fr 192.168.2.6   3 u   36  128  377    0.189  -90.717  10.542
[root@Linux ~]#

mardi 1 septembre 2015

lundi 4 mai 2015

Gestion de firewalld en ligne de commande

Démarrer firewalld


#systemctl start firewalld

Vérifier l’activation de firewalld


[root@linux services]# systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
   Active: active (running) since lun. 2014-10-20 12:24:39 CEST; 3h 53min ago
 Main PID: 627 (firewalld)
   CGroup: /system.slice/firewalld.service
           627 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
 

Vérification: est ce que la commande firewall-cmd est présente et fonctionne bien?

[root@linux services]# firewall-cmd --version
0.3.9
[root@linux services]# firewall-cmd --state
running

Interdire le passage de tous les paquets puis autoriser le passage des paquets


#firewall-cmd --panic-on

#firewall-cmd --panic-off

[root@linux services]# firewall-cmd --query-panic
no

Recharger le service

[root@linux services]# firewall-cmd --reload
success

Recharger le firewall avec interruption des connections actives.

[root@linux services]# firewall-cmd --complete-reload
success

Liste des zones actives

[root@linux services]# firewall-cmd --get-active-zones
public
  interfaces: ens384

Afficher la zone d’une interface :

[root@linux services]# firewall-cmd --get-zone-of-interface=ens384
public

Liste des caractéristiques de la zone:

[root@linux services]# firewall-cmd --zone=public --list-all
public (default, active)
  interfaces: ens384
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Pour lister les services présent dans /usr/lib/firewalld/services

[root@linux services]# firewall-cmd --get-service
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp
 high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd
 ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn
 pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius
 rpc-bind samba samba-client smtp ssh telnet tftp tftp-client
 transmission-client vnc-server wbem-https

lundi 16 février 2015

Firewalld : la théorie

Firewalld utilise les outils iptables pour communiquer avec Netfilter qui implémente le filtrage des paquets dans les distributions redhat/centos.

Une caractéristique de firewalld


Avec iptables, à chaque prise en compte de nouvelles règles, les sessions en cours étaient coupées. Dans le cas de firewalld, l’application de nouvelles règles ne coupent pas les sessions.

Outil pour configurer firewalld


Deux outils pour configurer firewalld:
  • Outil graphique: firewall-config
  • Outil en ligne de commande : firewalld-cmd


Configuration de firewalld


Il y a deux types de configuration : la configuration courante (runtime) et la configuration permanente (permanent). La configuration permanente est enregistrée dans les fichiers de configuration. Elle est utilisée au démarrage de la machine et au démarrage du service firewalld.
En cas de redémarrage du service ou de la machine, la configuration non permanente (runtime) est donc perdue.

Fichier de configuration


Les répertoires de configurations sont: /usr/lib/firewalld et /etc/firewalld.

Notion de zone


Firewalld utilise des zones pour gérer la sécurité. Chaque interface d’une machine fait partie d’une zone. Il est possible de mettre plusieurs interfaces au sein d’une même zone.
Pour simplifier la mise en production, des zones ont été prédéfinies: drop, block, public, external, dmz, work, home, internal, trusted.

Zone par défaut


La zone par défaut est la zone publique (public). Il est possible de changer la zone par défaut.

Notion de service


Des services sont également prédéfinies. Un service est l’association d’un protocole et d’un port. Par exemple, le service http et l’association du protocole tcp et du port 80.

La liste des services pré-définies est ici: /usr/lib/firewalld/services.

Il est possible d’ajouter des services en se basant sur les modèles proposés.

Configuration en ligne de commande


En fonction des règles souhaitées, différents options sont à notre disposition.

firewalld propose par exemple de passer des règles directement à iptables via une interface directe (direct interface). L’utilisation de cette option nécessite une bonne connaissance d’iptables pour ne pas ajouter de faille au pare-feu.

Enfin, il est possible de configurer firewalld directement dans les fichiers de configuration.

dimanche 15 février 2015

Ajout d'un certificat dans un keystore java

Le certificat à importer dans le magasin keystore java doit être au format pkcs12.

Convertir le fichier de certificat et la clé du format pem vers un fichier pkcs12


[root@linux conf]#  openssl pkcs12 -export -out cert.p12 -inkey /home/bob/certificat.key -in /home/bob/linux/certificat.pem
Enter Export Password:
Verifying - Enter Export Password:
[root@linux conf]#


Import dans le magasin keystore


Puis on importe le fichier pkcs12 dans le magasin keystore.js.
La création du magasin et l’import s’effectue avec la commande suivante:

[root@linux conf]# keytool -importkeystore -deststorepass "password"  -destkeystore cert.keystore -srckeystore cert.p12 -srcstoretype PKCS12 -srcstorepass "password"
L'entrée de l'alias 1 a été importée.
Commande d'import exécutée : 1 entrées importées, échec ou annulation de 0 entrées
[root@linux conf]#



Changement du mot de passe du magasin keystore


[root@linux conf]# keytool -storepasswd -keystore repkeystore
Entrez le mot de passe du fichier de clés :
Nouveau keystore password :
Indiquez encore le nouveau keystore password :
[root@linux conf]#

mercredi 14 janvier 2015

Syntaxe lien symbolique sous linux

# ln -s /repertoire/destination/ nom_du_lien

Par exemple:

 # ln -s /opt/mysql/ mysql
Vérification:
 # ll | grep mysql
lrwxrwxrwx. 1 root    root      11 26 mars  10:10 mysql -> /opt/mysql/

Comment ajouter une route statique sur une distribution Linux Ubuntu

Pour ajouter une route statique au démarrage d'Ubuntu, voici le fichier à modifier. Dans l'exemple on ajoute une route pour joindre ...