Ich finde auch etwas krass was hier direkt empfohlen wird, obwohl scheinbar bei null angefangen wird
Die grobe Einrichtung wäre wahrscheinlich besser und Feintuning kann man dann später betreiben. Hier mal noch mein Senf zu angesprochenen Themen:
Ubuntu und Debian sind für den Einstieg super. Ich bin auch mit Ubuntu eingestiegen und bin dann auf Debian umgestiegen, weil es einfach noch ressourcenschonender ist und nicht mit Snap und Gedöns daherkommt
Für die beiden Distributionen gibt es gefühlt unendlich Hilfe im Netz!
Absicherung per SSH Keys und Firewall sind für den Anfang das wichtigste. Gerade als Anfänger finde ich die Firewall unverzichtbar, eben falls du versehentlich einen Port öffnest, ohne es rechtzeitig zu merken. Default Deny Incoming und Default Allow Outgoing sind völlig in Ordnung. Damit machst du alles dicht (SSH Port freigeben!), aber kannst auf alles zugreifen. APT funktioniert weiterhin, da das ganze Stateful abläuft -> du machst die Verbindung auf, also darf auch etwas zurückgeschickt werden. Bei Bedarf kannst du dann später noch mehr dicht machen.
Ein Webserver als erstes Projekt ist super. Webserver der Wahl installieren, eine Hello World ähnliche index.html schreiben und den Port in der Firewall freigeben. Dadurch sieht man direkt was man erschaffen hat und kann darauf aufbauen und lernt dann die Syntax der Webserver Konfiguration kennen 
Theoretisch brauche ich ja nur tcp, oder? und die beiden v6 kann ich ja auch löschen.
Aber dafür müsste ich beim tcp in und out einstellen, richtig?
Ja, TCP reicht bei SSH. Ein kleines ufw allow 22/tcp reicht da schon, um deinen Server zu erreichen. Wenn du dann wiederum mit SSH raus willst und wirklich eine Default Deny Outgoing Regel hast, brauchst du noch eine extra Regel, ja.
IPv6 wäre natürlich wünschenswert, aber musst du nicht zwingend einrichten 