![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Seguridad en sicoCambios que afectan a la seguridad de la red de SICOTuesday, 17 December 2024, 11:53:36 am Permito binds arbitrarios a los puertos forwardeados en vps.sicosoft.es y forwardeo puertos para una prueba (junto con sus reglas de firewall), ya que se reuiere que revenga pueda conectarse a un pupitre de prueba, al vnc de un ui_pupitre configuirado en la maqueta de SICO y transferir archivos por ftp a dicho pupitre de prueba Todo esto está basadp en un autossh desde uiharu, que hace los forwardeos de puertos desde vps, junto con unas reglas del firewall en el propio vps, que hacen que sólo pueda utilizar esto la IP que revenga nos ha facilitado. Además se ha hecho que sólo se pueda usar en un periodo lectivo determinado usando un crontab. En vps.sicosoft.es, como root (para poder hacer que el bind de una IP determinada en el forwardeo de ssh; así evitamos el tener que redirigir un puerto a localhost con otro programa adicional): sed -i "/^GatewayPorts.*/d" /etc/ssh/sshd_config echo "GatewayPorts clientspecified" >> /etc/ssh/sshd_config /etc/init.d/ssh restart En vps.sicosoft.es, se edita el /etc/default/iptables (la IP que está puesta es la que nos ha facilitado revenga, que es desde la IP que se van a conectar) para que quede de la siguiente manera:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
IPTABLES=/sbin/iptables
DEV=ens3
echo "$(date) $0 $@" >> /tmp/iptables.log
if [ "m$1" = "m--help" ] ; then
echo "$0 [revenga]"
exit 1
fi
REVENGA=off
while [ "m$1" != "m" ] ; do
if [ "m$1" = "mrevenga" ] ; then
REVENGA=on
else
echo "Parametro no reconocido: $1"
fi
shift
done
# Activamos el anti-spoofing
for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 >$i ; done
# Don't respond to broadcast pings (Smurf-Amplifier-Protection)
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Block source routing
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Kill timestamps
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
# Enable SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Desabilitar la redireccion del ping
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Enable bad error message protection
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Registrar los paquetes extranios (martians: packets with impossible addresses)
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
# Anti-flooding o inundacin de tramas SYN.
$IPTABLES -N syn-flood
for IFACE in `ifconfig -a | grep -B 1 "inet addr" | grep ^[a-z] | expand | cut -d ' ' -f 1 | grep -v "^lo\$"` ; do
$IPTABLES -A INPUT -i $IFACE -p tcp --syn -j syn-flood
done
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
# Quitamos todo lo que hubiera
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -F -t mangle
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -X -t mangle
$IPTABLES -X -t nat
for i in `$IPTABLES -L | grep "^Chain" | cut -d " " -f 2 | grep -v "INPUT\|FORWARD\|OUT
PUT"` ; do
$IPTABLES -F $i
$IPTABLES -X $i
done
$IPTABLES -A INPUT -s 83.48.87.215/32 -j ACCEPT
# START Pupitre y VNC de pruebas para revenga
if [ "m$REVENGA" != "moff" ] ; then
ip_revenga=195.57.30.139
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 5900 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 5899 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 20 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60000 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60001 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60002 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60003 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60004 -j ACCEPT
$IPTABLES -A INPUT -s ${ip_revenga}/32 -p tcp --dport 60005 -j ACCEPT
fi
$IPTABLES -A INPUT -p tcp --dport 5900 -j DROP
$IPTABLES -A INPUT -p tcp --dport 5899 -j DROP
$IPTABLES -A INPUT -p tcp --dport 20 -j DROP
$IPTABLES -A INPUT -p tcp --dport 21 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60000 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60001 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60002 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60003 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60004 -j DROP
$IPTABLES -A INPUT -p tcp --dport 60005 -j DROP
# END Pupitre y VNC de pruebas para revenga
$IPTABLES -A INPUT -p tcp --dport 25 -j DROP
$IPTABLES -A INPUT -p udp --dport 25 -j DROP
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
En vps.sicosoft.es, como root, se instala el anacron: apt-get install anacron En vps.sicosoft.es, como root, se añaden las siguientes dos entrafas al crontab de root (como root:"crontab -e"): 0 8 * * 1,2,3,4,5 /bin/bash /etc/default/iptables revenga 0 18 * * 1,2,3,4,5 /bin/bash /etc/default/iptables Y luego, en vps.sicosoft.es, como root: /etc/init.d/ssh restart bash /etc/default/iptables revenga Por último, en uiharu, se añade una línea en el /etc/init.d/rc.local sudo -u dario autossh -f -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -N root@vps.sicosoft.es -R 51.38.32.171:5900:3.0.1.64:5900 -R 51.38.32.171:5899:3.0.1.59:2500 -R 51.38.32.171:20:3.0.1.59:20 -R 51.38.32.171:21:3.0.1.59:21 -R 51.38.32.171:60000:3.0.1.59:60000 -R 51.38.32.171:60001:3.0.1.59:60001 -R 51.38.32.171:60002:3.0.1.59:60002 -R 51.38.32.171:60003:3.0.1.59:60003 -R 51.38.32.171:60004:3.0.1.59:60004 -R 51.38.32.171:60005:3.0.1.59:60005 Update 20241219 Se usa el crontab para que las sólo acepte conexiones a dichos puertos de L-V de 8h a 18h. Update 20250113 Se añaden los puertos 20 y 21 para que puedan usar el ftp en modo pasivo (en modo normal del ftp no funcionará por no haber algo similar al conntrack del NAT del núcleo del linux para reeescribir los paquetes del modo activo; si se quisiera hacer que funcionase eso también habría que poner algo que hiciera de proxy de ftp). Update 20250114 Se añaden los puertos 60000-60005 para que si el servidor proftpd tiene configurado en el proftpd.conf la línea "PassivePorts 60000 60005", funcione todo correctamente. Thursday, 3 October 2024, 9:22:51 am Añado los puerto 5541 y 5542 a las scripts para que funcione la redirección de postgres de servpci1 y servpci2 1. En shirka modifico el S47sico_miscmain1. En shirka, como root: cd /chroot/etc/rcS.d mount -o remount,rw /chroot vi S47sico_miscmain1 #...añado esos puertos al for que ya tenía el 5543 :wq cp S47sico_miscmain1 /etc/rcS.d/ mount -o remount,ro /chroot 2. En shirka, hago el equivalente de reiniciar el autossh del rc.local. Para no interrumpir las conexiones actuales, simplemente arranco otro autossh. En shirka, como root: cd /tmp nohup autossh -nNT -i /root/.ssh/id_rsa -L 16.0.62.18:5541:localhost:5541 -L 16.0.62.18:5542:localhost:5542 metro@185.89.60.47 & 3. En shirka, modifico el firewall. En shirka, como root: cd /chroot/etc/init.d mount -o remount,rw /chroot vi firewall #...añado esos puertos al for que ya tenía el 5543 :wq cp firewall /etc/init.d/ mount -o remount,ro /chroot /etc/init.d/firewall NOTA: en estos momentos, parece que no funciona el autossh si está el firewall arrancado con la redirección puesta. Basta con quitarlo del firewall y empieza a funcionar. Quizás haya que quitar la lista de puertos a redireccionar del firewall ya que no se usa ya eso... Monday, 13 November 2023, 10:42:59 am (ESTOS SON LOS CAMBIOS PARA DEJAR DE USAR vpn_reiter Y USAR EL SSH A IPFIJA) En shirka, se ha cambiado el /chroot/etc/ssh/sshd_config para que sólo escuche en el el 3.0.1.42 De manera que quede el 16.0.62.18 libre en caso de hacer un alias a dicha IP. Se ha añadido la siguiente línea al etc/ssh/sshd_config del /chroot : ListenAddress 3.0.1.42 Y luego se ha reiniciado el servidor ssh: /etc/init.d/ssh restart En shirka se ha cambiado que los socat de redirecciones de puerto sólo hagan bind al 3.0.1.42 y 127.0.0.1 Básicamente se han buscado los "TCP4-LISTEN:" y se han duplicado las líneas, poniendo un ,bind=3.0.1.42 en la primera y un ,bind=127.0.0.1 en la segunda. Por ejemplo quedaría así:
./rcS.d/S47sico_miscmain1:/usr/bin/socat TCP4-LISTEN:${i},fork,bind=3.0.1.42 EXEC:"/usr/bin/sudo -u metro /usr/bin/ssh misc${i}@16.0.62.18" &
./rcS.d/S47sico_miscmain1:/usr/bin/socat TCP4-LISTEN:${i},fork,bind=127.0.0.1 EXEC:"/usr/bin/sudo -u metro /usr/bin/ssh misc${i}@16.0.62.18" &
En shirka, como root mount -o remount,rw /chroot cd /chroot/etc vi ./rcS.d/S47sico_maintdserver vi ./rcS.d/S47sico_webmain1 vi ./rcS.d/S47sico_miscmain1 cd / mount -o remount,ro /chroot reboot En shirka se ha puesto en el rc.local para que haga el autossh con todas las redirecciones En shirka, en el /chroot/etc/rc.local se añade lo siguiente (si se pone que su shell sea bash en vez de sh):
(
ifconfig eth0:1 16.0.62.18 netmask 255.255.255.255
cd /etc/rcS.d
puertos1=$(cat `ls | grep sico_` | grep TCP4-LISTEN:[0-9] | sed "s/^.*TCP4-LISTEN:\([0-9][0-9]*\).*/\1/g" | uniq)
puertos2=$(cat `ls | grep sico_` | grep ^for | sed "s/for i in //g;s/\; do//g" | tr '`' '\n' | grep seq | while read l ; do $l ; done)
puertos3=$(cat `ls | grep sico_` | grep ^for | sed "s/for i in //g;s/\; do//g" | tr '`' '\n' | grep -v seq | tr ' ' '\n' | grep .)
params=""
for i in 22 $puertos1 $puertos2 $puertos3 ; do
params="$params -L 16.0.62.18:$i:localhost:$i"
done
autossh -f -nNT -i /root/.ssh/id_rsa $params -L 2222:localhost:22 -R 2223:localhost:22 metro@185.89.60.47
)
En shirka, se quita el rearranque del vpn_reiter del crontab de root Ya que había uno a las 6.10am En shirka, se renombra el vpn_reiter a vpn_reiter.disabled Para evitar problemas de que alguien le dé sin querer. Wednesday, 8 November 2023, 10:31:47 am Se ha habilitado un autossh en shirka que forwardea el puerto shirka:2222 al main1:22, y otro de main1:2223 a shirka:22 Siguiendo el siguiente procedimiento: 1. En main1, se ha añadido la clave rsa de root@shirka ( shirka:/root/.ssh/id_rsa ) 2. En shirka, se ha instalado el paquete de autossh 3. En shirka, se ha añadido lo siguiente al /etc/rc.local (exactamenta al shirsk:/chroot/etc/rc.local) autossh -f -nNT -i /root/.ssh/id_rsa -L 2222:localhost:22 -R 2223:localhost:22 metro@185.89.60.47 En shirka, como root, edito el /etc/init.d/firewall : vi /etc/init.d/firewall # añado las siguientes líneas después del forwardeo del puerto 8081 # iptables -t nat -I OUTPUT -p tcp -d 16.0.62.18 --dport 22 -j DNAT --to-destination 127.0.0.1:2222 # iptables -t nat -A PREROUTING -d 16.0.62.18 -p tcp --dport 22 -j DNAT --to 127.0.0.1:2222 #:wq mount -o remount,rw /chroot/ cp /etc/init.d/firewall /chroot/etc/init.d/firewall mount -o remount,ro /chroot/ /etc/init.d/firewall NOTA: se ha desactivado lo de esa regla del firewall porque no funcionaba. Monday, 27 March 2023, 8:21:23 am Añado el forwardeo del puerto 5545 al puerto correspondiente de main1 y el redir en main1 para acceder al postgresql de frontpci02 Se siguen las instrucciones de "Thursday, 3 September 2020, 8:55:37 am". Wednesday, 29 June 2022, 9:27:49 am Añado el forwardeo del puerto 5905 al puerto correspodinte de main1 y de paso actualizo el redir en main1 Se siguen las instrucciones de "Thursday, 3 September 2020, 8:55:37 am". Monday, 27 June 2022, 9:06:34 am Actualizo vps.sicosoft.es de Debian 9 a Debian 10 y a continuación a Debian 11 "Bullseye" Para poder instalar el wireguard en un futuro, por si es necesario. Tuesday, 8 March 2022, 9:26:35 am Añado los puertos 5543 5544 a los forwardeos de shirka Para el postgres de servtce1/2. Se siguen las instrucciones de "Thursday, 3 September 2020, 8:55:37 am". Thursday, 2 September 2021, 11:41:13 am Filtro en asterisk/obelisk las conexiones al exterior al puerto 25 Para minimizar el riesgo de que mandemos SPAM. En asterisk y en obelisk, como root, edito el fichero /etc/default/iptables: ... # Permitimos de forma explicita el correo desde salchicha y zen -A FORWARD -p tcp -s 3.0.1.170 --dport 25 -j ACCEPT -A FORWARD -p tcp -s 3.0.1.124 --dport 25 -j ACCEPT # Denegamos de forma explicita el correo desde el resto de las maquinas de SICO -A FORWARD -p tcp -s 3.0.1.0/24 --dport 25 -j LOG --log-prefix "noforward-correo:" -A FORWARD -p tcp -s 3.0.1.0/24 --dport 25 -j DROP #-A FORWARD -j LOG --log-prefix "noforward:" COMMIT Thursday, 1 July 2021, 10:02:32 am Añado el puerto 5916/8016 a los forwardeos de shirka Para llegar al vnc/web del monitorwall que se ha instalado en granvia. Tuesday, 9 March 2021, 8:19:58 am Añado el puerto 5915/8015 a los forwardeos de shirka Para llegar al vnc/web del monitorwall que se ha instalado en tribunal. Tuesday, 24 November 2020, 9:08:28 am Añado los puerto 5914 y 8014 a los forwardeos de shirka Para llegar al vnc/web del monitorwall que se ha instalado en ¿arroyofresno?. Siguiendo las linstrucciones de "Thursday, 3 September 2020, 8:55:37 am" Thursday, 3 September 2020, 8:55:37 am Añado los puertos 8888 y 8889 a los forwardeos de shirka Como he puesto una redirección desde main1:8888 a servvent:8888 (tomcat) y 8889 a servsic:8888 (tomcat), añado el 8888 y 8889 a la lista de puertos forwardeados por shirka: En shirka, como root: 1. Edito /etc/rcS.d/S47sico_miscmain1 y lo copio a disco:
cd
vi /etc/rcS.d/S47sico_miscmain1
# añado el 8888 y 8889 a la lista de puertos de misc_main1.sh
#:wq
mount -o remount,rw /chroot/
cp /etc/rcS.d/S47sico_miscmain1 /chroot/etc/rcS.d/S47sico_miscmain1
mount -o remount,ro /chroot/
for i in 8888 8889 ; do nohup /usr/bin/socat TCP4-LISTEN:${i},fork,reuseaddr EXEC:"/usr/local/sbin/miscport.sh ${i}",pty,raw,echo=0 & done
2. Edito /etc/init.d/firewall y lo copio en disco: vi /etc/init.d/firewall # añado el 8888 8889 a la lista de puertos #:wq mount -o remount,rw /chroot/ cp /etc/init.d/firewall /chroot/etc/init.d/firewall mount -o remount,ro /chroot/ /etc/init.d/firewall NOTA: En main1 se ha hecho previamente lo siguiente: En main1, como root cd ./virinetd # Se añaden las siguientes dos líneas (sin la almohadilla inicial) #0.0.0.0 8888 16.0.62.10 8888 #0.0.0.0 8889 16.0.59.14 8888 #:wq nohup redir --lport=8888 --caddr=16.0.62.10 --cport=8888 & nohup redir --lport=8889 --caddr=16.0.59.14 --cport=8888 & Thursday, 23 July 2020, 9:43:52 am Hago que /root/renew-certbot.sh ponga temporalmente una redirección desde el vps a sico Ya que webmail.sicosoft.es está apuntando al vps en estos momentos. asterisk:/root/renew-certbot.sh
Friday, 3 July 2020, 11:30:38 am Habilito un usuario "tablet" en asterisk para forwardear a un puerto de main1 Siguiendo las instrucciones de "Wednesday, 13 May 2020, 9:43:28 am" En asterisk: adduser tablet su - tablet ssh-keygen -t rsa scp .ssh/id_rsa.pub metro@16.0.62.18:/tmp/ ssh metro@16.0.62.18 su cd rm /etc/mtab ; ln -s /proc/mounts /etc/mtab mount -o remount,rw /chroot/home/ cd /chroot/home/miscport cat /tmp/id_rsa.pub >> .ssh/authorized_keys mount -o remount,ro /chroot/home/ exit exit touch .hushlogin echo -e '#!/bin/bash\nexec ssh miscport@16.0.62.18' > connect chmod 755 connect su sed -i "s#/home/tablet:/bin/bash#/home/tablet:/home/tablet/connect#g" /etc/passwd exit echo -e "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCa9khU8/6CkaBo7r Zd0B5W75zWIa5wS+BWMDwYq746+avLqmPSUKKmu43nE5GE9pT0UsVKhJr4pLB1E 6UR5yqh6OeGvvg8YUYcbVXJzRUdIQ41nkcyK6HkrhliIr3TXrHGuZZ7TYzIXKZi 9nU5iIvgaSHYMR/4yOL9As6A461AitzlKmfdF2zXSnTFoFfNU2KFDG946otm4d7 MQ4RKaQ0GEZi1Gw87zz953ZLH3bloLzKTX848l8ZgCMs1ZxGLzQ3SgyfFW/46FD W26d/9DA5eGzahuaYtfpEkEdpJWxxLy6ROsz601zr1VF7IRMD7Pg6BvztvPGGzK 2rwxUf9isREumeZvFRNcxpggTocnR95EXkDSYAbnZgP1F1arTD39S9F4U6tzxwG 2NodQIQHLq32XucmIdgZ/zWwNs+p+Qb2VaEe20MMDeP2mLeTaNSXkOMUAOJdbqh eTKrghteFqrr/OF066e+bnYeS1uoP6NdvBVowBZOOHAcFIh+Yvc8I1CTCcWpqZX LukvhBuve/EtXCfpfiKIGWiNOp8VVCTr+CS4ABhtKQX10a4bpZoDGrHiYYzaydA 5qAvifKe6Ba3oZc5NtKsylFxCmkwyEqZK27UHW4/hKs7GQZld3ghQxZtPhxCKMU bFGzZYRr3WNjnNzITLsyntJTf1Js9/Vcw== root@raspberrypi" | tr -d '\n' >> .ssh/authorized_keys Configuramos una raspberry para que lo use Básicamente se ha hecho lo siguiente (tutorial): vi /etc/dhcpcd.conf apt-get install nfs-common expect tk8.6 wish openssh-server rsh-server telnetd-ssl vsftpd vi /etc/vsftpd.conf apt-get update apt-get install ssh-server apt-get install openssh-server apt-get -f install hostname raspberry apt-get -f install hostname vi /etc/hosts apt-get -f install dpkg -C cat /etc/dhcpcd.conf exit cd /etc/ssl/ vi openssl.cnf apt-get install --reinstall openssh-server systemctl enable ssh systemctl start ssh reboot cd /etc/ vi /etc/dhcpcd.enter-hook chmod a+x dhcpcd.enter-hook cd /root/ scp ana@sico.sicosoft.es:/tmp/redirmetro.tgz . tar -xvzf redirmetro.tgz vi redir-metro.sh apt-get install build-essential scp ana@sico.sicosoft.es:/tmp/redir4.tgz . tar -xvzf redir4.tgz cd redir4/src/ ls make clean make cp redir4-* /usr/local/bin/ redir4-client cd cd .ssh/ ssh-keygen -t rsa -b 4096 rfkill unblock 0 cat /etc/dhcpcd.enter-hook cp /dev/tty dhcpcd.enter-hook chmod a+x dhcpcd.enter-hook vi /etc/dhcpcd.enter-hook apt install hostapd sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo apt install dnsmasq vi /etc/dhcpcd.conf vi /etc/hostapd/hostapd.conf systemctl reboot apt-get install bc vi redir-metro.sh mkdir src cd src scp ana@sico.sicosoft.es:/tmp/tctivideoserver-src.tgz . tar -xvzf tctivideoserver-src.tgz vi Makefile apt-get install libjpeg62-turbo-dev ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.a . make clean all ./tctivideoserver --help cp tctivideoserver .. ./tctivideoserver -nocams ^C rm -rf src reboot apt-get install socat vi redir-metro.sh echo "#!/bin/bash\nexport TERM=$1\nexec ssh tablet@sico.sicosoft.es\n" > miscport.sh chmod a+x miscport.sh mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig vi /etc/dnsmasq.conf systemctl enable dnsmasq systemctl start dnsmasq systemctl restart dnsmasq Los ficheros que se han editado, han quedado así /etc/dhcpcd.conf
/etc/vsftpd.conf
/etc/dnsmasq.conf
/etc/dhcpcd.enter-hook
/root/dhcpcd.enter-hook
/root/miscport.sh
/root/redir-metro-off.sh
/root/redir-metro.sh
/etc/ssl/openssl.cnf
FALTA: contenido de "/etc/hostapd/hostapd.conf" Wednesday, 13 May 2020, 9:43:28 am Habilito un forwardeo generico de puertos en main1 Siguiendo este post veo que se puede poner en el sshd_config un AcceptEnv para poder pasar una variable de entorno desde el cliente usando "ssh -o SendEnv=MYVARNAME user@host.tld", y que la variable TERM siempre se pasa (lo de AcceptEnv no funciona en el sshd de main1, seguramente portque es muy antiguo). Habilito el usuario miscport en main1 para usar la variable TERM que indica el puerto a forwardear a localhost si es que es puramente numérica. Resumiendo: 1. Se modifica el firewall de shirka para que haga proxy transparente de esos puertos 2. Se añade en la script /etc/rcS.d/S47sico_miscmain1 para que haga un socat del puerto local a un ssh a main1 3. Se añaden los usuarios a main1 (rm /etc/mtab ; ln -s /proc/mounts /etc/mtab ; chroot /chroot ; #(esperar el prompt) ; mount -o remount,rw /home ; mount -o remount,rw / ; adduser xxxx ) 4. Para cada usuario se hace poner el .ssh/authorized_keys de la clave de metro@shirka poner el .hushlogin cambiar la script de connect para que se conecte al sitio requerido cambiar el /etc/passwd para que el shell sea /home/nombreusuario/connect Todo eso con cuidado de hacer los cambios en los directorio /chroot de main1 y shirka y reiniciar después. Update 20200514 Para que funcionen bien los forwardeos desde shirka han sido necesarias las siguientes scripts: shirka:/chroot/etc/rcS.d/S47sico_miscmain1
shirka:/chroot/usr/local/sbin/miscport.sh
Y en main1: main1:/etc/passwd
main1:/home/miscport/connect
Monday, 16 September 2019, 11:44:26 am Añado webmail.sicosoft.es a asterisk:/root/renew-certbot.sh Realmente no se toca el script, sino que se hace a mano para que el certbot actualice lo que hace con un simple renew. En asterisk, como root: service nginx stop certbot certonly --standalone -d sico.sicosoft.es -d mail.sicosoft.es -d mail2.sicosoft.es -d informes.sicosoft.es -d vpn.sicosoft.es -d webmail.sicosoft.es service nginx start scp /etc/letsencrypt/live/sico.sicosoft.es/fullchain.pem /etc/letsencrypt/live/sico.sicosoft.es/privkey.pem root@zen:/etc/letsencrypt/live/sico.sicosoft.es/ ssh root@zen "apache2ctl restart" NOTA: las siguientes veces bastará hacer un simple: /root/renew-certbot.sh Monday, 16 September 2019, 11:36:48 am Vuelvo a poner que asterisk haga un autossh a vps para forwardear de forma inversa el puerto 2222 de vps al 22 sico Para poder entrar desde fuera si por alguna razón el router de telefónica se vuelve loco. En asterisk, como root, he modificado: autossh-vps.sh
/etc/network/interfaces
Y en vps.sicosoft.es, como root: /etc/init.d/networking
Thursday, 23 May 2019, 10:36:31 am Configuro el router Linksys WAG320N como "profiláctico de red" Si se enchufa el LANPORT1 del WAG a la red de sico, los equipos que se enchufen en la LANPORT2/3/4 con IPs de SICO, sólo se verán entre ellos, sin poder llegar al resto de los equipos de SICO. Esto está pensado para las pruebas de los carteles de ascensores. 1. Se configura en asterisk un alias de red en la eth0:2 con la ip 192.168.2.254: /etc/network/interfaces
2. Se configura en asterisk el firewall para que filtre las cosas que vienen de 192.168.2.1 de manera que sólo responda a las peticiones de DNS, filtrando el resto de los puertos. /etc/default/iptables 3. Reseteo el WAF320N: se enciende, y una vez totalmente arrrancado, se presiona el reset durante 5segs; el power parpadea en rojo para indicar que el router se ha reseteado 4. Desde un portátil con un cable al puerto LANPORT1, me conecto a http://192.168.1.1 (user:admin, pass:admin) 5. Configuro el WAG320N
Y con eso está todo. Update 20190913: Faltaba hacer un "/root/nat.sh eth0" en asterisk (como root) para que todo funcionase bien, ya que si no, no hace NAT desde la 192.168.2.0/24 a la 3.0.1.0/24. Lo he añadido al /etc/network/interfaces. asterisk:/etc/network/interfaces
Update 20210929 Se añaden puertos para poder conectar a los carteles por SSL, se quita el cartel de 3.0.1.190 porque hay un límite de 24 reglas. Friday, 24 August 2018, 10:09 am Hemos vuelto a contratar un vps. Reconfiguro el DNS y los ssh para él
apt-get install postfix mailutils # NOTA: Cuando pregunte, queremos "Internet Host" y el nombre a usar er "vps.sicosoft.es" sed -i "s/^myhostname = .*/myhostname = vps.sicosoft.es/g" /etc/postfix/main.cf echo -e "\n# ADDED\n\nrelay_domains = sicosoft.es\nmynetowrks = 2.136.41.224/32\nsmtpd_client_restrictions = permit_mynetworks" >> /etc/postfix/main.cf /etc/init.d/postfix restart
cd /etc/postfix for i in rocketmail.com yahoo.ae yahoo.at yahoo.be yahoo.ch yahoo.co.id yahoo.co.il yahoo.co.in yahoo.co.jp yahoo.co.nz yahoo.co.th yahoo.co.uk yahoo.co.za yahoo.com yahoo.com.ar yahoo.com.au yahoo.com.br yahoo.com.co yahoo.com.hk yahoo.com.hr yahoo.com.mx yahoo.com.my yahoo.com.ph yahoo.com.sg yahoo.com.tr yahoo.com.tw yahoo.com.vn yahoo.cz yahoo.de yahoo.dk yahoo.es yahoo.fi yahoo.fr yahoo.gr yahoo.hu yahoo.ie yahoo.in yahoo.it yahoo.nl yahoo.no yahoo.pl yahoo.pt yahoo.ro yahoo.ru yahoo.se ymail.com ; do echo "$i smtp:vps.sicosoft.es:25" >> transport ; done postmap hash:/etc/postfix/transport sed -i "s@\(^transport_maps = .*\)@\1, hash:/etc/postfix/transport@g" main.cf /etc/init.d/postfix restart /etc/default/iptables
Wednesday, 11 July 2018, 9:13:09 am Instalo el certbot en asterisk
/etc/init.d/nginx stop
apt-get update
echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
apt-get update
apt-get install certbot -t jessie-backports
cd /root
cat > renew-certbot.sh <<'EOF'
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
n=`certbot certificates 2>/dev/null | grep "[^A-Z]VALID: [0-9]" | wc -l | tr -dc 0-9`
if [ "m$n" != "m1" ] ; then
service nginx stop
certbot renew
service nginx start
fi
EOF
chmod 755 renew-certbot.sh
certbot certonly --standalone -d sico.sicosoft.es -d mail.sicosoft.es -d mail2.sicosoft.es -d informes.sicosoft.es -d vpn.sicosoft.es
/etc/init.d/nginx start
Y en el crontab se añade: 51 3,17 * * * /root/renew-certbot.sh Thursday, 14 June 2018, 10:36:07 am Configuro el acceso a internet en el equipo asterisk y le pongo un firewall He modificado
Configurado el vps Se ha autorizado a root@asterisk y a dario@uiharu. Se ha desactivado el acceso por ssh con password siguiendo este tutorial. Tuesday, 29 May 2018, 11:33:55 am Hago que database tenga el default gw a 3.0.1.51 para que pueda acceder a internet (y sincronizar la hora) Para que sincronice la hora y tenga database conectividad a internet se ha hecho lo siguiente: 1. Como root, se ha añadido al crontab la siguiente línea (para que sincronice la hora con hora.rediris.es): 0 3 * * * /usr/sbin/ntpdate hora.rediris.es 2. Se ha puesto bien el resolv.conf (estaba a 3.0.1.51, ahora hay que poner 3.0.1.3): # echo nameserver 3.0.1.3 > /etc/resolv.conf 3. Se ha editado el fichero /etc/init.d/network para añadir justo antes del "exit 0" la siguiente línea que pone el default gw: /sbin/route add default gw 3.0.1.51 Tuesday, 24 April 2018, 11:01:02 am Hago que main1 forwardee el puerto 5901 a frontpci02 desde shirka Siguiendo las instrucciones del "Tuesday, 11 February 2014, 9:57:25 am". Wednesday, 28 March 2018, 11:56:09 am Quitamos la fibra de internetti y la ponermos en nas, quitamos el adsl de databse y lo ponemos en internetti, y modificamos la configuraciópn de red de ambos equipos Se ha hecho los siguientes cambios: 1. Se ha puesto la fibra conectada a NAS usando un adaptador usb-ethernet 2. Se ha puesto en el NAS un alias a 3.0.1.51 3. Se ha cambiado la IP de internetti a 3.0.1.151 4. Se ha puesto el ADSL conectado a internetti 5. En internetti (freebsd) se ha cambiado el rc.local y el pf.conf para que tenga esa IP y que no haga lo del pppoe, sino directamente configure la interfaz "wan" de forma normal con su gateway configurado. Tuesday, 10 October 2017, 11:58:40 am Arreglo el iptables de database Ya que da unos errores en las reglas por tener un iptables demasiado antiguo: cd /root mkdir iptables_amd64 cd iptables_amd64 scp dario@3.0.1.3:/sbin/iptables . cp ../modprobe_amd64/*so* . cat > iptables.sh <<'EOF' #!/bin/bash LANG=C LC_ALL=C export LANG LC_ALL LD_LIBRARY_PATH=/root/iptables_amd64 /root/iptables_amd64/ld-linux-x86-64.so.2 /root/iptables_amd64/iptables "$@" EOF chmod 755 iptables.sh scp dario@3.0.1.3:/lib64/ld-linux-x86-64.so.2 . scp dario@3.0.1.3:/lib/x86_64-linux-gnu/libc.so.6 . scp dario@3.0.1.3:/lib/x86_64-linux-gnu/libm.so.6 . scp dario@3.0.1.3:/lib/x86_64-linux-gnu/libdl.so.2 . scp dario@3.0.1.3:/usr/lib/x86_64-linux-gnu/libip4tc.so.0 . scp dario@3.0.1.3:/usr/lib/x86_64-linux-gnu/libip6tc.so.0 . scp dario@3.0.1.3:/usr/lib/x86_64-linux-gnu/libxtables.so.12 . cd /sbin mv iptables iptables.orig ln -s /root/iptables_amd64/iptables.sh iptables Y para rearrancar el firewall: cd /etc/init.d/ ./firewall.sico.solocorreo Tuesday, 10 October 2017, 11:23:42 am Actualizo el nginx en internetti Siguiendo esta guía: portsnap fetch extract cd /usr/ports/ports-mgmt/pkg make reinstall make clean cd /usr/ports/www/nginx pkg install nginx service nginx restart Thursday, 4 May 2017, 10:27:47 am Instalo el letsencrypt.sh en internetti (freebsd-11.0) Siguiendo estas instrucciones del certbot: portsnap fetch update portsnap fetch portsnap extract pkg install pkgconf cd /usr/ports/security/py-certbot && make install clean mkdir -p /var/www cd /usr/local/etc/nginx service nginx stop certbot certonly --standalone -d informes.sicosoft.es -d sico2.sicosoft.es -d mail.sicosoft.es service nginx start Además he modificado el "/usr/local/etc/nginx/nginx.conf" para que tenga la misma configuración SSL en todos los servidores, quedando así:
Y para el script de renovación (hay que verificar que ha funcionado dentro de tres meses...): /usr/local/etc/nginx/renew-certbot.sh
Se ponen permisos y se instala el crontab: chmod 755 /usr/local/etc/nginx/renew-certbot.sh echo "51 3,17 * * * /usr/local/etc/nginx/renew-certbot.sh" | crontab -e Thursday, 4 May 2017, 9:26:51 am Actualizo el freebsd de internetty de la 10.3 a la 11.0 Ya que el 10.3 sigue sin tener el letsencrypt en sus repositorios. He seguido las instrucciones oficiales: cd : > /usr/bin/bspatch freebsd-update upgrade -r 11.0-RELEASE freebsd-update install shutdown -r now freebsd-update install pkg-static install -f pkg # Recompilamos los paquetes que estaban instalados usando ports cd /usr/ports/net/trafshow make clean deinstall reinstall cd /usr/ports/dns/bind99 make clean deinstall reinstall cd /usr/ports/net/mpd5 make clean deinstall reinstall # quitamos las librerías antiguas freebsd-update install # actualizamos el nginx pkg install nginx # reiniciamos para usar la nueva versión del s.o. shutdown -r now Wednesday, 3 May 2017, 11:35:11 am Actualizo el freebsd de internetti de la 10.1 a la 10.3 Siguiendo estas instrucciones: freebsd-update fetch freebsd-update install freebsd-update upgrade -r 10.3-RELEASE freebsd-update install shutdown -r now # se reinicia y se vuelve a ejecutar para las actualizaciones que dependían del kernel freebsd-update install # Una vez que termina, se vuelve a ejeuctar (si lo pide) para borrar librerías antiguas # Por último se vuelve a reiniciar para que use la nueva versión de todo shutdown -r now UPDATE 20170504 Restauro una versión antigua de la BBDD de paquetes porque me estaba dando un error el "pkg info": cd /var/db/pkg mv local.sqlite local.sqlite.bad2 xzcat /var/backups/pkg.sql.xz.1 | sqlite3 /var/db/pkg/local.sqlite pkg info Wednesday, 3 May 2017, 9:52:26 am Instalo el letsencrypt en informes.sicosoft.es, esto es, en el nginx de internetti/FreeBSD Siguiendo este tutorial, y para arreglar un problema con el pkg este thread/y este otro . También he tenido que recrear la BBDD de paquetes pkg update pkg install py-letsencrypt cd /usr/ports/ports-mgmt/pkg make clean deinstall reinstall -D ALLOW_UNSUPPORTED_SYSTEM pkg-static install sqlite3 cp /var/db/pkg/local.sqlite /var/db/pkg/local.sqlite.backup sqlite3 /var/db/pkg/local.sqlite #tambien se puede hacer un "pkg shell" en vez del sqlite3 sqlite> pragma integrity_check; ok sqlite> pragma user_version="31"; sqlite> .mode insert sqlite> .output local.sqlite.dump sqlite> .dump sqlite> .quit root@internetti:/usr/ports/ports-mgmt/pkg # mv /var/db/pkg/local.sqlite /var/db/pkg/local.sqlite.bad root@internetti:/usr/ports/ports-mgmt/pkg # sqlite3 /var/db/pkg/local.sqlite SQLite version 3.18.0 2017-03-28 18:48:43 Enter ".help" for usage hints. sqlite> .read local.sqlite.dump sqlite> .quit cd /usr/ports/ports-mgmt/pkg make clean deinstall reinstall -D ALLOW_UNSUPPORTED_SYSTEM Aunque con eso no se ha terminado de arreglar... Una alternativa es usar los ports directamente: portsnap fetch portsnap extract # (Para las siguientes veces no no se hace el extract, sino solo un "portsnap fetch update") Y luego, siguiendo el tutorial que mencionaba al principio NOTA: Sigue sin tener acceso al paquete de lets-encript. Actualizo el freebsd (ver siguiente entrada) Wednesday, 8 February 2017, 9:00:06 am Para el futuro: actualizar el Archer C7 Wednesday, 26 October 2016, 9:40:04 am Instalo el trafshow en internetti (trafshow es el iptraf de BSD) Visto aquí. Instrucciones para instalar ports. Pasos seguidos (como root): stat -x /usr/ports/UPDATING > ~/last_update sudo portsnap fetch update cd /usr/ports/net/trafshow make config-recursive install distclean Para usarlo: trafshow -i em0 -n Friday, 29 July 2016, 12:06:54 pm Hago que internetti forwardee el puerto iax2 a asterisk Siguiendo esta guía de puertos. Hago lo siguiente en el /etc/pf.conf de internetti: TCP_SERVICES="{ 22, 25, 53, 80, 443 }" UDP_SERVICES="{ 53 4569 }" ... ASTERISK_PORT="4569" HOST_ASTERISK="3.0.1.52" ... rdr pass on $EXT_NIC inet proto tcp from any to $EXT_IP port 80 -> $HOST_GEA port $OPENVPN_PORT rdr pass on $EXT_NIC inet proto udp from any to $EXT_IP port $ASTERISK_PORT -> $HOST_ASTERISK port $ASTERISK_PORT ... Y después: /etc/rc.d/pf reload (enbtonces hay que abrir un nuevo ssh contra internetti, el actual se queda bloqueado). Monday, 7 March 2016, 10:23:13 am Actualizo las reglas del firewall del wifi en el archer para hacer un agujero en el 3.0.1.52 de manera que se pueda llegar desde los móviles a la máquina final de asterisk Ver entrada "Tuesday, 3 February 2015, 9:27:20 am", que he actualizado con los nuevos valores. Thursday, 3 March 2016, 9:28:51 am Forwardeo a metro el puerto 1528 Lo hago como en ocasiones anteriores, ver entrada de "Tuesday, 12 January 2016, 9:20:32 am". Friday, 26 February 2016, 10:31:44 am Actualizo las reglas del firewall del wifi en el archer para hacer un agujero en el 3.0.1.88 de manera que se pueda llegar desde los móviles al asterisk Ver entrada "Tuesday, 3 February 2015, 9:27:20 am", que he actualizado con los nuevos valores. Tuesday, 12 January 2016, 9:20:32 am Forwardeo a metro los puertos 11001 (pruebas tcti), 11003 (pruebas tcti) y 4321 (zlogtail) Igual que en las entradas anteriores. Resumiendo: 1. Se modifica el firewall de shirka para que haga proxy transparente de esos puertos 2. Se añade en la script /etc/rcS.d/S47sico_miscmain1 para que haga un socat del puerto local a un ssh a main1 3. Se añaden los usuarios a main1 (rm /etc/mtab ; ln -s /proc/mounts /etc/mtab ; chroot /chroot ; #(esperar el prompt) ; mount -o remount,rw /home ; mount -o remount,rw / ; adduser xxxx ) 4. Para cada usuario se hace poner el .ssh/authorized_keys de la clave de metro@shirka poner el .hushlogin cambiar la script de connect para que se conecte al sitio requerido cambiar el /etc/passwd para que el shell sea /home/nombreusuario/connect Todo eso con cuidado de hacer los cambios en los directorio /chroot de main1 y shirka y reiniciar después. Monday, 20 July 2015, 9:59:39 am Instalo el bind de forma normal en internetti portsnap fetch update make -C /usr/ports/dns/bind99 install clean Dejo todo por defecto excepto lod e "install docs" (que lo dejo desactivado). Hago un enlace para llegar más fácilmente a la configuración y pongo la zona de sicosoft desde el último backup conocido: ln -s /usr/local/etc/namedb /etc/bind cd /etc/bind mkdir zones cd zones scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/var/named/zones/sicosoft.es.db . chown bind:bind sicosoft.es.db Edito la configuración del named en /usr/local/etc/namedb/named.conf y añado lo siguiente:
acl trusted-servers {
79.98.145.34; 195.80.237.194;
};
zone "sicosoft.es" {
type master;
file "/etc/bind/zones/sicosoft.es.db";
allow-transfer { 79.98.145.34; 195.80.237.194; };
also-notify { 79.98.145.34; 195.80.237.194; };
};
También, en el options del named.conf, cambio el listen-on para que escuche en la ip externa, y añado el allow recursion para lasañado lo siguiente:
options {
...
listen-on { any; };
...
allow-recursion { 127.0.0.1; 3.0.1.0/24; };
};
Por último se añade al /etc/rc.conf la línea: named_enable="YES" Y se arranca a mano para probarlo: service named start tail -25 /var/log/messages NOTA: Tengo un problema con el firewall, ya que el puerto 53 aparece como filtered (pero sí que funciona desde la red de sico (?)). manual para depurar el firewall. Monday, 20 July 2015, 8:36:42 am Para actualizar los ports: portsnap fetch update Guía de instalación del named en un chroot jail sin ayuda del ezjail, y la guía usando ezjail: NOTA: ezjail ya lo tengo instalado ya que lo uso para el nginx. Añado a /etc/rc.conf cloned_interfaces="${cloned_interfaces} lo2"
Arranco el interfaz clonadoservice netif cloneupCreo el ezjail dns1 ezjail-admin create dns1 'lo2|127.0.3.1,em0|3.0.1.51'Lo arrancamos: ezjail-admin start dns1 Desactivo el ezjail ya que al activarlo me quedo sin red en la máquina (?). He editado el /etc/rc.conf y he dejado: ezjail_enable="NO"Supongo que eso es porque la ip del interfaz em0 no la comparte, sino que se queda como privada de la jail (¿habrá que poner una IP deiferente y forwardear usando el firewall?) Monday, 15 June 2015, 10:29:28 am Pongo rutas estáticas en el Archer para poder hacer pruebas con los teléfonos en SICO Se añaden las siguientes rutas estáticas en 192.168.0.1 (archer desde uiharu): Advanced Routing > Static Routing
NOTA: Para que funcione, en uiharu hay que hacer (como root): ifconfig br0:1 16.13.62.60 route add -host 18.132.58.12 gw 3.0.1.4 /etc/init.d/firewall stop Y en el tcti (3.0.1.4 es el de pruebas) ifconfig eth0:1 18.132.58.12 route add -net 192.168.0.0 netmask 255.255.255.0 gw 3.0.1.3 Update 20160112 Añado también la estación de Mar de Cristal a las rutas estáticas del archer c7 Wednesday, 3 June 2015, 10:38:34 am Instalo el openvpn en gea Siguiendo este tutorial y este otro
test ! -c /dev/net/tun && echo openvpn requires tun support || echo tun is available
cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa
cd /root/easy-rsa
cp vars{,.orig}
scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/home/ana/easyrsa/* .
openvpn --genkey --secret /root/easy-rsa/keys/ta.key
cp -pv /root/easy-rsa/keys/{ca.{crt,key},{vpn,carlosculebras,jjcriado}.sicosoft.es.{crt,key},ta.key,dh1024.pem} /etc/openvpn/certs/
mkdir -p /etc/openvpn/private
chmod 700 /etc/openvpn/private
scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/openvpn/private/vpn.sicosoft.es.key /etc/openvpn/private
cat > /etc/openvpn/server.conf <'EOF'
port 1194
proto udp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/vpn.sicosoft.es.crt
key /etc/openvpn/private/vpn.sicosoft.es.key
dh /etc/openvpn/certs/dh1024.pem
tls-auth /etc/openvpn/certs/ta.key 0
server 192.168.88.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 1800 4000
cipher DES-EDE3-CBC # Triple-DES
comp-lzo
max-clients 10
user nobody
group nogroup
persist-key
persist-tun
#log openvpn.log
#status openvpn-status.log
verb 5
mute 20
EOF
service openvpn restart
update-rc.d -f openvpn defaults
sed -i "s:^#*net.ipv4.ip_forward=.*:net.ipv4.ip_forward=1:g" /etc/sysctl.conf
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT
iptables -A FORWARD -s 192.168.88.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/iptables.rules
echo '#!/bin/bash' > /etc/network/if-pre-up.d/iptables
echo 'test -e /etc/iptables.rules && iptables-restore -c /etc/iptables.rules' >> /etc/network/if-pre-up.d/iptables
chmod 755 /etc/network/if-pre-up.d/iptables
Tuesday, 2 June 2015, 12:03:50 pm Hago que internetti forwardee el puerto del openvpn a gea El objetivo es poner el openvpn en gea. Hago lo siguiente en el /etc/pf.conf de internetti:
TCP_SERVICES="{ 22, 25, 53, 80, 443 }"
UDP_SERVICES="{ 53 }"
...
OPENVPN_PORT="1194"
HOST_GEA="3.0.1.198"
...
rdr pass on $EXT_NIC inet proto tcp from any to $EXT_IP port 25 -> 3.0.1.123 port 25
rdr pass on $EXT_NIC inet proto tcp from any to $EXT_IP port 80 -> $HOST_GEA port $OPENVPN_PORT
...
Y después: /etc/rc.d/pf reload(enbtonces hay que abrir un nuevo ssh contra internetti, el actual se queda bloqueado). Tuesday, 2 June 2015, 11:29:24 am Desinstalo el openvpn de internetti ya que parece estar dando problemas pkg remove openvpn pkg remove easy-rsa vi /etc/rc.conf(quito la parte de openvpn) reboot Tuesday, 2 June 2015, 9:35:15 am Instalo el openvpn en el freebsd 10.1 de internetti Siguiendo estas instrucciones para droplets freebsd 10.1 de digitalocean y setting up a bridged openvpn: pkg update pkg install openvpn cd /usr/local/etc scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.6/etc/openvpn . ln -s /usr/local/etc/openvpn /etc/openvpn sed "s/_openvpn/nobody/g;s/port 80/port 8080/g" < server.conf > /tmp/a cat /tmp/a > server.conf vi /etc/rc.conf Se añaden las siguientes líneas al final del fichero, se salva y se sale del vi
vi /etc/pf.conf Y se añade el puerto 8080 en la lista de puertos Por último se reicinia y se prueba que funciona: reboot Thursday, 21 May 2015, 11:37:57 am Actualizo el mainthtml5 de shirka A una versión que ya no requiere el ponerlo detrás de un redir para que funcione tras el nginx. De momento no quito el redir para no cambiar varias cosas al mismo tiempo (aunque ya no sea necesario tenerlo). Wednesday, 25 March 2015, 11:07:37 am Instalo el nginx en internetti (FreeBSD) para habilitar lo de los pupitres Uso este tutorial y la configuración antigua que usaba en openbsd. Hago lo siguiente: pkg install nginx cd /usr/local/etc/nginx mv nginx.conf nginx.conf.ori scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/nginx/nginx.conf . mkdir -p /var/log/nginx/log/ /etc/ssl/certs /etc/ssl/private scp "root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/ssl/private/*sicosoft*" /etc/ssl/private/ echo 'nginx_enable="YES"' >> /etc/rc.conf service nginx start Tuesday, 3 February 2015, 9:27:20 am Cambio el Wifi de SICO al Archer C7 v2 Ya que el otro aparato no funcionaba bien. Está conectado a uiharu (3.0.1.3) para acceder al web admin panel por la IP 192.168.0.1. Se ha hecho lo siguiente: 1. Conectado a la red de sico en la WAN, conectado a un interfaz de uiharu (uiharu tiene la 192.168.0.254 en dicho interfaz) en la LAN1. 2. Encender el aparato y conectarse desde un navegador de uiharu a la 192.168.0.1 (si el firmware fuera más moderno, habría sido la 192.168.1.1) 3. Poner la configuración de red del archer
NOTA: Aunque he puesto como DNS secundario el 3.0.1.170, los aparatos conectados al wifi no tienen acceso al 3.0.1.170... Update 20150311 Hago otro agujero al firewall para gea (3.0.1.198). Actualizo la información de arriba con la configuración actual. Update 20160226 Hago otro agujero al firewall para el asterisk (3.0.1.88). Actualizo la información de arriba con la configuración actual. Update 20160307 Hago otro agujero al firewall para la máquina final del asterisk (3.0.1.52). Actualizo la información de arriba con la configuración actual. Wednesday, 31 December 2014, 10:55 am Instalación del bind9 en internetti/FreeBSD Hay un tutorial completo y otro tutorial simplificado para bind9 en jail. Aparte hay un tutorial más sencillo de cómo instalar bind9 en un chroot en FreeBSD 10. Sigo el tutorial del chroot: 1. Actualizamos el FreeBSD a los últimos parches portsnap fetch extract freebsd-update fetch install 2. Preparamos el entorno para ezjail
echo 'cloned_interfaces="${cloned_interfaces} lo1"' >> /etc/rc.conf
service netif cloneup
3. Instalamos ezjail desde los ports: cd /usr/ports/sysutils/ezjail make install clean 4. Hacemos que arranque echo 'ezjail_enable="YES"' >> /etc/rc.conf service ezjail start 5. Instalamos el FreeBSD plantilla para las jails ezjail-admin install -p Thursday, 18 December 2014, 11:58:51 am Hago que el FreeBSD ponga en el arranque la ruta para shirka Hecho según la página de manual de rc: /etc/rc.local
Tuesday, 16 December 2014, 1:18:05 pm Información de cómo depurar un problema con multihomed mail http://www.linuxforums.org/forum/networking/153506-solved-iproute2-rule-based-multi-homed-snat-problem.html conntrack -L | grep "=25\b" watch "netstat -pan | grep \":25\b\"" Monday, 15 December 2014, 10:36:02 am Hago que internetti (FreeBSD) redirija el puerto 25 a la ip secundaria de zen 3.0.1.123 El /etc/pf.conf queda así:
SYN_ONLY="S/FSRA"
EXT_NIC="tun0"
INT_NIC="em0"
EXT_IP="80.28.211.112"
INT_IP="3.0.1.51"
INT_IP2="3.0.1.52"
TCP_SERVICES="{ 22, 25, 53, 80, 443 }"
UDP_SERVICES="{ 53 }"
ICMP_TYPES="{ echoreq, unreach}"
set limit states 100000
set skip on lo
scrub all fragment reassemble
nat on $EXT_NIC from !($EXT_NIC) to any -> ($EXT_NIC)
rdr pass on $EXT_NIC inet proto tcp from any to $EXT_IP port 25 -> 3.0.1.123 port 25
block # block stateless traffic
pass # establish keep-state
block in on ! lo0 proto tcp to port 6000:6010
block return-rst in log on $EXT_NIC proto TCP all
pass in on $EXT_NIC proto TCP from any to $EXT_IP port $TCP_SERVICES flags $SYN_ONLY keep state
block in on $EXT_NIC proto udp all
pass in quick on $EXT_NIC proto UDP from any to $EXT_IP port $UDP_SERVICES keep state
pass in inet proto icmp all icmp-type $ICMP_TYPES
block out on $EXT_NIC all
pass out quick on $EXT_NIC from $EXT_IP to any keep state
set skip on lo0
set skip on $INT_NIC
Y para que lo recargue: pfctl -F all -f /etc/pf.conf Thursday, 11 December 2014, 11:25:45 am Multihoming en zen Hay un tutorial de multihoming para linux con iptables. Para ello: 1. Edito /etc/network/interfaces para que también tenga la ip 3.0.1.123, pero en el eth1 (3.0.1.124 es eth0). 2. Edito el /etc/default/iptables, poniendo lo que da por pantalla lo siguiente (antes de la parte de filtro de iredmail): *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [17:884] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [17:1596] :POSTROUTING ACCEPT [17:1596] :MARK-FIBRA - [0:0] -A PREROUTING -s 3.0.1.0/24 -d 3.0.1.0/24 -i eth0 -j ACCEPT -A PREROUTING -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff -A PREROUTING -d 3.0.1.123 -m conntrack --ctstate NEW -j MARK-FIBRA -A INPUT -d 3.0.1.123 -m conntrack --ctstate NEW -j MARK-FIBRA -A OUTPUT -d 3.0.1.123 -m conntrack --ctstate NEW -j MARK-FIBRA -A MARK-FIBRA -j MARK --set-xmark 0x2/0xffffffff -A MARK-FIBRA -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff -A MARK-FIBRA -j MARK --set-xmark 0x2/0xffffffff -A MARK-FIBRA -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp --dport 10000 -j ACCEPT -A INPUT -p tcp --dport 53 -j ACCEPT -A INPUT -p udp --dport 53 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 25 -j ACCEPT -A INPUT -p tcp --dport 587 -j ACCEPT -A INPUT -p tcp --dport 110 -j ACCEPT -A INPUT -p tcp --dport 995 -j ACCEPT -A INPUT -p tcp --dport 143 -j ACCEPT -A INPUT -p tcp --dport 993 -j ACCEPT -A INPUT -p tcp --dport 22 -j ACCEPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT COMMIT 3. Añadir lo siguiente a /etc/iproute2/rt_tables 250 ADSL 249 FIBRA 4. Añadir lo siguiente a un nuevo fichero /etc/init.d/routes #!/bin/bash export PATH=$PATH:/sbin:/usr/sbin ip route flush table FIBRA ip route add default via 3.0.1.51 dev eth1 table FIBRA ip route add to 3.0.1.0/24 dev eth0 table default ip route flush cache ip rule flush ip rule add from all lookup local priority 0 ip rule add from all fwmark 0x2 lookup FIBRA priority 90 ip rule add from 3.0.1.123 lookup FIBRA priority 91 ip rule add from all lookup main priority 32766 ip rule add from all lookup default priority 32767 #Finally, make sure that the rp_filter option is disabled on the router, otherwise it could drop packets: for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > "$i"; done # Set up so that both cards can share network # http://unix.stackexchange.com/questions/126832/linux-routing-for-receiving-packet sysctl -w net.ipv4.conf.eth0.arp_announce=2 sysctl -w net.ipv4.conf.eth1.arp_announce=2 sysctl -w net.ipv4.conf.eth0.arp_filter=1 sysctl -w net.ipv4.conf.eth1.arp_filter=1 sysctl -w net.ipv4.conf.eth0.arp_ignore=1 sysctl -w net.ipv4.conf.eth1.arp_ignore=1 5. Darle permisos de ejecución chmod 755 /etc/init.d/routes 6. Llamarlo desde el /etc/init.d/ip_tables del iRedMail, en la parte del start, entre el touch y el return:
...
start() {
# Do not start if there is no config file.
[ -f "$IPTABLES_DATA" ] || return 1
log_daemon_msg "Applying $IPTABLES firewall rules"
OPT=
[ "x$IPTABLES_SAVE_COUNTER" = "xyes" ] && OPT="-c"
$IPTABLES-restore $OPT $IPTABLES_DATA
if [ $? -eq 0 ]; then
log_end_msg 0
else
log_end_msg 1; return 1
fi
# Load additional modules (helpers)
if [ -n "$IPTABLES_MODULES" ]; then
echo -n "Loading additional $IPTABLES modules"
ret=0
for mod in $IPTABLES_MODULES; do
echo -n "$mod "
modprobe $mod > /dev/null 2>&1
let ret+=$?;
done
[ $ret -eq 0 ] && log_end_msg 0 || log_end_msg 1
fi
touch $VAR_SUBSYS_IPTABLES
+### SICO ADDENDA
+/etc/init.d/routes start
+### END OF SICO ADDENDA
return $ret
}
...
7. Hacer que admita que varios interfaces de red estén en la misma red, pone lo siguiente al final del /etc/init.d/routes sysctl -w net.ipv4.conf.eth0.arp_announce=2 sysctl -w net.ipv4.conf.eth0:1.arp_announce=2 sysctl -w net.ipv4.conf.eth0.arp_filter=1 sysctl -w net.ipv4.conf.eth0:1.arp_filter=1 sysctl -w net.ipv4.conf.eth0.arp_ignore=1 sysctl -w net.ipv4.conf.eth0:1.arp_ignore=1 Wednesday, 10 December 2014, 10:25:13 am Instalo FreeBSD 10.1 x86-64 en internetti Para poder seguir el tutorial para freebsd con instrucciones para poner la fibra con mpd5. Pasos realizados: 1. Instalo usando un pendrive con la imagen de 10.1-release para x86-64 UEFI, interfaz de red em0 con ip 3.0.1.9, todo lo demás por defecto (y se crea un usuario, ana, al que invito al grupo wheel cuando me lo pregunta) 2. Arranco desde el HDD. 3. Hago lo siguiente para configurar el ppp en el interfaz re0 (como root) con nat: ifconfig vlan0 create ifconfig vlan0 vlan 6 vlandev re0 cd /usr/ports/net/mpd5 make install clean cp /dev/tty /usr/local/etc/mpd5/mpd.conf infinity: create bundle static B1 set iface name tun0 set iface enable tcpmssfix set iface route default set ipcp ranges 0.0.0.0/0 0.0.0.0/0 create link static L1 pppoe set link action bundle B1 set auth authname adslppp@telefonicanetpa set auth password adslppp set link max-redial 0 set link mtu 1492 set link mru 1492 set link keep-alive 10 60 set pppoe iface vlan0 set pppoe service "" open default: load infinity ^D /usr/local/etc/rc.d/mpd5 onestart 4. Para que arranque automáticamente el ppp en el inicio, se edita el /etc/rc.conf vi /etc/rc.conf Se añade lo siguiente: ifconfig_re0="up" cloned_interfaces="vlan0" ifconfig_vlan0="vlan 6 vlandev re0" mpd_enable="YES" gateway_enable="YES" Y también se borra el default route de rc.conf. 5. Activo el pf firewall echo 'pf_enable="YES"' >> /etc/rc.conf echo 'pf_rules="/etc/pf.conf"' >> /etc/rc.conf ssh root@3.0.1.46 "cat /shared/unix/chroots/internettiOBSD5.6/etc/pf.conf" | sed "s/pppoe/tun/g" | grep -v scrub | grep -v "^pass.*rdr-to\|nat-to" > pf.conf pfctl -F all -f /etc/pf.conf En el comando anterior hemos eliminado las líneas que dan error en el pfctl -vnf /etc/pf.conf, es decir, las líneas 51 (scrub), 65,67 y 68 (rdr-to, nat-to). 5. ya está, se reinicia para ver que todo funciona y listo. reboot Friday, 5 December 2014, 11:22:51 am Para el PPP hay un tutorial para freebsd contra la fibra de telefónica con mpd5 (en linux era diferente): pkg install mpd5 he editado /etc/rc.conf (manual)para las vlan y /etc/ppp/ppp.conf (manual) para el ppp Después de reiniciar se prueba con: internetti# ppp -ddial fibra Friday, 5 December 2014, 8:22:22 am Alternativa por si no consigo hacer funcionar el Debian/kfreebsd ni dragonflybsd: bitrig Para el Bitrig (OpenBSD fork): Información aquí y proceso de instalación. Otro tutorial de instalación. Thursday, 4 December 2014, 10:52:01 am
Notas para el resto de las partes: 1. He copiado el pf.conf directamente desde el antiguo openbsd cd /etc mv pf.conf pf.conf.sample scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.6/etc/pf.conf . 2. Para el pppoe he usado información de aquí (y 1 2 3) kldload ng_pppoe 3. Para el OpenVPN se puede usar la información de aquí NOTA: información para las vlan NOTA: resolta que el ppp de freebsd no está portado a debian/kfreebsd, y las hackedutils tienen un ppp que no soporta pppoe (por un problema con el netgraph), aparte de ser para FreeBSD 9 y no 10 como tiene jessie. Por último, se puede usar el ng_pppoe del núcleo directamente usando la utilidad para multilink (ver instrucciones (jp)), pero el mpd no está compilado para debian/kfreebsd. Tuesday, 25 November 2014, 11:14:47 am Cambio la configuración del sshd de uiharu para que salchicha pueda seguir coenctándose Me estaban dando errores de: no matching cipher found no kex algPara arreglarlo, he añadido a uiharu:/etc/ssh/sshd_config lo siguiente: Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-cbc KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 Y después reiniciado el sshd en uiharu. Wednesday, 5 November 2014, 11:16:03 am Actualizo internetti a OpenBSD 5.6 mediante una resinstalación Pases seguidos: 1. Bajar install56.iso para x86_64 y grabarlo a CD 2. Arrancar del CD, aceptar las opciones por defecto de la instalación excepto:
cd /etc/ scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/hostname.em0 . scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/hostname.pppoe0 . scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/hostname.re0 . scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/hostname.vlan6 . scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/pf.conf . scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/sysctl.conf . cd /var/named scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/var/named/* . cd /etc/ scp root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/rc.conf.local . export PKG_PATH="ftp://ftp.openbsd.org/pub/OpenBSD/5.6/packages/amd64/" pkg_add -i lzo pkg_add -i openvpn pkg_add -i git cd /usr/local/share/examples/openvpn/ git clone -b release/2.x https://github.com/OpenVPN/easy-rsa.git easy-rsa su - ana Y como usuario: cd scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/home/ana/easyrsa . exit Como root otra vez: cd /etc scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/openvpn . pkg_add pcre pkg_add nginx mkdir -p /var/log/nginx/log/ scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/nginx . cd /etc/ssl scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/ssl/certs . scp -r root@3.0.1.46:/shared/unix/chroots/internettiOBSD5.4/etc/ssl/private . Y con esto ya está todo trasladado de la instalación antigua a la nueva. Monday, 20 October 2014, 10:24:16 am Hago que shirka forwardee el puertos 1525 a main1 usando ssh Siguiendo las instrucciones del "Tuesday, 11 February 2014, 9:57:25 am" Tuesday, 7 October 2014, 10:17:31 am Comprobar los certificados SSL Se puede hacer desde un sitio web externo. He usado estos dos: Tuesday, 7 October 2014, 10:13:34 am Resulta que todavía éramos vulnerables al heartbleed en el openbsd; aplico los parches pertinientes Siguiendo este tutorial para actualizar OpenBSD y este otro, es una simple instrucción: export PKG_PATH="ftp://ftp.openbsd.org/pub/OpenBSD/5.4/packages/amd64/" pkg_add -uvi PERO para arreglar lo del OpenSSL (heartbleed, test) hay que instalar los parches (parches 007, 008 y 009 de OpenBSD 5.4): cd /root curl http://ftp.openbsd.org/pub/OpenBSD/patches/5.4/common/007_openssl.patch > 007_openssl.patch curl http://ftp.openbsd.org/pub/OpenBSD/patches/5.4/common/008_openssl.patch > 008_openssl.patch curl http://ftp.openbsd.org/pub/OpenBSD/patches/5.4/common/009_openssl.patch > 009_openssl.patch Se puede seguir este howto para parchear openbsd 5.4. NOTA: Antes de seguir el howto, hay que montar un HDD externo en /usr/src: dmesg | grep sd0 disklabel sd0 mount /dev/sd0i /usr/src Tuesday, 7 October 2014, 9:18:49 am Hacemos un certificado para *.sicosoft.es El procedimiento es igual que veces anteriores: openssl req -new -newkey rsa:4096 -days $(( 365 * 2 )) -nodes -keyout asterisk.sicosoft.es.key -out asterisk.sicosoft.es.csr Entonces hago (NOTA: es un class-2, no un class-1 como antes): curl http://www.startssl.com/certs/sub.class2.server.ca.pem > sub.class2.server.ca.pem curl https://www.startssl.com/certs/ca.pem > startssl.ca.crt wget http://www.startssl.com/certs/sub.class2.server.ca.pem cat sub.class2.server.ca.pem startssl.ca.crt > startssl.chain.class2.server.crt cat asterisk.sicosoft.es.crt startssl.chain.class2.server.crt > asterisk.sicosoft.es.pem Instalo dichos certificados en internetti Los instalo y los pongo en el nginx.conf. En internetti, como root: cd /etc/ssl/private/ scp dario@3.0.1.3:certs/asterisk.sicosoft.es/asterisk.sicosoft.es.key . chmod 640 *.key *.pem *.crt cd /etc/ssl/certs/ scp dario@3.0.1.3:certs/asterisk.sicosoft.es/asterisk.sicosoft.es.pem . cd /etc/nginx/ vi nginx.conf Y también en zen: cd /etc/ssl/certs scp dario@3.0.1.3:certs/asterisk.sicosoft.es/asterisk.sicosoft.es.pem iRedMail_CA.pem cd /etc/ssl/private scp dario@3.0.1.3:certs/asterisk.sicosoft.es/asterisk.sicosoft.es.key iRedMail.key chmod 640 iRedMail.key chgrp ssl-cert iRedMail.key Tuesday, 16 September 2014, 10:50:44 am Hacemos un nuevo certificado para sico2.sicosoft.es Siguiendo el mismo procedimiento que el "Wednesday, 10 September 2014, 10:25:40 am"; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout sico2.sicosoft.es.key -out sico2.sicosoft.es.csr Y los campos rellenados como en el post de abajo. Idem para mail.sicosoft.es Con openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout mail.sicosoft.es.key -out mail.sicosoft.es.csr Monday, 15 September 2014, 8:54:22 am Resumen de cómo hacer certificado openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout informes.sicosoft.es.key -out informes.sicosoft.es.csr Copio el resultado del procedimiento en startssl a informes.sicosoft.es.crt y entonces hago: curl https://www.startssl.com/certs/sub.class1.server.ca.pem > startssl.sub.class1.server.ca.crt curl https://www.startssl.com/certs/ca.pem > startssl.ca.crt cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt cat informes.sicosoft.es.crt startssl.chain.class1.server.crt > informes.sicosoft.es.pem chown root:root *.crt *.key *.pem chmod 640 *.key *.pem cp informes.sicosoft.es.pem /etc/ssl/certs/ chmod 644 /etc/ssl/certs/informes.sicosoft.es.pem cp informes.sicosoft.es.key /etc/ssl/private/ chgrp ssl-cert /etc/ssl/private/informes.sicosoft.es.key Wednesday, 10 September 2014, 10:25:40 am Creación de un certificado en el startssl.com dario@uiharu:~/certs/informes.sicosoft.es$ openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout informes.sicosoft.es.key -out informes.sicosoft.es.csr Generating a 4096 bit RSA private key .............................................................................................................................................++ .........................................................................................................++ writing new private key to 'informes.sicosoft.es.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:ES State or Province Name (full name) [Some-State]:Spain Locality Name (eg, city) []:Alcobendas Organization Name (eg, company) [Internet Widgits Pty Ltd]:SICOSOFT Organizational Unit Name (eg, section) []:IT Common Name (e.g. server FQDN or YOUR name) []:sicosoft.es Email Address []:javiersoler@sicosoft.es Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: dario@uiharu:~/certs/informes.sicosoft.es$ Monday, 8 September 2014, 9:52:32 am Instalo el nginx en internetti Hago lo siguiente (información parical de aquí): pkg_add pcre pkg_add nginx Friday, 5 September 2014, 10:54:26 am Instalo el maintdclienthtml5 en shirka En el puerto 8080. Friday, 5 September 2014, 9:03:41 am Añado informes.sicosoft.es al DNS Apuntando a la IP externa de internetti (fibra). Wednesday, 3 September 2014, 9:13:36 am Configuración de un cliente windows para el openvpn Se descarga/instala la aplicación openvpn para windows, y se copia en el directorio config de la aplicación el client.ovpn. Hay que instalar en dicho directorio config también el ca.crt, nombreusuario.sicosoft.es.crt y el nombreusuario.sicosoft.es.key . Por último, en la lista de "conexiones de red" de windows hay que cambiar el nombre a la conexión tipo tun/tap a "vpn". Tuesday, 2 September 2014, 11:38:13 am Generar un nuevo certificado para otro cliente en el OpenVPN Se hace en internetti, como usuario: cd easyrsa . ./vars KEY_NAME=clientcarlosculebras ./pkitool carlosculebras.sicosoft.es Tuesday, 2 September 2014, 9:56:31 am Instalo OpenVPN en el openbsd de internetti Siguiendo esta guía de instalación de openvpn sobre openbsd yla actualización del documento para OpenBSD 5.3/5.4. En internetti, como root: pkg_add -i lzo pkg_add -i openvpn pkg_add -i git cd /usr/local/share/examples/openvpn/ git clone -b release/2.x https://github.com/OpenVPN/easy-rsa.git easy-rsa En internetti, como usuario cp -R /usr/local/share/examples/openvpn/easy-rsa/easy-rsa/2.0 easyrsa cd easyrsa vi vars Los cambios que he hecho son: --- /usr/local/share/examples/openvpn/easy-rsa/easy-rsa/2.0/vars Tue Sep 2 10:17:45 2014 +++ vars Tue Sep 2 10:23:51 2014 @@ -50,7 +50,7 @@ # down TLS negotiation performance # as well as the one-time DH parms # generation process. -export KEY_SIZE=2048 +export KEY_SIZE=1024 # In how many days should the root CA key expire? export CA_EXPIRE=3650 @@ -61,12 +61,12 @@ # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. -export KEY_COUNTRY="US" -export KEY_PROVINCE="CA" -export KEY_CITY="SanFrancisco" -export KEY_ORG="Fort-Funston" -export KEY_EMAIL="me@myhost.mydomain" -export KEY_OU="MyOrganizationalUnit" +export KEY_COUNTRY="ES" +export KEY_PROVINCE="Madrid" +export KEY_CITY="Alcobendas" +export KEY_ORG="SICOSOFT" +export KEY_EMAIL="dariorodriguez@sicosoft.es" +export KEY_OU="IT" # X509 Subject Field export KEY_NAME="EasyRSA" Y para generar los certificados, como usuario en el directorio easyrsa: . vars ./clean-all ./build-dh ./pkitool --initca ./pkitool --server vpn.sicosoft.es KEY_NAME=clientjjcriado ./pkitool jjcriado.sicosoft.es Para configurar el openvpn, como root: cd /home/ana/easyrsa mkdir /etc/openvpn cp /usr/local/share/examples/openvpn/sample-config-files/server.conf /etc/openvpn/server.conf cp keys/ca.crt /etc/openvpn/ca.crt cp keys/dh1024.pem /etc/openvpn/dh1024.pem cp keys/vpn.sicosoft.es.crt /etc/openvpn/vpn.sicosoft.es.crt mkdir /etc/openvpn/private chmod 500 /etc/openvpn/private mv keys/vpn.sicosoft.es.key /etc/openvpn/private/vpn.sicosoft.es.key chmod 400 /etc/openvpn/private/vpn.sicosoft.es.key vi /etc/openvpn/server.conf Los cambios que he hecho son: --- /usr/local/share/examples/openvpn/sample-config-files/server.conf Tue Jul 23 16:16:46 2013 +++ /etc/openvpn/server.conf Tue Sep 2 11:00:13 2014 @@ -29,11 +29,11 @@ # on the same machine, use a different port # number for each one. You will need to # open up this port on your firewall. -port 1194 +port 80 # TCP or UDP server? -;proto tcp -proto udp +proto tcp +;proto udp # "dev tun" will create a routed IP tunnel, # "dev tap" will create an ethernet tunnel. @@ -50,7 +50,7 @@ # unless you partially or fully disable # the firewall for the TUN/TAP interface. ;dev tap -dev tun +dev tun0 # Windows needs the TAP-Win32 adapter name # from the Network Connections panel if you @@ -75,16 +75,16 @@ # Any X509 key management system can be used. # OpenVPN can also use a PKCS #12 formatted key file # (see "pkcs12" directive in man page). -ca ca.crt -cert server.crt -key server.key # This file should be kept secret +ca /etc/openvpn/ca.crt +cert /etc/openvpn/vpn.sicosoft.es.crt +key /etc/openvpn/private/vpn.sicosoft.es.key # This file should be kept secret # Diffie hellman parameters. # Generate your own with: # openssl dhparam -out dh1024.pem 1024 # Substitute 2048 for 1024 if you are using # 2048 bit keys. -dh dh1024.pem +dh /etc/openvpn/dh1024.pem # Configure server mode and supply a VPN subnet # for OpenVPN to draw client addresses from. @@ -184,7 +184,7 @@ # (The OpenVPN server machine may need to NAT # or bridge the TUN/TAP interface to the internet # in order for this to work properly). -;push "redirect-gateway def1 bypass-dhcp" +push "redirect-gateway def1 bypass-dhcp" # Certain Windows-specific network settings # can be pushed to clients, such as DNS @@ -192,8 +192,8 @@ # http://openvpn.net/faq.html#dhcpcaveats # The addresses below refer to the public # DNS servers provided by opendns.com. -;push "dhcp-option DNS 208.67.222.222" -;push "dhcp-option DNS 208.67.220.220" +push "dhcp-option DNS 3.0.1.51" +push "dhcp-option DNS 3.0.1.170" # Uncomment this directive to allow different # clients to be able to "see" each other. @@ -252,7 +252,7 @@ # The maximum number of concurrently connected # clients we want to allow. -;max-clients 100 +max-clients 2 # It's a good idea to reduce the OpenVPN # daemon's privileges after initialization. He comprobado que en el /etc/sysctl.conf ya tenía el "net.inet.ip.forwarding=1" En el firewall (etc/pf.conf) he añadido en TCP_SERVICES el puerto 80. En el firewall (etc/pf.conf) he añadido la siguiente línea: pass out on $INT_NIC from 10.8.0.0/24 to any nat-to ($INT_NIC) Por último, para que arranque automáticamente, se añade la siguient línea en el /etc/rc.local: sh -c "sleep 20 ; exec /usr/local/sbin/openvpn --daemon --config /etc/openvpn/se rver.conf" & Monday, 25 August 2014, 11:12:42 am Guía alternativa para el wifi de phonedevel En esta otra guía recomiendan instalar el driver de este repositorio (aunqeu el nuestro tiene dos antenas y avisan que en ese caso da problemas...), y en este otro thread indican que para el tl-wn823n (mismo chipset que el nuestro) hay que usar en el hostapd.conf el rtl871xdrv (ver este post). NOTA: Uso el binario del hostapd que he compilado con las instrucciones de "Monday, 14 July 2014, 5:01:26 pm"
apt-get install linux-headers-amd64 build-essential dkms
cd /usr/src/
mkdir rtl8192cu-fixes
cd rtl8192cu-fixes/
git clone https://github.com/pvaret/rtl8192cu-fixes.git
dkms add ./rtl8192cu-fixes
dkms install 8192cu/1.9
depmod -a
cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
reboot
cd /usr/src/
rm -rf wpa-1.1/
dpkg-source -x wpa*dsc
cd wpa-1.1/
patch -Np1 < ../hostapd-rtl871xdrv/rtlxdrv.patch
vi src/wps/wps_registrar.c
# comentamos las líneas 512-516
# básicamente son dos "methods &= "...
cp /dev/tty /tmp/newchangelog
cat <<'EOF' >/tmp/newchangelog
wpa (1.1-1rt8192cu) unstable; urgency=medium
* apply rt8192cu patches, https://github.com/pritambaral/hostapd-rtl871xdrv
-- Dario Rodriguez <dario@softhome.net> Tue, 15 Jul 2014 09:29:52 +0100
EOF
cp debian/changelog /tmp
cat /tmp/newchangelog /tmp/changelog debian/changelog
sed -i "/cp.*hostapd..config/d" debian/rules
sed -i "s:hostapd/.config::g" debian/rules
cp ../hostapd-rtl871xdrv/.config hostapd/
cp ../hostapd-rtl871xdrv/*.[ch] src/drivers/
vi src/drivers/driver_rtw.c # comentar el include del "linux_wext.h" y
# descomentar rel anterior de "wireless_copy.h"
fakeroot debian/rules binary
cp ./debian/hostapd/usr/sbin/hostapd /usr/sbin/hostapd
/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
/etc/init.d/udhcpd restart
/etc/init.d/firewall restart
Tuesday, 29 July 2014, 5:31:21 pm Hago que shirka forwardee el puerto 1529 a main1 usando ssh Siguiendo las instrucciones del "Tuesday, 11 February 2014, 9:57:25 am" Monday, 14 July 2014, 5:01:26 pm Instalo el nuevo adaptador wifi en phonedevel Siguiendo esta guía. apt-get install wpasupplicant hostapd bridge-utils wireless-regdb \ iw wireless-tools usbutils psmisc crda apt-utils dialog sed -i "s/jessie main\$/jessie main contrib non-free/g" \ /etc/apt/sources.list apt-get update apt-get install firmware-atheros firmware-realtek Como el adaptador que estamos usando usa "rtl8192cu", el driver del hostapd que hay que usar es el "rtl871xdrv" (ver 1, 2 y 3). Los fuentes de esa versión del hostapd están aquí /etc/hostapd/hostapd.conf interface=wlan0 bridge=br0 driver=rtl871xdrv device_name=RTL8192CU manufacturer=Realtek hw_mode=g ieee80211n=1 wmm_enabled=1 channel=2 country_code=ES ieee80211d=1 ssid=WiFiAp auth_algs=3 wpa=3 wpa_passphrase=contake wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP macaddr_acl=0 ht_capab=[HT20][SHORT-GI-20] eap_reauth_period=360000000 ignore_broadcast_ssid=0 Y para el resto de la configuración: chmod 640 /etc/hostapd/hostapd.conf cd /etc/init.d/ mv hostapd hostapd.disabled cd /etc/network mv interfaces interfaces.stock-backup /etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 3.0.1.3
gateway 3.0.1.51
network 3.0.1.0
netmask 255.255.255.0
broadcast 3.0.1.255
post-up /bin/sleep 10 ; /usr/sbin/hostapd -B /etc/hostapd/hostapd.conf
pre-down /usr/bin/killall hostapd
iface wlan0 inet static
address 192.168.3.5
network 192.168.3.0
gateway 192.168.3.0
netmask 255.255.255.0
broadcast 192.168.3.255
Instalamos el udhcpd y el firewall antiguo: apt-get install udhcpd vi /etc/default/udhcpd #(<--enable daemon) cd /etc scp root@3.0.1.46:/shared/unix/chroots/phonedevel/etc/udhcpd.conf . cd init.d/ scp root@3.0.1.46:/shared/unix/chroots/phonedevel/etc/init.d/firewall . sed -i "s/ath0/wlan0/g" firewall vi networking #(<--add a call to firewall after start/restart) Compilamos un hostapd con los parches adecuados:
cd /usr/src
apt-get source hostapd
apt-get build-dep hostapd
git clone https://github.com/pritambaral/hostapd-rtl871xdrv.git
cd wpa-1.1
patch -Np1 < ../hostapd-rtl871xdrv/rtlxdrv.patch
cat src/wps/wps_registrar.c.rej
vi src/wps/wps_registrar.c # comentamos las líneas 512-516
# básicamente son dos "methods &= "...
cp /dev/tty /tmp/newchangelog
cat <<'EOF' >/tmp/newchangelog
wpa (1.1-1rt8192cu) unstable; urgency=medium
* apply rt8192cu patches, https://github.com/pritambaral/hostapd-rtl871xdrv
-- Dario Rodriguez <dario@softhome.net> Tue, 15 Jul 2014 09:29:52 +0100
EOF
cp debian/changelog /tmp
cat /tmp/newchangelog /tmp/changelog debian/changelog
sed -i "/cp.*hostapd..config/d" debian/rules
sed -i "s:hostapd/.config::g" debian/rules
cp ../hostapd-rtl871xdrv/.config hostapd/
cp ../hostapd-rtl871xdrv/*.[ch] src/drivers/
vi src/drivers/driver_rtw.c # comentar el include del "linux_wext.h" y
# descomentar rel anterior de "wireless_copy.h"
fakeroot debian/rules binary
cd ..
dpkg -i hostapd_1.1-1rt8192cu_amd64.deb
echo hostapd hold | dpkg --set-selections
dpkg -i wpasupplicant_1.1-1rt8192cu_amd64.deb
echo wpasupplicant hold | dpkg --set-selections
Thursday, 3 April 2014, 8:36:14 am Hago que shirka forwardee los puertos 1527 1530 1531 a main1 usando ssh Siguiendo las instrucciones del "Tuesday, 11 February 2014, 9:57:25 am" Monday, 31 March 2014, 5:33:36 pm Hago que main1 forwardee el puerto 5902 a frontpci02 desde shirka Siguiendo las instrucciones del "Tuesday, 11 February 2014, 9:57:25 am". Wednesday, 5 March 2014, 10:56:21 am Configuración de la máquina OpenBSD (internetti) Se ha conectado la fibra a la tarjeta integrada (ra0), y la lan a la tarjeta pci (em0). En /etc
[hostname.em0]
inet 3.0.1.51 255.255.255.0
!/sbin/route add 16.0.62.18 3.0.1.42
[hostname.pppoe0]
inet 0.0.0.0 255.255.255.255 NONE \
pppoedev vlan6 authproto pap \
authname adslppp@telefonicanetpa authkey adslppp up
dest 0.0.0.1
!/sbin/route add default -ifp pppoe0 0.0.0.1
!/usr/bin/pkill named
!/usr/sbin/named -t /var/named -u named
[hostname.re0]
up
[hostname.vlan6]
vlan 6 vlandev re0
El firewall pf.conf:
set limit states 100000
set skip on lo
block # block stateless traffic
pass # establish keep-state
block in on ! lo0 proto tcp to port 6000:6010
SYN_ONLY="S/FSRA"
EXT_NIC="pppoe0"
INT_NIC="em0"
EXT_IP="80.28.211.112"
INT_IP="3.0.1.51"
INT_IP2="3.0.1.52"
TCP_SERVICES="{ 22, 25, 53, 443 }"
UDP_SERVICES="{ 53 }"
ICMP_TYPES="echoreq"
match on $EXT_NIC scrub (max-mss 1440)
block return-rst in log on $EXT_NIC proto TCP all
pass in on $EXT_NIC proto TCP from any to $EXT_IP port $TCP_SERVICES flags $S
YN_ONLY keep state
block in on $EXT_NIC proto udp all
pass in quick on $EXT_NIC proto UDP from any to $EXT_IP port $UDP_SERVICES ke
ep state
pass in inet proto icmp all icmp-type $ICMP_TYPES
block out on $EXT_NIC all
pass out quick on $EXT_NIC from $EXT_IP to any keep state
pass in on $EXT_NIC proto tcp from any to any port 25 rdr-to 3.0.1.124
pass in on $EXT_NIC proto tcp from any to any port 443 rdr-to 3.0.1.124
pass out on $EXT_NIC from 3.0.1.0/24 to any nat-to $EXT_IP
set skip on lo0
set skip on $INT_NIC
El sysctl.conf net.inet.tcp.mssdflt=1452 net.inet.tcp.recvspace=131072 net.inet.tcp.sendspace=131072 net.inet.udp.recvspace=139264 net.inet.udp.sendspace=32768 net.inet.ip.forwarding=1 El DNS, en /var/named /var/named/named.conf
//...
options {
version ""; // remove this to allow version queries
listen-on { any; };
listen-on-v6 { none; };
empty-zones-enable yes;
//allow-recursion { clients; };
allow-recursion { 127.0.0.1; 3.0.1.0/24; };
};
logging {
category lame-servers { null; };
};
include "/etc/named.conf.local";
//...
etc/named.conf.local
acl trusted-servers {
79.98.145.34;
};
zone "sicosoft.es" {
type master;
file "/zones/sicosoft.es.db";
allow-transfer { 79.98.145.34; };
also-notify { 79.98.145.34; };
};
zones/sicosoft.es.db $TTL 86400 sicosoft.es. IN SOA ns1.sicosoft.es. hostmaster.sicosoft.es. 2014022101 7200 1800 2419200 5400 sicosoft.es. IN NS ns1.sicosoft.es. sicosoft.es. IN NS ns2.sicosoft.es. sicosoft.es. IN NS ns3.sicosoft.es. sicosoft.es. IN MX 10 mail.sicosoft.es. sicosoft.es. IN MX 20 mail2.sicosoft.es. mail IN A 80.28.211.112 mail2 IN A 80.28.221.188 sico IN A 80.28.221.188 sico2 IN A 80.28.211.112 ns1 86400 IN A 80.28.211.112 ns2 86400 IN A 80.28.221.188 ns3 86400 IN A 79.98.145.34 /etc/rc.conf.local #!/bin/sh - multicast_router=YES named_flags="" Además en el /etc/rc he cmabiado la posición de aranque del named, desde el "early daemon" hasta donde estaba el ssh, pero sigue sin funcionar el named; sólo cuando se hace un pkill named named Empieza a funcionar correctamente :-? Ahora lo he dejado con /etc/rc.conf.local #named_flags="" /etc/rc.local sh -c "sleep 20 ; exec named" & Tuesday, 4 March 2014, 10:00:43 am Instalando OpenBSD 5.4 en internetti Se ha hecho una instalación por defecto sin X. Se ha puesto el interfaz de la lan en el em0 (que resulta ser la tarjeta PCI) y el ftth en el re0 (que resulta ser la integrada). Para configurar el ftth se ha seguido este howto (sin la parte de igmp). Se ha complementado con este otro howto más completo. 1. Se ha instalado con las opciones por defecto pero sin las X 2. se ha puesto en el /etc/sysctl.conf lo siguiente: net.inet.tcp.mssdflt=1452 net.inet.tcp.recvspace=131072 net.inet.tcp.sendspace=131072 net.inet.udp.recvspace=139264 net.inet.udp.sendspace=32768 y el el /etc/rc.conf.local multicast_router=YES Para el firewall se tiene:
Se ha hecho lo siguiente del firewall: 1. poner en el /etc/sysctl.conf net.inet.ip.forwarding=1 2. Hacerlo a mano para que forwardee "desde ya" # sysctl net.inet.ip.forwarding=1 Monday, 24 February 2014, 12:38:04 pm Quitar el router de telefónica en la FTTH Hay un tutorial (y otro más antiguo). Básicamente:
Y aquí hay otro par parte del vlan (y como usar /sbin/vconfig). Tuesday, 11 February 2014, 9:57:25 am Hago lo mismo para los puertos 5969 y 5979 Igual que en las entradas anteriores. Resumiendo: 1. Se modifica el firewall de shirka para que haga proxy transparente de esos puertos 2. Se añade en la script /etc/rcS.d/S47sico_miscmain1 para que haga un socat del puerto local a un ssh a main1 3. Se añaden los usuarios a main1 (chroot /chroot ; mount -o remount,rw /home ; mount -o remount,rw / ; adduser xxxx ) 4. Para cada usuario se hace
Todo eso con cuidado de hacer los cambios en los directorio /chroot de main1 y shirka y reiniciar después. Monday, 10 February 2014, 10:15:05 am Hago lo mismo para los puertos 5999 y 5989 Ver las entradas anteriores. Friday, 11 October 2013, 5:50:53 pm Hago que el forwardeo de puertos 80 y 9510 sea transparente Para que se llegue desde sico a main1:80 directamente, he añadido al firewall de shirka lo siguiente: #!/bin/sh # # start/stop maintdserver forward daemon. ### BEGIN INIT INFO # Provides: maintdserver # Required-Start: $network # Required-Stop: $network # Default-Start: S 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start maintdserver port forward # Description: maintdserver port forward # (does an ssh to maintd@16.0.62.18) ### END INIT INFO test -f /usr/bin/socat || exit 0 /usr/bin/sudo -u metro /usr/bin/socat TCP4-LISTEN:9510,fork EXEC:"/usr/bin/ssh maintd@16.0.62.18" & Friday, 11 October 2013, 5:27 pm Hecho otro forwardeo de puertos desde shirka:80 a main1:80 Usando la misma técnica que en la entrada anterior, y usando el usuario "web" en main1. Saturday, 12 October 2013, 12:13:19 am Hecho un forwardeo del puerto 9510 desde shirka a main1 usando socat y ssh Lo he hecho de la siguiente manera: 1. En metro@shirka he generado claves para ssh 2. En shirka he hecho un script de arranque con el siguiente contenido: /chroot/etc/rcS.d/S47sico_maintdserver
3. En main1 he generado un usuario maintd 4. En main1:/etc/passwd he puesto que el usuario maintd tiene como home /incoming/maintd, y como shell "/incoming/maintd/connect" 5. He creado un directorio /incoming/maintd/.ssh y he metido en el authorized_keys la clave pública de metro@shirka 6. He generado el fichero /incoming/maintd/.hushlogin para que el ssh no ponga el motd 7. He hecho el script connect de main1 con el siguiente contenido: /chroot/etc/rcS.d/S47sico_maintdserver
Y para que todo funcione, también he hecho un script que arranque en el inicio a maintdserevr en main1. Friday, 19 October 2012, 4:22:48 pm Cambio en la contraseña de la VPN Por petición de Metro se cambia la password de acceso via VPN a la siguiente 490sz5ghcd Wednesday, 18 April 2012, 5:35:59 pm Conectarse al ONT de fibra directamente, sin el router de teñefónica Dan un enlace para conectar un ordenador Linux directamente al ONT. Resulta que no es un PPPoE normal, sino que hay que habilitar las cabeceras de 802.1q (que también llaman en sitios con el nombre "taggear el tráfico", VLAN o VirtualLan). Hay algo de información en el ebtables. Al final la solución es seguir el siguiente tutorial:
Tuesday, 13 December 2011, 8:29:31 pm Transición del ADSL desde 213.97.190.112 al 80.28.221.188 Se han realizado los pasos necesarios para la transición del ADSL desde el antiguo de orange al nuevo de telefónica. Pasos realizados: 1. Se ha cambiado el dns en la web de nominalia 2. Se ha puesto un nuevo fichero de DNS en internetti y en shirka: /etc/maradns/db.sicosoft.es 3. Se han reconfigurado los dos "aparatos" de ADSL, de manera que el linksys wag320n de servicio en el adsl 80.28.221.188 y el tecom de telefónica en el antiguo 213.97.190.112. Los datos para 80.28.221.188 (916620254) son:
5. Se ha configurado en seraphim el segundo interfaz de red y se ha conectado ahí el router tecom. Se ha puesto dicho interfaz como gateway por defecto. Se ha hecho que al levantar el interfaz ejecute una script ( /etc/init.d/redir-smtp-zen.sh ) que haga un redir del puerto 25 a zen 6. Se ha configurado el servidor de correo de zen para que los correos que vienen de 3.0.1.45 no permitan relay; he copiado en el fichero de configuración /var/lib/exim4/config.autogenerated la línea en la que estaba 3.0.1.51, quedando: hostlist dont_relay_from_hosts = ; 3.0.1.51/32 ; 3.0.1.45/32Y después he reiniciado al exim. Y con eso está la siguiente parte de la transición finalizada. La semana que viene se podrá quitar el ADSL antiguo ya que todos los DNS habrán cogido la nueva configuración. Monday, 12 December 2011, 8:47:19 pm Usar equipo con dos ADSL Hay un post que explica como evitar los martian source. Básicamente es marcar los paquetes que vienen por un interfaz para que salgan por ese mismo interfaz. Thursday, 1 December 2011, 8:36:40 pm Problemas con el QoS Dice: "HTB: quantum of class 10249 is small. Consider r2q change.". La solución la ponen en esta faq del lartc Thursday, 17 November 2011, 5:34:14 pm Activado el forwarding del puerto https desde el router adsl de 213.97.190.112 (mail2.sicosoft.es) a internetti Ya que faltaba y eso hacía que no se pudiera usar el webmail. Tuesday, 13 September 2011, 5:52:47 pm He activado QoS en internetti En el script del firewall (/etc/init.d/firewall.sico) he añadido lo siguiente:
Monday, 12 September 2011, 5:03:43 pm Puesta la segunda ADSL (la antigua de SICO/industria) en shirka Para que la VPN vaya por shirka. Se han hecho los siguientes cambios de configuración:
Monday, 5 September 2011, 7:19:04 pm Para un futuro: implementar QoS en internetti usando HTB El manual. Lo que me gustaría sería:
Friday, 1 July 2011, 4:23:25 pm Cambiada la password del usuario ana en internetti Se ha añadido un "1" al final de la password que tenía antes. Thursday, 30 June 2011, 8:00:20 pm Activado de nuevo el acceso de juan manuel usando abracadabra.tcl en internetti kinuir/jk5b9f8y Saturday, 30 April 2011, 2:57:39 pm Sitio con utilidades de seguridad para Windows, entre otros Aquí es donde he encontrado una referencia al McAfee FPort, que es equivalente al "netstat -pan" de Linux. Y tienen muchos más programas (¿habrá tb. un equivalente al iptraf?). Wednesday, 16 February 2011, 11:34:05 am Un artículo interesante sobre un "defacement" Este artículo. Básicamente recuerdan que son técnicas básicas de seguridad:
Friday, 29 January 2010, 5:51:50 pm A estudiar: throttling de p2p con ipp2p Instalar IPP2P en Debian para bloquear P2P. Ese manual es para bloquearlo completamente, pero también se puede configurar para simplemente hacer throttling del mismo. NOTA: Como ipp2p ya no se mantiene, sería mejor usar el l7-filter. Friday, 18 September 2009, 6:11:40 pm Abro el puerto 22 en el firewall de internettiold en ine-if Que no estaba abierto y por eso no funcionaba el ssh desde internet. Monday, 20 April 2009, 7:42:50 pm Abierto puerto 28030 en el internet publico y forwardeado a 3.0.1.33 Pues eso. Para las pruebas de IG-Metrovision Thursday, 16 April 2009, 4:58:44 pm Conexión con MLO vía CITRAM Usan "Cisco AnyConnect VPN". Enlaces relevantes:
Monday, 24 November 2008, 10:15:01 am Se configura redirección de puertos en frontpci02 hacia las BBDD sagir/control_id Woody estaba teniendo problemas para hacer unos scripts automáticos a las 6am en los fines de semana (como si apagasen la rdsi). Se han habilitado los puertos 1524, 1525 y 5504 en el rinetd.conf de rdsi2 (frontpci02) para que también sean forwardeados a las BBDD correspondientes. Friday, 14 November 2008, 9:52:56 am Túnel contra MLO Se conecta a un RAS de windows, y está implementado con el PPTP client for linux de hp. Usa el ppp del sistema. Se arranca con: internetti# /etc/init.d/rutas.infoglobal on Se para con internetti# /etc/init.d/rutas.infoglobal off Los fihcheros de configuración son:
Tuesday, 13 May 2008, 6:13:42 pm Hago que el puerto 28001 del router vaya a internetti, hago que internetti forwardee (rinetd.conf) dicho puerto a marina Ya que ana lo necesita para unas pruebas remotas con la metta. He quitado el forwadeo del puerto 31000 que había en el router, ya que parecía ser de unas pruebas antiguas y ya no aplica... Friday, 15 February 2008, 9:01:20 am Abro el el firewall de internetti los puerto 1527-1528 para que puedan llegar a main1 De manera que puedan acceder desde SICO a las BBDD de serv_pci1..2. Thursday, 31 May 2007, 5:03:19 pm Puesto en guagua que pueda llegar a ml2/3 Estaba todo puesto. Faltaba ejecutar a mano el " route add -net 12.192.0.0 netmask 255.255.0.0 gw 10.0.8.1", ya que parece que el vtun no fue reiniciado cuando lo puse... Tuesday, 24 April 2007, 4:54:28 pm Puesto en adslold que forwardee puerto 25 a internettiold, y que internettiold forwardee 110 y 25 a 3.0.1.124 de arriba Para soportar el servidor de correo de ese otro dominio (y que se pueda coger el correo desde abajo con 10.0.4.2:110). Monday, 26 March 2007, 4:26:51 pm Hago que la conexión RDSI de internetti con main1 vaya siempre por el canal 0 Y lo he hecho añadiendo la siguiente línea al /etc/isdn/device.isdn0 en donde dice "OTHER OPTIONS":
He comprobado después con un "isdnctrl list all" que hay un pre-bind en el isdn0. Thursday, 15 February 2007, 5:15:44 pm Pues no ha funcionado lo de pop3 en internetti; lo he cambiado a una redirección a zen y el stunnel está en zen Así ya se puede usar pop3s desde las casas, desde outlook si se quiere. Thursday, 15 February 2007, 4:37:31 pm Hago un nuevo certificado de stunnel.pem para mail2.sicosoft.es internetti Ya había caducado el certificado que hice el año pasado. Esta vez he hecho el certificado para 3650 día (poco menos de 10 años), a ver si así esto es más razonable. He hecho lo siquiente: # cd /etc/ssl/certs/ # mkdir old # mv * old/ # openssl req -new -x509 -nodes -days 3650 -out mail2-sicosoft-es.pem -keyout mail2-sicosoft-es.pem Country Name (2 letter code) [AU]:ES State or Province Name (full name) [Some-State]:Spain Locality Name (eg, city) []:Alcobendas Organization Name (eg, company) [Internet Widgits Pty Ltd]:Sistemas Integrados de Control y Software, SL Organizational Unit Name (eg, section) []:SICOSOFT Common Name (eg, YOUR name) []:Jesus Criado Email Address []:sicosoft@sicosoft.es # chmod 600 mail2-sicosoft-es.pem # dd if=/dev/urandom of=temp_file count=2 # openssl dhparam -rand temp_file 512 >> mail2-sicosoft-es.pem # ln -sf mail2sicosoft-es.pem `openssl x509 -noout -hash mail2-sicosoft-es.pem`.0 # ln -s mail2-sicosoft-es.pem stunnel.pem # mv old/fb72b55e.0 old/telnetd.pem . Y luego he reiniciado el stunnel. NOTA El CN (Common Name) debería ser el hostname del servidor web que está ofreciendo el certificado, p.ej. "mail2.sicosoft.es". En caso contrario el certificado va a ser rechazado siempre. Para más información ver Creating your own CA cert Friday, 24 November 2006, 11:20:09 am Añado a main1 que forwardee los puertos de oracle para bd_sagir y bd_controlid Y tb. abro esos puertos en la opción sico->main1 en el firewall de internetti. Thursday, 23 November 2006, 2:50:24 pm Pongo en main1 que forwardee los puertos de oracle (1521) a metrosun1, metrosun2 y metrosun3, para canarias. He modificado el main1:/etc/rinetd.conf Hago que desde canarias tengan ping con main1 He modificado el firewall de internetti, añadiendo forwarding de tun1 a isdn0 y viceversa. Thursday, 2 November 2006, 11:42:28 am Pongo el rinetd en main1 y hago que forwardee los puertos del minichat 11512-11515 a internettiY éste su vez a los PCs de Bea, Javi, Carlos y Rosa respectivamente. Monday, 30 October 2006, 1:24:09 pm Hago un stunnel de internetti:993 a 3.0.1.124:imap Usando las instrucciones de http://security.fi.infn.it/tools/stunnel/index-en.html. He copiado el /etc/init.d/vtun a /etc/init.d/stunnel y modificado para que acepte un listado de túneles en el fichero /etc/stunnel.conf, cada línea siendo un túnel y con la sintaxis "localport remotehost:remoteport". Después he hecho un "echo 993 3.0.1.124:imap >> /etc/stunnel.conf", "update-rc.d stunnel defaults" y un "/etc/init.d/stunnel start" Friday, 16 June 2006, 10:57:25 am Chiro ya tiene router Es un COMTREND CT-536+, información sobre el: tutoriales, puesta a punto del wifi (WPA, MAC Filter y Ocultar SSID), manuales y más tutoriales. Tuesday, 14 March 2006, 1:51:52 pm He abierto el puerto 2525 en internetti (met-if) y he puesto un redir hacia salchicha Para soportar el mandar mensajes desde metro con un socket-pipe-client. Para que todo funcione, lo que he puesto ha sido:
Wednesday, 22 February 2006, 12:40:26 pm Acceso remoto a pop3 en canarias: Abro el puerto 110 en router-cc y en guagua/mips hago que apunte a yaiza. Friday, 17 February 2006, 4:40:08 pm Instalación del webmail en yaiza He hecho lo siguiente (que es aproximadamente el mismo procedimiento que seguí en zen, aunque no quedó documentado):
Ahora sólo queda poner los DNSs para que usen dicha máquina para el correo a sicosoft.com, y poner los usuarios de correo. Friday, 17 February 2006, 3:50:34 pm Instalación del stunnel En zen, la otra vez hice lo siguiente (aunque asociándolo a mail2.sicosoft.es, independientemente del nombre del certificado): # cd /etc/ssl/certs # openssl req -new -x509 -nodes -days 365 -out mail-sicosoft-es.pem -keyout mail-sicosoft-es.pem # chmod 600 mail-sicosoft-es.pem # dd if=/dev/urandom of=temp_file count=2 # openssl dhparam -rand temp_file 512 >> mail-sicosoft-es.pem # ln -sf mail-sicosoft-es.pem `openssl x509 -noout -hash < mail-sicosoft-es.pem`.0 Y después, cambié el script de /etc/init.d/mathopd para que arrancase el túnel a la vez que el servidor web. La script modificada es esta: etc-initd-mathopd. (Aproximadamente, ya que no me acuerdo del todo bien). Friday, 18 November 2005, 10:28:25 am Instalado el rsyncd en frontpci02 Pero sólo escuchando en el interfaz rdsi. Esto es para poder copiar las fotos con un cron desde seraphim. Thursday, 3 November 2005, 9:15:32 am Abro los puertos 11000-11099 al PC de Carlos Y pongo en internetti que haga un redir del 11000 y un uredir del 11010. El resto de los puertos "mueren" en internetti. Wednesday, 20 July 2005, 12:16:39 pm He añadido la 3.0.1.x al DNS de salchicha Para que los telnets sean más rápidos. Lo he hehco siguiendo el siguiente tutorial de configuración del bind. Además he puesto que tanto zen, seraphim resuelvan también con el 3.0.1.170 (además de con el 3.0.1.51). Wednesday, 6 July 2005, 9:54:59 am He puesto rutas desde la oficina de arriba a database He puesto un interfaz "dummy" en database con la ip 10.0.64.1 y he puesto rutas en internetti y en internettiold para que sepan rutar a dicha dirección IP. También he modificado el firewall de internetti para que la regla si2-sic deje pasar a dichos paquetes (es decir, los que van desde la oficina antigua a database). Wednesday, 6 July 2005, 9:51:20 am He puesto un túnel desde iris(portatilana) a internetti (sico2.sicosoft.e) Ho que he ehcho ha sido:
Y eso es todo ;-). Tuesday, 28 June 2005, 9:02:13 am He vuelto a abrir el puerto 22 en sico2.sicosoft.es/internetti Esta vez poniendo el OpenSSH_3.8.1p1 (recompilado para woody usando los fuentes del backport de backports (xaranet mirror). Los fuentes están en internetti:/root/src.ssh. Lo único que ha habido que hacer además de instalrlo ha sido dar acceso en los tcpwrappers, añadiendo a /etc/hosts.allow un "sshd: ALL". La razón de usar dicha versión del ssh es para que tuviera soporte a PAM. También he añadido al /etc/pam.d/ssh un "account required pam_access.so". Friday, 24 June 2005, 1:33:05 pm He abierto el puerto 22 (ssh) en sico2.sicoft.es (hacia internetti) y puesto el dropbear en internetti Así se debería de poder hacer un login seguro a sico2 desde internet. Update: A úiltima hora he quitado el dropbear de internetti, ya que no permite poner restricciones con PAM (access.conf). Friday, 27 May 2005, 11:20:38 am Pongo redirs entre internetti e internettiold y entre internetti y seraphim He puesto un redir en internettiold para pasar el puerto 80 al 8080 de internetti y en internetti otro para pasar el 880 al 80 de seraphim. NOTA: Al final he renunciado a hacer proxy-arp entre las dos oficinas, ya que era extremadamente difícil por lo de tener dos PCs con la misma IP (internetti e internettiold), que además son los gateways de las redes respectivas y que tienen una red diferente entre ellos :-/. La documentación de la que disponía era 2.4 routing y arp networking tricks. Friday, 27 May 2005, 11:18:54 am Redir en internettiold para llegar a los vnc de sic(old) He puesto en internettiold (10.0.4.2) dos redir en el arranque para que se pueda llegar desde todos los ordenadores de la oficina nueva a controlar usando vnc los dos ordenadores de la oficina antigua. Está mapeados de la siguiente manera:
Wednesday, 18 May 2005, 8:43:44 am HARDWARE: tarjetas rdsi En Alternate pueden pedir la tarjeta "isdn 128" que va con un winbond "cologne". Dicho chip está soportado por linux (por el fabricante). Necesitamos al menos una... Tuesday, 17 May 2005, 12:41:44 pm En el servidor de correo he activado el allow_domain_literals Se supone que eso se puede abusar para mandar spam, pero no he encontrado otra manera de mandar el correo usando un .forward desde zen a internettiold. Para más información ver Mantenimiento de DNS y correo de sico. En este mensaje apuntan que los problemas de seguridad que esto acarrea no son graves (parece que ninguno aplica al sistema de sico). Friday, 13 May 2005, 3:48:55 pm Internetti actualizado a iptables Y funciona tanto el ftp como el rutas.miguel. Problemas con rutas.carlos Ver este, este y este otro mensaje. Voy a interntar implementar lo que dicen en el último mensaje. Wednesday, 11 May 2005, 12:40:13 pm Conversión de internetti de ipchains a iptables Utilizando este tutorial para impacientes O:-), un ejemplo complejo y una introducción un poco más completa. Monday, 9 May 2005, 7:58:43 am --Dario He terminado de configurar el túnel internetti-internettiold Lo he configurado como un túnel tcp, ya que como udp no llegaban los paquetes de un extremo al otro (?). Lo que sí he puesto es compresión lzo:9 (según un howto de por ahí...). Quito la rdsi entre internetti e internettiold Ya que con el túnel no es necesaria. Monday, 9 May 2005, 7:34:52 am --Dario He configurado el túnel desde tecnosaurus Para no tener que hacer un telnet a pelo cuando tengo que trabajar algo desde casa. Tuesday, 19 April 2005, 5:24:21 pm --Dario Cambiado el túnel de guagua para que vaya a internetti en vez de a internettiold Ayudado por Chiro y usando el chat (ya que no puedo entrar a guagua desde el exterior :-? ), hemos hecho:
Tuesday, 19 April 2005, 11:39:23 am --Dario He cambiado el túnel de portalico para que vaya a internetti, en vez de a internetti old Lo que he hecho ha sido:
Y con eso ya tengo ping directo desde internetti a portalico :-). Friday, 24 December 2004, 10:02:29 am --Dario He activado TOS (type of service) en internetti, rdsi y rdsi2 Lo que he puesto es lo siguiente dentro de los firewalls: Internetti (kernel 2.2, ipchains):
main1/rdsi (kernel 2.2, ipchains):
frontpci02/rdsi2 (kernel 2.4, iptables):
Tuesday, 7 December 2004, 9:58:13 am --Dario Abrir el puerto 11511 para aceptar conexiones de minichat con carlos desde metro He abierto el puerto 11511 en internetti, y he puerto forwarders de ese puerto tanto en main1 como en internetti, de manera que las conexiones a ese puerto que se hagan en metro, aparezcan en el pc de carlos (en el cual hemos dejado un minichat server corriendo...). Friday, 30 April 2004, 1:24:36 pm --Dario tun-sanitize en internetti.He puesto en internetti una entrada en el crontab de root para que llame cada 20min a /usr/local/bin/tun-sanitize, que es una script que mata los túneles de guagua/portalico en caso de haber más de 1 de cada (pero sólo mata a los "ofensores", no a los inocentes ;-). Tuesday, 25 November 2003, 5:33:48 pm --Dario Reexport de nfs activado en main1 y en frontpci02 He modificado /etc/init.d/nfs-server para que llame a rpc.mountd y a rpc.nfsd com el flag -r (ver http://seclists.org/lists/linux-kernel/2001/Aug/0331.html). Tuesday, 25 November 2003, 11:23:51 am --Dario Instalación de ttysnoop en frontalc Siguiendo las intrucciones de Linux help tty snoop setup guide, pero solo para telnet (para permitir mostrar cosas desde la oficina ;-). Monday, 10 November 2003, 1:47:08 pm --Dario Script de supervisión de los tuneles de portalico y guagua Se ha instalado un script que supervise el estado de los túneles, tabto en protlaico como en guaga. La versión de portalico es esta: vtun-check.tar.gz Friday, 7 November 2003, 2:58:18 pm --Dario Conexión a metro inexplicablemente fallida Ha habido un problema con la conexión a internet e intentando diagnostivcarlo han reiniciado internetti. Viendo que internetti no era el problema, han reiniciado el módem adsl y ha desaparecido el problema de internet. Pero resulta que se ha perdido la conexión a metro. El diagnóstico es que no estaba cargado el driver de la rdsi. Los pasos realizados para "arreglarlo" (todo como root, en internetti):
Y con eso ya estaba la rdsi funcionando otra vez. Realmente es un problema del slhc.o, que no parece tener "versioning info", pero no se me ocurre cómo es que antes no daba ningún problema eso y ahora sí (nota: de la última vez a ahora han cambiado las modutils, por la actualización de potato a woody que hice en internetti el pasado día 2, con lo que ya sé la causa) Ahora habrá que buscarle una solución para que no se pierda la conexión a metro cada vez que se reinicie internetti :-/. Tuesday, 4 November 2003, 8:48:44 am --Dario Túneles con portalico y guagua otra vez en funcionamiento Se han puesto de nuevo los túneles contra portalico y guagua, pero esta vez unsando vtun. No están usando una password razonable (o sea que no se puede considerar que estén encriptados), pero esto es mejor que nada. Los pasos realizados:
Por último compruebo que funcionan los pings y que no se quedan paquetes en ninguno de los firewalls (mirando el /var/log/messages) y que las rutas son todas las que tenía que haber. NOTA: el vtun usa el tcp para las conexiones y el udp para el túnel, por lo que ha habido que habilitar ambos puertos en el router-adsl (el tcp lo tenía filtrado). Ahora están direigidos a internetti. Sunday, 2 November 2003, 10:24:17 am --Dario Habilitando port-forwarding de un puerto en internetti Quiero que los túneles los maneje seraphim en vez de portalico. Para ello necesito hcer NAPT de los puertos udp del cipe. Hay un pequeño tutorial aquí Tuesday, 28 October 2003, 1:35:24 pm --Dario Cambios en la rdsi Los de metro han cambiado el cómo aparecen los números externos en los PCs que están dentro de metro. Ahora el núemro externo aparece con un 0 delante (p.ej. 914840807 aparece como 0914840807). Guillermo ha ido a un PCL para hacer el cambio desde metro... ya que no ha habido forma de usar el módem para conectarnos como otras veces. Cambiado tanto main1 como frontpci02. Wednesday, 11 June 2003, 7:55:57 pm --Dario Acabo de terminar los cambios al acceso por FTP a internetti (debido a que necesitan acceder agentes externos a la cuenta de kinuir). Son imprescindibles las siguientes guias
He tenido que habilitar en el router-adsl (speedstream 5660) el ftp a internetti (estaba filtrado). También he cambiado /etc/pam.d/ftp para que use pam_access.so igual que lo hace login, de manera que no puedan entrar por ftp los que no pueden entrar por login. Rationale: este router no admite hacer masquerading de rangos de puertos, y para el ftp en puertos "raros" se necesita (p. ej. con el "in.ftpd -h" requiere los puertos 40000-44999). También he puesto otro telnet en el puerto 9323 (ademas del que ya habia en 7846). Para el usuario kinuir, el acceso está restringido; he puesto el script en expect abracadabra.tcl como shell (y añadido a /etc/shells para que el ftp siguiera funcionando, aparte de hacer un fichero en /etc/logrotate.d para rotar su log) y hecho ftp-chroot añadiéndolo a /etc/ftpchroot y poniendo el ls y sus dependencias en su home-dir. Y por ahora lo dejo asi. Descripción del proyectoLa idea es tener aqui una referencia de "cómo hice qué". Que siempre me pasa que necesitando repetir alguna cosa, necesito leerme demasiada documentación para el tiempo disponible O:-) Cosas que pueden ayudar: Explicación somera del iptables (de la monografía de iptables en wikilearning):
Aquí hay otra página que dice cómo hacer forwarding preservando la ip de origen, además de hacer un round-robin a 5 máquinas:
Attachsvtun-sico.tar.gz vtun-check.tar.gz etc-initd-mathopd etc-mathopd.conf var-www-index.html client.ovpn forwardeos-carteles-laboratorio_20210929-1.png Link to this Page
|