Linux Server bouwen Ubuntu Server Door Leon Voerman Versie: Concept mail@leonvoerman.nl https://www.leonvoerman.nl
Inhoudsopgave Introductie...3 Windows installeren...4 Ubuntu server installeren...6 Pakketten installeren...8 Overige installaties...9 Netwerk adapter confguratie...10 IP forwarding...11 DHCP server confgureren...12 Domain controller confgureren...14 Domain controller beheren...21 Beveiligen...22 Ubuntu Server 13-07-18 Pagina 2
Introductie In dit document leer je hoe je een Ubuntu Server kan installeren en confgureren. We beginnen met het installeren van een aantal pakketten voor we daadwerkelijk aan de slag gaan met het installeren van onze services. Voor deze cursus gebruiken we Virtualbox om onze clients en servers te beheren. In deze cursus leer je verschillende commando s die nodig zijn voor het beheren van een Linux server en leer je over verschillende pakketten voor Linux die je hierbij kunnen helpen, zoals; ntopng, mc, webmin, ltsp, samba, enz. Voor deze cursus moet je beschikken over enige basis kennis van Linux. Je moet jezelf kunnen navigeren in een Linux terminal omgeving. Het is niet erg als je het doel van sommige mappen niet weet, zoals /etc/skell. Dit wordt beschreven. Voor deze cursus gebruiken we voor het gemak Windows 10 clients. Zorg ervoor dat u over een Windows 10 ISO beschikt voor u aan deze cursus begint. Voor deze cursus gebruiken we een fctief bedrijf genaamd: incsec systems. Veel plezier met het lezen van dit document. Ubuntu Server 13-07-18 Pagina 3
Windows installeren Maak een virtuele machine aan met een virtuele harde schijf van minimaal 30 GB en 2048 mb RAM. Als u over meer dan 16 GB RAM beschikt op uw computer, kunt u er ook voor kiezen om uw Windows 10 desktop client 4096 mb RAM toe te wijzen Ubuntu Server 13-07-18 Pagina 4
Netwerk adapter instellen 1. Selecteer de Virtual Machine en druk op CTRL + S voor de instellingen. 2. Ga naar Network 3. Zorg dat in het tab met Adapter 1, Enable Network Adapter in aangevinkt en Attacked to op Internal Network. Verder zijn er zijn geen bijzondere eisen aan het installeren van uw Windows 10 desktop client. Neem een gebruikersnaam en wachtwoord die u makkelijk kunt onthouden, zoals uw voor- en achternaam aan elkaar. Sla uw gebruikersnaam en wachtwoord eventueel op in een password manager zoals Keepass zodat u deze niet kunt vergeten. Ubuntu Server 13-07-18 Pagina 5
Ubuntu server installeren In dit hoofdstuk gaan we de server installeren. Download de laatste LTS (Long Term Support) versie van Ubuntu server op de officiële website: https://www.ubuntu.com/download/server Maak een virtuale machine aan met een harde schijf van minimaal 50 GB en 4096 mb RAM. Netwerk adapters instellen 1. Selecteer de Virtual Machine en druk op CTRL + S voor de instellingen. 2. Ga naar Network 3. Zorg dat bij Adapter 1, Enable Network Adapter in aangevinkt. 4. Set bij Adapter 1 de optie Attached to op NAT 5. Klik op het tab met Adapter 2 6. Vink Enable Network Adapter aan. 7. Zet Attached to op Internel Network Ubuntu Server 13-07-18 Pagina 6
Ubuntu installeren Geef als Hostname: server1.incsecsystems.local Gebruikersnaam: <jou_naam> Wachtwoord: <voornaam+achternaam> > Installeer geen extra pakketten tijdens de installatie > Laat automatisch updaten uit Ubuntu Server 13-07-18 Pagina 7
Pakketten installeren We installeren alle pakketten in 1 commando. Gebruik de volgende commando s: apt update && apt upgrade -y apt install mc samba isc-dhcp-server ntopng krb5-user winbind smbclient openssh-server openssh-client Pakket mc samba isc-dhcp-server ntopng krb5-user winbind smbclient openssh Omschrijvng Een alternatieve text editor Een AD/DC hosting pakket De DHCP server host Netwerk monitor. Geef ook netwerk fouten aan. Kerberos authenticatie server voor onze domain controller Voor authenticatie op onze domain controller van Unix en Windows systemen Hiermee kunnen we inloggen op onze domain controller om het te kunnen testen Dit pakket zorgt ervoor dat we de server via SSH op afstand kunnen beheren. Tijdens de installatie van krb5-user moet u een aantal waardes opgeven. Doe dat in deze volgorde: Kerberos Confguration: REALM: incsecsystems.local Server: server1 Admin: server1 Ubuntu Server 13-07-18 Pagina 8
Overige installaties Deze pagina kunt u overslaan als u van plan bent te stoppen na de DHCP en AD/DC. Download Webmin: wget https://prdownloads.sourceforge.net/webadmin/webmin_1.881_all.deb Installeren: sudo dpkg -i webmin_1.881_all.deb Na de installatie kunt u de inlog pagina bezoeken via: https://<server-ip>:10000 U kunt inloggen met de zelfde gebruikersnaam en wachtwoord als op de server. Met webmin kunt u de server op afstand beheren via een web pagina. Ubuntu Server 13-07-18 Pagina 9
Netwerk adapter confguratie We moeten de netwerk adapter een statisch IP adres geven. Dit doen we door de confguratie aan te passen in /etc/network/interfaces. Commando: mcedit /etc/network/interfaces Nu opent het confguratie bestand. Bewerk het bestand als volgt: # Internal auto eth1 iface eth1 inet static address 192.168.10.244 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 dns-nameservers 192.168.10.244 8.8.8.8 dns-search incsecsystems.local # External auto eth0 iface eth0 inet dhcp pre-up /sbin/iptables-restore < /etc/iptables_rules F2 om op te slaan F10 om te sluiten pre-up: Dit houd in dat onze ip-table regels automatisch worden ingeladen. static: Dit houd in dat dit IP adres blijft staan eth1: Dit is onze interne netwerk adapter address: Dit is het IP adres van deze interface netmask: Dit is het netmask van deze interface Ubuntu Server 13-07-18 Pagina 10
IP forwarding Nu moeten we IPv4 forwarding aan zetten. Dit zorgt ervoor dat gegevens door gegeven kunnen worden aan onze andere netwerk interface genaamd eth0. Deze interface is namelijk verbonden met het internet. Commando: mcedit /etc/sysctl.conf Unhash (#) de lijn met: net.ipv4.ip_forward=1 Voeg onderaan dit bestand de volgende regels toe: net.ipv6.default.disable_ipv6=1 net.ipv6.lo.disable_ipv6=1 net.ipv6.all.disable_ipv6=1 Commando: echo "1" > /proc/sys/net/ipv4/ip_forward Commando: sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth1 -j ACCEPT iptables-save > /etc/iptables_rules Ubuntu Server 13-07-18 Pagina 11
DHCP server confgureren Maak een back-up van de huidige DHCP confguratie: mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.old Bewerk de DHCP confguratie: mcedit /etc/dhcp/dhcpd.conf LET OP: Typ dit letterlijk over! Als je een punt-comma vergeet, werkt de DHCP server niet! subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.10 192.168.10.240; option domain-name "incsecsystems.local"; option domain-name-servers 192.168.10.244, 8.8.8.8; option broadcast-address 192.168.10.255; option routers 192.168.10.244; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; } F2 om op te slaan F10 om te sluiten Ubuntu Server 13-07-18 Pagina 12
Feiten: 1. De range is nu 192.168.10.10 t/m 192.168.10.240 2. Dit is een klasse C adres, dus heeft hij een subnetmask van 255.255.255.0 3. De IP adressen 192.168.10.1 t/m 192.168.10.10 en 192.168.10.241 t/m 192.168.10.254 leent hij niet uit. Deze hebben we gereserveerd. Deze range kunnen we dus gebruiken voor een eventuele extra servers of statisch toegewezen administrator PC s. 4. Maximale IP lease tijd is 7200 Herstart de DHCP server om wijzigingen door te voeren: Commando: /etc/init.d/isc-dhcp-server restart Andere opties zijn: start, stop, reload Deze opties spreken voor zich, lijkt mij. Nog 1 ding doen. De interface voor de DHCP server aangeven: Edit: /etc/default/isc-dhcp-server zet tussen de haakjes de naam van de interne interface, die met IP adres 192.168.10.244 INTERFACES="eth1" Ubuntu Server 13-07-18 Pagina 13
Domain controller confgureren Bewerk /etc/hosts als volgt: 127.0.0.1 localhost 192.168.10.244 server1.incsecsystems.local server1 Verwijder de standaard krb5.conf: rm /etc/krb5.conf Maak een back-up van de standaard samba.conf: mv /etc/samba/smb.conf /etc/samba/smb.old Ubuntu Server 13-07-18 Pagina 14
Doe nu: samba-tool domain provision Beantwoord de volgende vragen met de onderstaande instellingen Instelling REALM: DOMAIN Server Role Waarde INCSECSYSTEMS.LOCAL INCSECSYSTEMS dc DNS Forwarder 8.8.8.8 DNS Backend Admin password SAMBA_INTERNAL SomePassword123 Vervolgens genereert hij een aantal bestanden en wordt uw domain controller geïnstalleerd. In de éénalaatste regel staat waar de nieuwe krb5.conf is geïnstalleerd. Kopieer deze naar /etc/krb5.conf: Voorbeeld van het verplaats krb5.conf: cp /usr/local/samba/private/krb5.conf /etc/krb5.conf Expiry uitschakelen voor de administrator samba-tool user setexpiry administrator -noexpiry Herstart de server met reboot. LET OP: Als u na de reboot geen internet heeft, gebruik dan de volgende commando s: dhclient -v eth0 iptables-restore < /etc/iptables_rules DNS confgureren: mcedit /etc/resolv.conf domain incsecsystems.local nameserver 192.168.10.244 Ubuntu Server 13-07-18 Pagina 15
Het testen van de domain controller: Commando s: smbclient -L localhost -U% smbclient //localhost/netlogon -UAdministrator -c 'ls' host -t A server1.incsecsystems.local. kinit administrator klist -e Als alles goed is kunt u nu uw Windows client aanmelden op uw Domain Controller. Ubuntu Server 13-07-18 Pagina 16
1. Zet de primary DNS van de interface naar 192.168.10.244 en bij secondary 8.8.8.8 2. Meld de computer aan op het domain: INCSECSYSTEMS.LOCAL 3. Login met gebruikersnaam administrator en wachtwoord SomePassword123. Ubuntu Server 13-07-18 Pagina 17
Gebruikers aanmaken Maak een nieuwe gebruiker aan op de server met jou naam. Voorbeeld: sudo samba-tool user create leonvoerman Gebruiker administrator maken: sudo samba-tool group addmembers Administrators leonvoerman sudo samba-tool group addmembers Domain Admins leonvoerman Informatie bekijken pdbedit -u leonvoerman -v Alle gebruikers: pdbedit -L -v Gebruiker verwijderen: smbpasswd -x leonvoerman Ubuntu Server 13-07-18 Pagina 18
Als u vast loopt kunt u de volgende links bezoeken voor verdere ondersteuning: Samba active directory domain controller wiki: https://wiki.samba.org/index.php/ Setting_up_Samba_as_an_Active_Directory_Domain_Controller Gebruikers toevoegen aan de domain controller: https://wiki.samba.org/index.php/adding_users_with_samba_tool Ubuntu Server 13-07-18 Pagina 19
Domain controller beheren U kunt een Windows Server aanmelden op het domein en inloggen met uw administrator account, maar u kunt ook beheerders tools installeren op uw client. Google voor: Windows Remote Server Administration Tools of bezoek de volgende link: https://www.microsoft.com/en-us/download/details.aspx? id=45520 Vervolgens kunt u naar Active Directory gebruikers en computers gaan om de gebruikers te zien, aan te passen of toe te voegen. Ubuntu Server 13-07-18 Pagina 20
Beveiligen Blokkeer onnodige verbindingen naar de gewenste interface (external en internal). Blokkeert FTP verbindingen naar andere client toe, ter beveiliging: iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -j DROP Blokkeert SSH verbindingen naar clients toe, ter beveiliging: iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j DROP Blokkeert Telnet verbindingen naar andere clients toe, ter beveiliging: iptables -A INPUT -i eth0 -p tcp -m tcp --dport 23 -j DROP Sla de iptables op met het commando: iptables-save > /etc/iptables_rules Block het gehele 192.168.0.0/24 subnet Ons netwerk draait op 192.168.10.0/24. We willen nu 192.168.0.0/24 blokkeren. U kunt een heel subnet als volgt blokkeren. Commando: route add net 192.168.0.0/24 gw 127.0.0.1 lo Verwijder commando: route del -net 192.168.0.0 gw 127.0.0.1 netmask 255.255.255.0 dev lo Ubuntu Server 13-07-18 Pagina 21
ntopng in Grafana In dit hoofdstuk leer je werken met ntopng en Grafana. Als eerste gaan we ntopng bekijken. Wat is ntopng? Dit is een netwerk monitor die tevens netwerk fouten meld. Hierin kun je zien welke externe services en websites worden bezocht op jou netwerk. Je kan niet de daadwerkelijke inhoud van paketten zien, zoals on-versleutelde login gegevens. Je kan wel zien hoeveel data er door de interface gaat. Confgureren Grafana en ntopng draaien allebei op poort 3000. We passen de poort van ntopng aan zoals we deze kunnen bereiken. Bewerk het volgende bestand met jou favoriete tekst bewerker, ik gebruik hiervoor mcedit van Midnight Commander. mcedit /etc/ntopng.conf Veranderde de onderste regel van -w=3000 naar -w=3011 : Sla het bestand op en sluit de editor. Herstart ntopng met: /etc/init.d/ntopng restart Ubuntu Server 13-07-18 Pagina 22
Bezoek de ntopng inlog pagina via de client door met de browser te navigeren naar: http://<server-ip>:3011 Login met gebruikersnaam admin en wachtwoord admin. Rechts boven staan een aantal opties: De optie Flows laat je alle verbindingen zien van de server. Selecteer onder Interface jou interne interface, waar de DHCP op draait. Nu zie je alle verbindingen van alle clients, en welke client. Onderin staat het aantal bps upload en download, een knopje met Hosts die alle clients laat zien die verbonden zien met de server. Hier onderin komen ook foutmeldingen te staan, als die er zijn. Ubuntu Server 13-07-18 Pagina 23