Índex general de la sèrie: Xarxes de Ordinadors per a les PIMES: Introducció
Aquest article és continuació de:
Hola amigues i amics!
El grup entusiastes va comprar el nom de domini d'Internet desdelinux.fan al vostre Internet Services Provider o ISP. Com a part d'aquesta adquisició, van demanar al ISP que inclogués tots els registres DNS necessaris perquè des d'Internet es resolguessin les consultes pertinents relatives al seu domini.
També van sol·licitar que s'incloguessin registres SRV relatius al XMPP perquè planegen instal·lar un servidor de missatgeria instantània basat en Prosòdia que uniran a la federació de servidors XMMP compatibles existent a Internet.
- El propòsit principal d'aquest article és mostrar com podem reflectir en un fitxer de zona DNS els registres SRV relacionats amb el servei de Missatgeria Instantània compatible amb XMPP.
- La instal·lació de l' Shorewall amb una sola interfície de xarxa pot servir als que decideixin instal·lar un servidor com aquest per administrar una Zona DNS delegada. Si aquest servidor es connecta a la LAN Empresarial a més d'Internet, cal fer els paràmetres necessaris per utilitzar dues interfícies de xarxa.
servidor base
Anem a instal·lar un servidor DNS autoritari NSD sobre Debian «Jessie». Es tracta del servidor arrel del domini «fan.» Els paràmetres principals del servidor són:
Nom :ns.fan Adreça IP :172.16.10.30 root@ns:~# hostname ns root@ns:~# hostname --fqdn ns.fan root@ns:~# ip addr show 1: el: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 6/1 scope host valid_lft forever preferred_lft forever 128: eth2: mtu 0 qdisc pfifo_fast state UP group default qlen 1500 link/ether 1000:00c:0:dc:d29:7b brd ff:ff:ff:ff:ff inet 1/172.16.10.30 brd 24. forever preferred_lft forever inet172.16.10.255 fe0::6c:80ff:fedc:d20b/29 scope link valid_lft forever preferred_lft forever
Shorewall
Abans de sortir amb un servei a l'Aldea WWW, és molt positiu protegir el servidor i els serveis que presta mitjançant un potent Firewall – Enrutador. Shorewall és relativament fàcil de configurar i constitueix una opció segura per a la protecció.
- La configuració correcta i completa d'un Firewall és tasca de coneixedors o d'experts, que no ho som. Només oferim una guia per a una mínima i funcional configuració.
Instal·lem el paquet shorewall i la seva documentació.
root@ns:~# aptitude show shorewall
Paquet: shorewall Nou: sí Estat: sense instal·lar
Versió: 4.6.4.3-2
root@ns:~# aptitude install shorewall shorewall-doc
Documentació
Trobareu abundant documentació a les carpetes:
- /usr/share/doc/shorewall
- /usr/share/doc/shorewall/examples
- /usr/share/doc/shorewall-doc/html
Configurem per a una interfície de xarxa
root@ns:~# cp /usr/share/doc/shorewall/examples/one-interface/interfaces \ /etc/shorewall/ root@ns:~# nano /etc/shorewall/interfaces #ZONE INTERFACE OPTIONS net eth0 tcpflags,logmartians,nosmurfs,sourceroute=0
Declarem les zones del firewall
root@ns:~# cp /usr/share/doc/shorewall/examples/one-interface/zones \ /etc/shorewall/ root@ns:~# nano /etc/shorewall/zones #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4
Polítiques per defecte per accedir al firewall
root@ns:~# cp /usr/share/doc/shorewall/examples/one-interface/policy \
/etc/shorewall/
root@ns:~# nano /etc/shorewall/policy
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST $FW net ACCEPT
net all DROP info
# The FOLLOWING POLICY MUST BE LAST all all REJECT info
Regles per accedir al firewall
root@ns:~# cp /usr/share/doc/shorewall/examples/one-interface/rules \
/etc/shorewall/
root@ns:~# nano /etc/shorewall/rules
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK AMB$ # PORT PORT(S) DEST LIMIT GROUP ?SECTION ALL ?SECTION ESTABLISHED ?SECTION RELATED ?SECTION INVALID ? paquets en un estat no vàlid Invalid(DROP) net $FW tcp # Drop Ping from the "bad" net zone.. and prevent your log from being flooded.. # Rebutjar Ping des de la "dolenta" zona net. # Prevenir que la inundació del log del sistema (/var/log/syslog) Ping(DROP) net $FW # Permet all ICMP traffic FROM the firewall TO the net zone # Permetre tot el trànsit ICMP DES DEL firewall CAP a la zona net. ACCEPT $FW net icmp
# Regles pròpies # Accés mitjançant SSH des de dos equips
SSH/ACCEPT net:172.16.10.1,172.16.10.10 $FW tcp 22
# Permetre el trànsit pels ports 53/tcp i 53/udp
ACCEPT net $FW tcp 53
ACCEPT net $FW udp 53
Chequem la sintaxi dels fitxers de configuració
root@ns:~# shorewall check
Checking... Processing /etc/shorewall/params ... Processing /etc/shorewall/shorewall.conf... Loading Modules... Checking /etc/shorewall/zones... Checking /etc/shorewall/interfaces.. Determining Hosts in Zones... Locating Action Files... Checking /etc/shorewall/policy... Adding Anti-smurf Rules Checking TCP Flags filtering... Checking Kernel Route Filtering... Accept Source Routing... MAC filtració de control -- Phase 1... Checking /etc/shorewall/rules... Checking /etc/shorewall/conntrack... MAC filtració de control -- Phase 2... Applying Policies.. Checking /usr/share/shorewall/action.Drop for chain Drop... Checking /usr/share/shorewall/action.Broadcast for chain Broadcast... Shorewall configuration verified
root@ns:~# nano /etc/default/shorewall
# prevent startup with default configuration # set the following varible to 1 in order to allow Shorewall to start
startup=1
------
root@ns:~# service shorewall start
root@ns:~# service shorewall restart
root@ns:~# service shorewall status
● shorewall.service - LSB: Configureu el firewall amb el temps boot Loaded: loaded (/etc/init.d/shorewall) Active: active (exited) since dom 2017-04-30 16:02:24 EDT; 31min ago Process: 2707 ExecStop=/etc/init.d/shorewall stop (code=exited, status=0/SUCCESS) Process: 2777 ExecStart=/etc/init.d/shorewall start (code=exited, status=0/ SUCCESS)
És molt educatiu llegir amb deteniment la sortida de l'ordre iptables -L sobretot pel que fa a les polítiques per defecte per a INPUT, FORWARD, OUTPUT, i les que rebutja – rebutjar el Firewall per protegir-se d'atacs externs. Almenys, se surt a Internet amb una mica de protecció, no? 😉
root@ns:~# iptables -L
NSD
root@ns:~# aptitude show nsd
Paquet: nsd Nou: sí Estat: instal·lat Instal·lat automàticament: no
Versió: 4.1.0-3
root@ns:~# aptitude install nsd
root@ns:~# ls /usr/share/doc/nsd/
contrib changelog.Debian.gz NSD-DIFFFILE REQUIREMENTS.gz examples changelog.gz NSD-FOR-BIND-USERS.gz TOT.gz copyright differences.pdf.gz README.gz UPGRADING CREDITS NSD-DATABASE RELNOTES.
root@ns:~# nano /etc/nsd/nsd.conf
# NSD configuration file for Debian. # See the nsd.conf(5) man page.
# See /usr/share/doc/nsd/examples/nsd.conf for a commented
# reference config file.
# Els following line inclouen additional configuration files from the # /etc/nsd/nsd.conf.d directory. # WARNING: The glob style no work yet... # include: "/etc/nsd/nsd.conf.d/*.conf" server: logfile: "/var/log/nsd.log" ip-address : 172.16.10.30 # listen on IPv4 connections do-ip4: yes # listen on IPv6 connections do-ip6: no # port to answer queries on. default is 53. port: 53 username: nsd # A les zones, l'opció provide-xfr és per a # comprovacions axfr zone: name: fan zonefile: /etc/nsd/fan.zone zone: name: desdelinux.fan
zonefile: /etc/nsd/desdelinux.fan.zone
provide-xfr: 172.16.10.250 NOKEY
zone:
name: 10.16.172.in-addr.arpa
zonefile: /etc/nsd/10.16.172.arpa.zone provide-xfr: 172.16.10.250 NOKEY zone: name: swl.fan zonefile: /etc/nsd/swl.fan.zone zone: name: debian.fan zonefile: /etc/nsd/debian.fan.zone zone: name: centos.fan zonefile: /etc/nsd/centos.fan.zone zone: name: freebsd.fan zonefile: /etc/nsd/freebsd.fan.zone
root@ns:~# nsd-checkconf /etc/nsd/nsd.conf
root@ns:~#
Creem els arxius de les Zones
La Zona Arrel «fan» configurada a continuació és NOMÉS PER A PROVES i no s'ha de prendre com a exemple. No som administradors de servidors de noms de dominis arrels. 😉
root@ns:~# nano /etc/nsd/fan.zone
$ORIGIN fan. $TTL 3H @ IN SOA ns.fan. root.fan. (1; serial 1D; refresh 1H; retry 1W; expiri 3H); minimum or ; Negative caching time to live ; @ IN NS ns.fan. @ IN A 172.16.10.30; ns IN A 172.16.10.30
root@ns:~# nano /etc/nsd/desdelinux.fan.zone
$ORIGIN desdelinux.fan.
$TTL 3H
@ IN SOA ns.desdelinux.fan. root.desdelinux.fan. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum or
; Negative caching time to live
;
@ IN NS ns.desdelinux.fan.
@ IN MX 10 mail.desdelinux.fan.
@ IN TXT "v=spf1 a:mail.desdelinux.fan -all"
;
; Registro para resolver consultas dig desdelinux.fan
@ IN A 172.16.10.10
;
ns IN A 172.16.10.30
mail IN CNAME desdelinux.fan.
chat IN CNAME desdelinux.fan.
www IN CNAME desdelinux.fan.
;
; Registros SRV relativos al XMPP
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.fan.
_xmpp-client._tcp IN SRV 0 0 5222 desdelinux.fan.
_jabber._tcp IN SRV 0 0 5269 desdelinux.fan.
root@ns:~# nano /etc/nsd/10.16.172.arpa.zone
$ ORIGIN 10.16.172.in-addr.arpa.
$TTL 3H
@ IN SOA ns.desdelinux.fan. root.desdelinux.fan. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum or
; Negative caching time to live
;
@ IN NS ns.desdelinux.fan.
;
30 IN PTR ns.desdelinux.fan.
10 IN PTR desdelinux.fan.
root@ns:~# nsd-checkzone desdelinux.fan /etc/nsd/desdelinux.fan.zone
zona desdelinux.fan is ok
root@ns:~# nsd-checkzone 10.16.172.in-addr.arpa /etc/nsd/10.16.172.arpa.zone
zone 10.16.172.in-addr.arpa is ok # A Debian, el NSD acaba la seva instal·lació habilitat per defecte
root@ns:~# systemctl restart nsd
root@ns:~# systemctl status nsd
● nsd.service - Name Server Daemon Loaded: loaded (/lib/systemd/system/nsd.service; enabled) Active: active (running) since dom 2017-04-30 09:42:19 EDT; 21min ago Main PID: 1230 (nsd) CGroup: /system.slice/nsd.service ├─1230 /usr/sbin/nsd -d -c /etc/nsd/nsd.conf ├─1235 /usr/sbin/nsd - d -c /etc/nsd/nsd.conf └─1249 /usr/sbin/nsd -d -c /etc/nsd/nsd.conf
Comprovacions des del propi servidor ns.fan
root@ns:~# host desdelinux.fan desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. root@ns:~# host mail.desdelinux.fan un correu electrònic.desdelinux.fan is an alias for desdelinux.fan. desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. root@ns:~# host chat.desdelinux.fan xerrardesdelinux.fan is an alias for desdelinux.fan. desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. root@ns:~# host www.desdelinux.fan www.desdelinux.fan is an alias for desdelinux.fan. desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. root@ns:~# host ns.desdelinux.fan ns.desdelinux.fan has address 172.16.10.30 root@ns:~# host 172.16.10.30 30.10.16.172.in-addr.arpa domain name pointer ns.desdelinux.fan. root@ns:~# host 172.16.10.10 10.10.16.172.in-addr.arpa domain name pointer desdelinux.fan. root@ns:~# host ns.fan ns.fan has address 172.16.10.30
Comprovacions de la resolució de noms des d'Internet
- Les detallades consultes DNS mai no estan altres, perquè del bon funcionament de la Resolució de Noms de Dominis dependrà en gran mesura el correcte funcionament de la xarxa.
Per fer les consultes DNS vaig connectar al meu commutador – interruptor de proves, una Laptop amb la IP 172.16.10.250 i gateway 172.16.10.1, adreça IP que correspon a la meva estació de treball sysadmin.desdelinux.fan com se sap darticles anteriors.
sandra@laptop:~$ sudo ip addr show 1: el: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host forever preferred_lft forever 6: eth1: mtu 128 qdisc pfifo_fast state UP qlen 2 link/ether 0:1500:1000:00e:17:42 brd ff:ff:ff:ff:ff:ff inet 8/85 brd 54. :172.16.10.250:24ff:fe172.16.10.255e:0/6 scope link valid_lft forever preferred_lft forever 80: wlan217: mtu 42 qdisc noop state DOWN qlen 8 link/ether 8554:64d:e3:0:1500:d1000 brd ff:ff:ff:ff:ff: ff: mtu 00 qdisc noop state DOWN link/ether de:1b:0:88:09:ad brd sandra@laptop:~$ sudo route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.10.1 0.0.0.0 UG 0 0 0 eth0 172.16.10.0 0.0.0.0 255.255.255.0 0 sandra@laptop:~$ cat /etc/resolv.conf servidor de noms 172.16.10.30 sandra@laptop:~$ host desdelinux.fan desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. sandra@laptop:~$ host mail.desdelinux.fan un correu electrònic.desdelinux.fan is an alias for desdelinux.fan. desdelinux.fan has address 172.16.10.10 desdelinux.fan mail is handled by 10 mail.desdelinux.fan. sandra@laptop:~$ host ns.desdelinux.fan ns.desdelinux.fan has address 172.16.10.30 sandra@laptop:~$ host 172.16.10.30 30.10.16.172.in-addr.arpa domain name pointer ns.desdelinux.fan. sandra@laptop:~$ host 172.16.10.10 10.10.16.172.in-addr.arpa domain name pointer desdelinux.fan. sandra@laptop:~$ host -t SRV _xmpp-server._tcp.desdelinux.fan _xmpp-server._tcp.desdelinux.fan has SRV record 0 0 5269 desdelinux.fan. sandra@laptop:~$ host -t SRV _xmpp-client._tcp.desdelinux.fan _xmpp-client._tcp.desdelinux.fan has SRV record 0 0 5222 desdelinux.fan. sandra@laptop:~$ host -t SRV _jabber._tcp.desdelinux.fan _jabber._tcp.desdelinux.fan has SRV record 0 0 5269 desdelinux.fan. sandra@laptop:~$ host -a fan. Trying "fan";; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57542;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; QUESTION SECTION: ;fan. IN ANY;; ANSWER SECTION: fan. 10800 IN SOA ns.fan. root.fan. 1 86400 3600 604800 10800 fan. 10800 IN NS ns.fan. fan. 10800 IN A 172.16.10.30;; ADDITIONAL SECTION: ns.fan. 10800 IN A 172.16.10.30 Received 111 bytes from 172.16.10.30#53 in 0 ms
- Intencionalment configurem l'adreça 172.16.10.250 a la Laptop, per comprovar TOT mitjançant una consulta DNS AXFR, ja que les Zones es van configurar per permetre -sense cap clau- aquest tipus de consulta des d'aquesta IP.
sandra@laptop:~$ dig desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> desdelinux.fan axfr ;; global options: +cmd
desdelinux.fan. 10800 IN SOA ns.desdelinux.fan. root.desdelinux.fan. 1 86400 3600 604800 10800
desdelinux.fan. 10800 IN NS ns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 mail.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "v=spf1 a:mail.desdelinux.fan -all"
desdelinux.fan. 10800 IN A 172.16.10.10
_jabber._tcp.desdelinux.fan. 10800 IN SRV 0 0 5269 desdelinux.fan.
_xmpp-client._tcp.desdelinux.fan. 10800 IN SRV 0 0 5222 desdelinux.fan.
_xmpp-server._tcp.desdelinux.fan. 10800 IN SRV 0 0 5269 desdelinux.fan.
chat.desdelinux.fan. 10800 IN CNAME desdelinux.fan.
mail.desdelinux.fan. 10800 IN CNAME desdelinux.fan.
ns.desdelinux.fan. 10800 IN A 172.16.10.30
www.desdelinux.fan. 10800 IN CNAME desdelinux.fan.
desdelinux.fan. 10800 IN SOA ns.desdelinux.fan. root.desdelinux.fan. 1 86400 3600 604800 10800
;; Query time: 0 msec
;; SERVER: 172.16.10.30#53(172.16.10.30)
;; WHEN: Sun Apr 30 10:37:10 EDT 2017
;; XFR size: 13 records (messages 1, bytes 428)
sandra@laptop:~$ dig 10.16.172.in-addr.arpa axfr
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> 10.16.172.in-addr.arpa axfr
;; global options: +cmd
10.16.172.in-addr.arpa. 10800 IN SOA ns.desdelinux.fan. root.desdelinux.fan. 1 86400 3600 604800 10800
10.16.172.in-addr.arpa. 10800 IN NS ns.desdelinux.fan.
10.10.16.172.in-addr.arpa. 10800 IN PTR desdelinux.fan.
30.10.16.172.in-addr.arpa. 10800 IN PTR ns.desdelinux.fan.
10.16.172.in-addr.arpa. 10800 IN SOA ns.desdelinux.fan. root.desdelinux.fan. 1 86400 3600 604800 10800
;; Query time: 0 msec
;; SERVER: 172.16.10.30#53(172.16.10.30)
;; WHEN: Sun Apr 30 10:37:27 EDT 2017
;; XFR size: 5 records (messages 1, bytes 193)
sandra@laptop:~$ ping ns.desdelinux.fan
PING ns.desdelinux.fan (172.16.10.30) 56(84) bytes of data.
Es van respondre les consultes DNS necessàries de manera correcta. També comprovem que el Shorewall funciona correctament i que no accepta fer ping des d'equips connectats a Internet.
Resum
- Vam veure com instal·lar i configurar –amb les opcions bàsiques i mínimes– un servidor DNS Autoritari basat en el NSD. Comprovem que la sintaxi dels fitxers de les zones és molt semblant a la del BIND. A Internet es troba molt bona i completa literatura sobre el NSD.
- Complim amb lobjectiu de mostrar la declaració de registres SRV relacionats amb XMPP.
- Assistim a la instal·lació i mínima configuració d'un tallafocs basat en Shorewall.
propera entrega
Prosody IM i usuaris locals.
bons dies amics de la comunitat linux molt bo tutorial instent realitzar la instal·lació del dns però al·lega que aquesta ordre no es troba si hi ha una altra alternativa sabre agrair la informació
Pregunta?…. no utilitzaran per a xarxes PIME a SAMBA com a controlador de domini?
fracielarevalo: Observa que l'article es basa en instal·lar el NSD sobre el sistema operatiu Debian Jessie, no sobre CentOS.
Alberto: Cal anar del senzill al complex. Més endavant veurem el Samba 4 com un AD-DC, és a dir un Active Directory – Domain Controler. Paciència. Et recomano llegiu l'article anterior, sobretot el paràgraf que diu: És que el mecanisme d'autenticació en el naixement de l'ARPANET, Internet i altres xarxes Wide Area Network o Local Area Network inicials es va basar en LDAP, Directory Service, o en Microsoft LSASS, o en Active Directory, o mitjançant Kerberos ?, per només esmentar alguns.
Recordeu que tots els articles estan relacionats i que es tracta d'una sèrie. No crec útil per res començar al reves, és a dir, a partir d'un Active Directory i tornar cap a PAM. Com veuràs, molts tipus d'autenticacions acaben en PAM al teu desktop Linux. Solucions senzilles com la que cobrim amb PAM, mereixen ser escrites. Si s'entén el propòsit, han de ser llegides i estudiades.
Salutacions i moltes gràcies a tots dos per comentar.
Un altre gran article de l'autor, com és habitual, sempre hi ha alguna cosa nova i summament útil per als que ens creiem «sysadmins».
Heus aquí els meus apunts:
1- Ocupació del NSD en lloc del BIND com a servidor DNS Autoritari.
2- Inserir a l'arxiu de zona DNS els registres SRV relacionats amb el servei de Missatgeria Instantània compatible amb XMPP.
3- L'ús del Tallafocs Shorewall amb una interfície de xarxa.
Aquest post em serveix de «base» (com ha afirmat bé modestament i és l'aspiració de l'autor al llarg de tota la sèrie PIMES) si en futur em veig en la necessitat d'implementar una solució similar.
El grup entusiastes novament ens ajuda a augmentar els nostres coneixements a l'àrea de xarxes per a les pimes. Moltes gràcies per tan bona aportació fic, la comunitat, la meva persona i crec que una bona quantitat de sysadmin t'agraeixen per tan invaluable aportació… En el passat vaig tenir alguna relació amb shorewall, però aprofundir en un cas pràctic de la manera com ho fes fet és força difícil, aquesta sèrie de xarxes per a pimes és pionera en la documentació en diverses àrees que un sysadmin hauria de manejar, entenent que la majoria de la documentació al respecte es troba en l'idioma universal l'anglès…
No paris, felicitacions i seguim endavant!!!
Llangardaix: Moltes Gràcies pel teu comentari i per l'agraïment. Intento donar a la sèrie la base mínima que necessita un Sysadmin. Per descomptat que dependrà en suc grau l'autoestudi i l'interès personal de cadascú sobre cadascun dels temes tractats.
Seguim Endavant!!!
Hola a la comunitat linx ;). Sóc nou a l'OS.opte po deixa windows en el passat i estic anciós per aprendre el més q pugui..molt bon article..salutacions cordials
Gràcies Ghost per unir-te a la Comunitat i per comentar