Changes

Jump to navigation Jump to search
no edit summary
Line 25: Line 25:  
Check by listening with wireshar & filter by: eapol
 
Check by listening with wireshar & filter by: eapol
 
  /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.eth0.pid -i eth0 -D wired -c /etc/wpa_supplicant.conf
 
  /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.eth0.pid -i eth0 -D wired -c /etc/wpa_supplicant.conf
 +
 +
== Script ==
 +
<source lang=bash>#!/bin/bash
 +
#Made with love, 4u
 +
echo "Configurador cliente NAC para linux Debian based"
 +
 +
pfx=$1
 +
iface=$2
 +
hostname=$3
 +
 +
copio_y_cambio_a_local () {
 +
 +
mkdir /NAC/
 +
cp $pfx /NAC/
 +
cd data
 +
cp * /NAC/
 +
cd /NAC/
 +
 +
}
 +
 +
fix_openssl () {
 +
 +
read -p "Quieres hacer el el cambio en Openssl?" yn
 +
    case $yn in
 +
        [YySs]* )
 +
if [ "$(cat /etc/ssl/openssl.cnf | grep -v "#" | grep "nsCertType = client" | wc -l )" -ne 1 ]; then
 +
sed -i '0,/# nsCertType = client, email/{s/# nsCertType = client, email/nsCertType = client/}' /etc/ssl/openssl.cnf
 +
fi
 +
;;
 +
        [Nn]* )
 +
echo "Pos vale!!"
 +
;;
 +
        * )
 +
echo "Contesta!!! yes or no?"
 +
echo "No lo hare entonces"
 +
;;
 +
    esac
 +
 +
    echo ""
 +
 +
}
 +
 +
replace_interfaces () {
 +
 +
echo "Solo se va a dejar la interfaz que se usa para la autenticacion 802.1x"
 +
cat interfaces | sed 's/eth0/'$iface'/g' > /etc/network/interfaces
 +
echo ""
 +
 +
}
 +
 +
replace_wpa () {
 +
 +
echo "Vamos a leer el mondongo y va ha salir porn pantalla (vamos,la clave del pem) "
 +
read mondongo
 +
 +
cat wpa_supplicant.conf | sed 's/replacehostname/'$hostname'/g' | sed 's/aquivalachicha/'$mondongo'/g' > /etc/wpa_supplicant.conf
 +
echo ""
 +
 +
}
 +
 +
reinicia_servicios () {
 +
 +
echo "Vamos a reiniciar los servicios, reza si crees y sino tomate una cocacola"
 +
echo "Parando networking"
 +
service networking stop
 +
echo "Levantando networking"
 +
service networking start
 +
echo ""
 +
 +
}
 +
 +
crea_claves () {
 +
 +
echo ""
 +
echo "Exportando la CA"
 +
openssl pkcs12  -in $pfx  -out cacert.pem -cacerts -nokeys
 +
 +
echo ""
 +
echo "Exportando el certificado de cliente"
 +
openssl pkcs12  -in $pfx -out cert.pem -clcerts -nokeys
 +
 +
echo ""
 +
echo "Exportando la clave privada (necesita contraseña)"
 +
openssl pkcs12  -in $pfx -out key.pem -nocerts
 +
 +
echo "Claves creadas!!  Acuerdate de la pass!!!"
 +
ls *.pem
 +
 +
}
 +
 +
comprueba_conexion () {
 +
 +
#Ole illo que cutrez ,xD
 +
 +
echo "Se elimina el "/var/run/wpa_supplicant/" del interfaz"
 +
rm /var/run/wpa_supplicant/$iface
 +
 +
read -p "Quieres reiniciar los servicios antes?" yn
 +
case $yn in
 +
[YySs]* )
 +
echo "Reiniciando servicios"
 +
reinicia_servicios
 +
;;
 +
        [Nn]* )
 +
echo "Pos vale!!"
 +
;;
 +
        * )
 +
echo "Contesta!!! yes or no?"
 +
echo "No lo hare entonces"
 +
;;
 +
    esac
 +
echo "Lanza el comando de negociacion de wpa_supplicant a parte"
 +
wpa_supplicant -Dwired -i$iface -c/etc/wpa_supplicant.conf -ddd 2>&1 >> wpa_supplicant_eap.log &
 +
echo "Pide IP"
 +
dhclient $iface
 +
echo ""
 +
 +
}
 +
 +
desabilta_network_manager () {
 +
 +
read -p "¿Quieres deshabilitar el Network Manager?(default N) Ss/Nn  Reinicio? R/r" yn
 +
case $yn in
 +
[YySs]* )
 +
echo "Parando network manager"
 +
service network-manager stop
 +
echo "ATENCION!: Se va a deshabilitar Network-Manager en inicio!"
 +
systemctl disable NetworkManager.service
 +
;;
 +
        [Nn]* )
 +
#Andrew no se fiaba de reinicialo aqui!!
 +
echo "Pos vale!!"
 +
;;
 +
[Rr]* )
 +
echo "Venga lo reinicio"
 +
service network-manager stop
 +
service network-manager start
 +
;;
 +
        * )
 +
echo "Pos vale!!"
 +
echo "No lo hare entonces"
 +
;;
 +
    esac
 +
echo ""
 +
 +
}
 +
 +
comprueba_root () {
 +
 +
if [ "$EUID" -ne 0 ]; then
 +
echo "Lanzalo como root!!! y si no te atreves lee lo que hace!! xD"
 +
exit -1
 +
fi
 +
 +
}
 +
 +
install () {
 +
 +
copio_y_cambio_a_local
 +
crea_claves
 +
fix_openssl
 +
replace_interfaces
 +
replace_wpa
 +
desabilta_network_manager
 +
reinicia_servicios
 +
 +
}
 +
 +
comprueba_root
 +
 +
case $pfx in
 +
 +
retest)
 +
 +
if [ $# -ne 2 ]; then
 +
echo "Necesita parametros!! melon!!"
 +
echo "Parametro 1: retest"
 +
echo "Parametro 2: nombre de la interfaz cableada que se va a reconfigurar"
 +
exit -1
 +
fi
 +
 +
comprueba_conexion
 +
;;
 +
*)
 +
if [ $# -ne 3 ]; then
 +
echo "Necesita parametros!! melon!!"
 +
echo "Parametro 1: Pfx que contiene CA, Clave de cliente, y privada"
 +
echo "Parametro 2: nombre de la interfaz cableada que se va a configurar"
 +
echo "Parametro 3: hostname del equipo NOMBRE.dominio"
 +
echo "<script> <absolute path pfx> <interfaz> <hostname completo>"
 +
echo "Otras opciones: retest <interfaz> - No realiza configuracion, reintenta al autenticacion EAP"
 +
exit -1
 +
fi
 +
 +
install
 +
;;
 +
esac</source>

Navigation menu