Domaine public đź…­

CMS minimal
ecrit avec VI

[ /  ^ < ]

réseau

sans hdmi       04/07/2022
sans reseau       17/10/2020
ethernet usb       15/05/2023
borne wifi invisible      12/01/2021
carte wifi invisible      12/01/2021
routeur wifi rj45      13/09/2022

# En l'absence d'affichage, on peut préparer la carte mémoire pour que le système ouvre un accès sshd dès le boot
	# dans la partition "boot" justement il suffit de déposer un fichier nommé "ssh" (astuce raspberry non généralisable)
	# si ce raspberrypi n'est pas le seul du réseau il peut être judicieux renommer celui-ci:
	# dans la partition "root" cette fois modifier le fichier /media/*/root/etc/hosts
	# l'idéal pour la sécurité serait d'installer des clés ssh dans /media/*/root/home/pi/.ssh/authorized_keys et de supprimer le mot de passe du compte "pi"

	# une manip qui prend du temps si on ne peut aller voir sur la box internet
	netstat -rn   # pour voir à quoi ressemblent le réseau
	nmap -sn 192.168.1.0/24  # pour lister toutes les adresses avant le branchement du raspberry

	# brancher le raspberrypi à un calbe ethernet relié au réseau
	nmap -sn 192.168.1.0/24  # pour detecter le petit nouveau XX

	# sur un PC, connecter rapidement pour changer le mot de passe
	ssh pi@192.168.1.XX   # mot de passe "raspberry"
	# un message est afficher pour signaler que c'est une première
	passwd # changer le mot de passe

	# pour Ă©viter les attaques par force brute sur le raspberrypi

	sudo apt-get install fail2ban
	# par défaut, le raspberry fera le mort face à l'hote pendant 600 secondes après 5 rejets sur un port
	# en phase de test d'un autre service il faut relancer fail2ban car il est rancunier
	# pour reabiliter
	fail2ban-client status # voirs les prisons
	fail2ban-client status jail_name_exemple
	fail2ban-client set jail_name_exemple unbanip NN.NN.NN.NN

	sudo apt-get install denyhosts
	# par défaut reffuse definitivement les connections d'un hote après une ciquantaine d'erreurs
	# c'est moins bien mais c'est plus simple

# il est possible de préparer le WiFi sur la carte mémoire
# même si celui ci est prétendument caché ( le point d'accès ne diffuse pas son identifiant ( SSID ))
# mais le fichier de configuration des acces WiFi est écrasé lors du premier démarage du raspberry avec la nouvelle carte mémoire
# il faut donc le faire sur une carte qui a déjà servi
# par exemple pour une Livebox Orange :
cat >> /media/*/root/etc/wpa_supplicant/wpa_supplicant.conf <<FIN

network={
	ssid="Livebox-XXXX"
	psk="XXXXXXXXXXXXXXXXXXXXXXXXXX"
	key_mgmt=WPA-PSK
	}
FIN



# ou si seulement un câble ethernet entre un autre PC et le raspberry
	# livré à lui même il prend une adresse 169.254.0.0/16
	# soit 65634 possibilités
	nmap -sn 169.254.0.0/16   # ça peut prendre des jours
	# une solution vite fait mal fait serait de fixer l'adresse au boot /etc/rc.local
	ifconfig eth0 169.254.0.1/16
	# il serait plus "propre" d'aller modifier dans /etc/network/interfaces
	# ATTENTION il faut impérativement enlever cette ligne avant branchement sur un réseau filaire
	# si le PC comporte aussi une carte WiFi,
	# il est possible que le réseau 169.254.0.0/16 lui soit affecté,
	# il faut alors en prendre un autre par exemple
	ifconfig eth0 192.168.2.10/24
	# sur le PC l'interface ne s'appelle pas forcement "eth0"

# à défaut de liaison réseau sur le raspberrypi zero, il est facile de communiquer via le câble USB
	# bénéfice supplémentaire, cela permet de se passer d'alimentation, malheureusement le port libéré n'est pas utilisable.

	# sur un PC monter la partition boot de la carte mémoire
	echo "dtoverlay=dwc2" >> /media/*/boot/config.txt;
	sed -i 's/rootwait/rootwait modules-load=dwc2,g_ether/' /media/*/boot/cmdline.txt;
	touch /media/*/bootfs/ssh # pour qu'au boot suivant le raspberry finalise le lancement du serveur sshd
	# le fichier créé ci-dessus est effacé au boot, puis le service est activé "definitivement"
	# pour fixer l'adresse:
	sudo bash
	exec echo -e "interface usb0\nstatic ip_address=192.168.2.10/24" >> /media/*/root/etc/dhcpcd.conf
	# la commande ifconfig n'affiche l'adresse qu'après un connexion physique avec le PC

	# sur le PC il faut lancer la commande ifconfig pour voir le nom de l'interface supplémentaire
	# comme la configuration ne tiens pas au début :
	while :; do ifconfig enp0s20u7 | grep 192.168.2.20 || sudo ifconfig enp0s20u7 192.168.2.20/24; sleep 2;done

	# on dispose alors d'une clé USB "intéligente"
	# par exemple pour contenir des scripts shell encodés avec shc
	# le source du script sera inaccessible et si quelqu'un copie le script il ne poura pas l'executé sur un autre système.
	# ou on peut ouvrir un accès wifi sur un réseau parano via un PC dépourvu de carte wifi
	# en installant ecryptfs on peut protéger le contenu de cette "clé"
	# pour cela il faut déconnecter l'utilisateur dont on veut chiffrer le repertoire et se connecter "root"
	apt-get install ecryptfs-utils
	apt-get install lsof
	ecryptfsd
	ecryptfs-migrate-home -u pi
	# par la suite il faut que l'utilsateur se soit connecter pour que les données chiffrées soient accessible

# il semble qu'il n'est pas été prévu d'entrer les paramètres d'un point d'accès WiFi qui ne diffuse pas son identifiant.
	# cepeandant il est possible d'intaller :
	sudo apt-get install wpagui
	sudo wpa_gui

# avec la verions light de raspian, seul le raspberry zero reconnait le wifi
# il faut donc batailler
sudo rfkill unblock all
sudo wpa_gui

# d'apres https://www.diyhobi.com/share-raspberry-pi-wifi-internet-ethernet
# et https://www.moyens.net/tech/comment-transformer-votre-raspberry-pi-en-pont-wi-fi

sudo su -

echo "denyinterfaces eth0" >> /etc/dhcpcd.conf

cat <<FIN >> /etc/network/interfaces
auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.255.1
    netmask 255.255.255.0
    network 192.168.255.0
    broadcast 192.168.255.255
FIN

apt-get install <a href="https://thekelleys.org.uk/dnsmasq/doc.html">dnsmasq</a>
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
cat <<FIN >> /etc/dnsmasq.conf
interface=eth0
listen-address=192.168.255.1
dhcp-range=192.168.255.50,192.168.255.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv
FIN

reboot

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t raw -F
iptables -t raw -X


# une ligne a la fois
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT  

iptables -L -n -v

iptables-save > /etc/iptables.ipv4.nat

# dans /etc/rc.local avant exit
iptables-restore < /etc/iptables.ipv4.nat


route

ƒraηcois✉memoρersο.ƒr