Uwierzytelnianie Squid + PAM w sieciach CentOS 7 SMB

Indeks ogólny serii: Sieci komputerowe dla MŚP: wprowadzenie

Witajcie przyjaciele i przyjaciele!

Tytuł artykułu powinien brzmieć: «MATE + NTP + Dnsmasq + Gateway Service + Apache + Squid z uwierzytelnianiem PAM w Centos 7 - sieci MŚP«. Ze względów praktycznych ją skracamy.

Kontynuujemy uwierzytelnianie użytkowników lokalnych na komputerze z systemem Linux za pomocą PAM i tym razem zobaczymy, jak możemy zapewnić usługę proxy w Squid dla małej sieci komputerów, używając danych uwierzytelniających przechowywanych na tym samym komputerze, na którym znajduje się serwer biegnie Kałamarnica.

Chociaż wiemy, że w dzisiejszych czasach bardzo powszechną praktyką jest uwierzytelnianie usług w oparciu o OpenLDAP, Red Hat Directory Server 389, Microsoft Active Directory itp., Uważamy, że najpierw musimy przejść przez proste i tanie rozwiązania, a następnie zmierzyć się z najbardziej złożonymi jedynki. Uważamy, że musimy przejść od prostego do złożonego.

Wskaźnik

Etap

Jest to mała organizacja - dysponująca bardzo niewielkimi środkami finansowymi - poświęcona wspieraniu korzystania z Wolnego Oprogramowania, która wybrała nazwę FromLinux.Fan. Są różnymi entuzjastami systemu operacyjnego CentOS zgrupowane w jednym biurze. Kupili stację roboczą - nie profesjonalny serwer - którą zamierzają przeznaczyć na „serwer”.

Entuzjaści nie mają rozległej wiedzy o tym, jak wdrożyć serwer OpenLDAP lub Samba 4 AD-DC, ani nie stać ich na licencję na Microsoft Active Directory. Jednak do codziennej pracy potrzebują usług dostępu do Internetu za pośrednictwem serwera proxy - aby przyspieszyć przeglądanie - oraz miejsca, w którym mogą zapisywać swoje najcenniejsze dokumenty i pracować jako kopie zapasowe.

Nadal korzystają głównie z legalnie nabytych systemów operacyjnych Microsoft, ale chcą je zmienić na systemy operacyjne oparte na systemie Linux, zaczynając od ich „serwera”.

Aspirują również do posiadania własnego serwera pocztowego, aby uniezależnić się - przynajmniej od pochodzenia - usług takich jak Gmail, Yahoo, HotMail itp., Z których obecnie korzystają.

Reguły zapory i routingu przed Internetem ustalą je w zakontraktowanym routerze ADSL.

Nie mają prawdziwej nazwy domeny, ponieważ nie muszą publikować żadnych usług w Internecie.

CentOS 7 jako serwer bez GUI

Rozpoczynamy od nowej instalacji serwera bez interfejsu graficznego, a jedyną opcją jaką wybieramy podczas procesu jest «Serwer infrastruktury»Jak widzieliśmy w poprzednich artykułach z serii.

Ustawienia początkowe

[root @ linuxbox ~] # cat / etc / hostname 
pudełko z Linuksem

[root @ linuxbox ~] # cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.5 linuxbox.fromlinux.fan linuxbox

[root @ linuxbox ~] # nazwa hosta
pudełko z Linuksem

[root @ linuxbox ~] # nazwa hosta -f
linuxbox.fromlinux.fan

[root @ linuxbox ~] # lista adresów ip
[root @ linuxbox ~] # ifconfig -a
[root @ linuxbox ~] # ls / sys / class / net /
en32 en34 loXNUMX

Wyłączamy Menedżera sieci

[root @ linuxbox ~] # systemctl stop NetworkManager

[root @ linuxbox ~] # systemctl wyłącz NetworkManager

[root @ linuxbox ~] # systemctl status Menedżer sieci
● Usługa NetworkManager.service - Załadowano menedżera sieci: załadowano (/usr/lib/systemd/system/NetworkManager.service; wyłączone; ustawienie dostawcy: włączone) Aktywne: nieaktywne (nieaktywne) Dokumenty: man: NetworkManager (8)

[root @ linuxbox ~] # ifconfig -a

Konfigurujemy interfejsy sieciowe

Interfejs Ens32 LAN podłączony do sieci wewnętrznej

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan
DNS1=127.0.0.1
STREFA = publiczna

[root @ linuxbox ~] # ifdown ens32 && ifup ens32

Interfejs Ens34 WAN połączony z Internetem

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE = ens34 ONBOOT = yes BOOTPROTO = static HWADDR = 00: 0c: 29: da: a3: e7 NM_CONTROLLED = no IPADDR = 172.16.10.10 NETMASK = 255.255.255.0 # Router ADSL jest podłączony do tego interfejsu z # następującym adresem GATEWAY IP = 172.16.10.1 DOMAIN = desdelinux.fan DNS1 = 127.0.0.1
STREFA = zewnętrzna

[root @ linuxbox ~] # ifdown ens34 && ifup ens34

Konfiguracja repozytoriów

[root @ linuxbox ~] # cd /etc/yum.repos.d/
[root @ linuxbox ~] # oryginalny mkdir
[root @ linuxbox ~] # mv Centos- * oryginał /

[root @ linuxbox ~] # nano centos.repo
[Base-Repo]
name=CentOS-$releasever
baseurl=http://192.168.10.1/repos/centos/7/base/x86_64/
gpgcheck=0
enabled=1

[CentosPlus-Repo]
name=CentOS-$releasever
baseurl=http://192.168.10.1/repos/centos/7/centosplus/x86_64/
gpgcheck=0
enabled=1

[Epel-Repo]
name=CentOS-$releasever
baseurl=http://192.168.10.1/repos/centos/7/epel/x86_64/
gpgcheck=0
enabled=1

[Updates-Repo]
name=CentOS-$releasever
baseurl=http://192.168.10.1/repos/centos/7/updates/x86_64/
gpgcheck=0
enabled=1

[root @ linuxbox yum.repos.d] # yum clean all
Wczytane wtyczki: najszybszy mirror, langpacks Czyszczenie repozytoriów: Base-Repo CentosPlus-Repo Epel-Repo Media-Repo: Updates-Repo Czyszczenie wszystkiego Czyszczenie listy najszybszych serwerów lustrzanych
[root @ linuxbox yum.repos.d] # yum update
Wczytane wtyczki: najszybszy mirror, langpacks Base-Repo | 3.6 kB 00:00 CentosPlus-Repo | 3.4 kB 00:00 Epel-Repo | 4.3 kB 00:00 Media-Repo | 3.6 kB 00:00 Aktualizacje-repo | 3.4 kB 00:00 (1/9): Base-Repo / group_gz | 155 kB 00:00 (2/9): Epel-Repo / group_gz | 170 kB 00:00 (3/9): Media-Repo / group_gz | 155 kB 00:00 (4/9): Epel-Repo / updateinfo | 734 kB 00:00 (5/9): Media-Repo / primary_db | 5.3 MB 00:00 (6/9): CentosPlus-Repo / primary_db | 1.1 MB 00:00 (7/9): Aktualizacje repozytorium / primary_db | 2.2 MB 00:00 (8/9): Epel-Repo / primary_db | 4.5 MB 00:01 (9/9): Base-Repo / primary_db | 5.6 MB 00:01 Określanie najszybszych serwerów lustrzanych Brak pakietów oznaczonych do aktualizacji

Wiadomość "Brak pakietów oznaczonych do aktualizacji»Widać, ponieważ podczas instalacji zadeklarowaliśmy te same lokalne repozytoria, którymi dysponujemy.

Centos 7 ze środowiskiem graficznym MATE

Aby skorzystać z bardzo dobrych narzędzi administracyjnych z interfejsem graficznym, który zapewnia nam CentOS / Red Hat, a ponieważ zawsze tęsknimy za GNOME2, zdecydowaliśmy się zainstalować MATE jako środowisko graficzne.

[root @ linuxbox ~] # yum groupinstall "System X Window"
[root @ linuxbox ~] # yum groupinstall „MATE Desktop”

Aby sprawdzić, czy MATE ładuje się poprawnie, wykonujemy następujące polecenie w konsoli -local lub remote-:

[root @ linuxbox ~] # systemctl isolate graphical.target

i należy załadować środowisko graficzne -w lokalnym zespole- płynnie, pokazując lightdm jako logowanie graficzne. Wpisujemy nazwę użytkownika lokalnego i jego hasło, a następnie wpisujemy MATE.

Aby powiedzieć systemd że domyślnym poziomem rozruchu jest 5 - środowisko graficzne - tworzymy następujące dowiązanie symboliczne:

[root @ linuxbox ~] # ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

Ponownie uruchamiamy system i wszystko działa dobrze.

Instalujemy usługę czasu dla sieci

[root @ linuxbox ~] # yum install ntp

Podczas instalacji konfigurujemy synchronizację zegara lokalnego z serwerem czasu urządzenia sysadmin.fromlinux.fan z IP 10. Więc zapisujemy plik ntp.conf oryginał przez:

[root @ linuxbox ~] # cp /etc/ntp.conf /etc/ntp.conf.original

Teraz tworzymy nowy z następującą zawartością:

[root @ linuxbox ~] # nano /etc/ntp.conf # Serwery skonfigurowane podczas instalacji: serwer 192.168.10.1 iburst # Więcej informacji można znaleźć na stronach podręcznika man: # ntp.conf (5), ntp_acc (5), ntp_auth (5), ntp_clock (5), ntp_misc (5), ntp_mon (5). driftfile / var / lib / ntp / drift # Zezwalaj na synchronizację ze źródłem czasu, ale nie # zezwalaj źródłu na przeglądanie lub modyfikowanie tej usługi ogranicz domyślną nomodify notrap nopeer noquery # Zezwalaj na cały dostęp do interfejsu Ograniczenie pętli zwrotnej 127.0.0.1 ogranicz :: 1 # Ogranicz trochę mniej do komputerów w sieci lokalnej. ogranicz 192.168.10.0 maska ​​255.255.255.0 nomodify notrap # Użyj publicznych serwerów projektu pool.ntp.org # Jeśli chcesz dołączyć do projektu, odwiedź # (http://www.pool.ntp.org/join.html). #broadcast 192.168.10.255 autokey # serwer broadcast broadcastclient # klient rozgłoszeniowy #broadcast 224.0.1.1 autokey # serwer multiemisji #multicastclient 224.0.1.1 # klient multiemisji #manycastserver 239.255.254.254 # serwer manycast #manycastclient 239.255.254.254 autokey # manycast client broadcast 192.168.10.255. 4 # Włącz publiczną kryptografię. #cryptoludesefile / etc / ntp / crypto / pw # Plik kluczy zawierający klucze i identyfikatory kluczy # używany podczas pracy z kluczami symetrycznymi klucze kryptograficzne / etc / ntp / keys # Określ identyfikatory zaufanych kluczy. #trustedkey 8 42 8 # Określ identyfikator klucza, który ma być używany z narzędziem ntpdc. #requestkey 8 # Określ identyfikator klucza, który ma być używany z narzędziem ntpq. #controlkey 2013 # Włącz zapisywanie rejestrów statystyk. #statistics clockstats cryptostats loopstats peerstats # Wyłącz monitor secesji, aby zapobiec wzmocnieniu # ataków przy użyciu polecenia ntpdc monlist, gdy domyślne # ograniczenie nie zawiera flagi noquery. Przeczytaj CVE-5211-XNUMX #, aby uzyskać więcej informacji. # Uwaga: Monitor nie jest wyłączany za pomocą flagi ograniczonego ograniczenia. wyłącz monitor

Włączamy, uruchamiamy i sprawdzamy usługę NTP

[root @ linuxbox ~] # systemctl status ntpd
● ntpd.service - Załadowano usługę czasu sieciowego: załadowano (/usr/lib/systemd/system/ntpd.service; wyłączone; ustawienie dostawcy: wyłączone) Aktywne: nieaktywne (nieaktywne)

[root @ linuxbox ~] # systemctl włącz ntpd
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/ntpd.service do /usr/lib/systemd/system/ntpd.service.

[root @ linuxbox ~] # systemctl start ntpd
[root @ linuxbox ~] # systemctl status ntpd

[root @ linuxbox ~] # systemctl status ntpdntpd.service - Usługa czasu sieci
   Załadowany: załadowany (/usr/lib/systemd/system/ntpd.service; włączony; preset dostawcy: wyłączony) Aktywny: aktywny (działa) od pt. 2017 04:14:15 EDT; 51 s temu Proces: 08 ExecStart = / usr / sbin / ntpd -u ntp: ntp $ OPTIONS (kod = wyjście, stan = 1 / SUCCESS) Główny PID: 1307 (ntpd) CGroup: /system.slice/ntpd.service └─ 0 / usr / sbin / ntpd -u ntp: ntp -g

Ntp i zapora

[root @ linuxbox ~] # firewall-cmd --get-active-zones
zewnętrzny
  interfejsy: ens34
publiczny
  interfejsy: ens32

[root @ linuxbox ~] # firewall-cmd --zone = public --add-port = 123 / udp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --reload
sukces

Włączamy i konfigurujemy Dnsmasq

Jak widzieliśmy w poprzednim artykule z serii Small Business Networks, Dnsamasq jest instalowany domyślnie na serwerze infrastruktury CentOS 7.

[root @ linuxbox ~] # systemctl status dnsmasq
● dnsmasq.service - serwer buforujący DNS. Załadowano: załadowano (/usr/lib/systemd/system/dnsmasq.service; wyłączone; ustawienie dostawcy: wyłączone) Aktywne: nieaktywne (nieaktywne)

[root @ linuxbox ~] # systemctl włącz dnsmasq
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/dnsmasq.service do /usr/lib/systemd/system/dnsmasq.service.

[root @ linuxbox ~] # systemctl start dnsmasq
[root @ linuxbox ~] # systemctl status dnsmasq
● dnsmasq.service - serwer buforujący DNS. Załadowano: załadowano (/usr/lib/systemd/system/dnsmasq.service; włączone; ustawienie dostawcy: wyłączone) Aktywne: aktywne (działa) od pt. 2017 04:14:16 EDT; 21 s temu Główny PID: 18 (dnsmasq) CGroup: /system.slice/dnsmasq.service └─4 / usr / sbin / dnsmasq -k

[root @ linuxbox ~] # mv /etc/dnsmasq.conf /etc/dnsmasq.conf.original

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
# ------------------------------------------------- ------------------ # OPCJE OGÓLNE # ---------------------------- - -------------------------------------- domain-required # Nie przekazuj nazw bez domeny part fałszywe-priv # Nie przekazuj adresów w nie kierowanej przestrzeni expand-hosts # Automatycznie dodaj domenę do interfejsu hosta = ens32 # Porządek ścisłej kolejności interfejsu LAN # Kolejność, w jakiej należy odpytywać plik /etc/resolv.conf conf-dir = / etc /dnsmasq.d domain = desdelinux.fan # Adres nazwy domeny = / time.windows.com / 192.168.10.5 # Wysyła pustą opcję wartości WPAD. Wymagane dla klientów # Windos 7 i nowszych, aby zachowywały się poprawnie. ;-) dhcp-option = 252, "\ n" # Plik, w którym zadeklarujemy HOSTY, które będą "zbanowane" addn-hosts = / etc / banner_add_hosts local = / desdelinux.fan / # ------- --- ----------------------------------------------- --- ------- # REGISTROSCNAMEMXTXT # ------------------------------------- --- --------------------------- # Ten typ rejestracji wymaga wpisu # w pliku / etc / hosts # np .: 192.168.10.5 .10 linuxbox.fromlinux.fan linuxbox # cname = ALIAS, REAL_NAME cname = mail.fromlinux.fan, linuxbox.fromlinux.fan # MX RECORDS # Zwraca rekord MX o nazwie „desdelinux.fan” przeznaczony # dla poczty.desdelinux komputer. wentylator i priorytet 10 mx-host = desdelinux.fan, mail.desdelinux.fan, 1 # Domyślnym miejscem docelowym dla rekordów MX, które są tworzone # przy użyciu opcji localmx, będzie: mx-target = mail.desdelinux.fan # Zwraca rekord MX wskazujący na cel mx dla WSZYSTKICH # maszyn lokalnych localmx # rekordów TXT. Możemy również zadeklarować rekord SPF txt-record = desdelinux.fan, "v = spf4 a -all" txt-record = desdelinux.fan, "DesdeLinux, twój blog poświęcony Wolnemu oprogramowaniu" # -------- - ------------------------------------------------- - -------- # ZAKRES I OPCJE # ------------------------------------ --- ---------------------------- # Zakres IPv1 i czas dzierżawy od 29 do 192.168.10.30,192.168.10.250,8 dotyczą serwerów i innych potrzeb dhcp -zakres = 222h dhcp-lease-max = 150 # Maksymalna liczba adresów do wydzierżawienia # domyślnie wynosi 6 # zakres IPV1234 # zakres dhcp = 1,255.255.255.0 ::, tylko ra # Opcje dla RANGE # OPCJE dhcp-option = 3,192.168.10.5 # NETMASK dhcp-option = 6,192.168.10.5 15 # ROUTER GATEWAY dhcp-option = 19,1 # Serwery DNS dhcp-option = 28,192.168.10.255, desdelinux.fan # Nazwa domeny DNS dhcp-option = 42,192.168.10.5, XNUMX # opcja ip-forwarding ON dhcp-option = XNUMX # BROADCAST dhcp-option = XNUMX # NTP dhcp-authoritative # Autorytatywne DHCP w podsieci # -------------- --- --------------- ----------------------------------- # Jeśli chcesz przechowywać w / var / log / messages, plik dziennika z zapytań # odkomentuj wiersz poniżej # --------------------------------------- - --------------------------
# log-zapytania
# KONIEC pliku /etc/dnsmasq.conf # --------------------------------------- ----------------------------

Tworzymy plik / etc / banner_add_hosts

[root @ linuxbox ~] # nano / etc / banner_add_hosts
192.168.10.5 windowsupdate.com 192.168.10.5 ctldl.windowsupdate.com 192.168.10.5 ocsp.verisign.com 192.168.10.5 csc3-2010-crl.verisign.com 192.168.10.5 www.msftncsi.com 192.168.10.5 ipv6.msftncsi.com 192.168.10.5 teredo.ipv6.microsoft.com 192.168.10.5 ds.download.windowsupdate.com 192.168.10.5 download.microsoft.com 192.168.10.5 fe2.update.microsoft.com 192.168.10.5 crl.microsoft.com 192.168.10.5 www .download.windowsupdate.com 192.168.10.5 win8.ipv6.microsoft.com 192.168.10.5 spynet.microsoft.com 192.168.10.5 spynet1.microsoft.com 192.168.10.5 spynet2.microsoft.com 192.168.10.5 spynet3.microsoft.com 192.168.10.5. 4 spynet192.168.10.5.microsoft.com 5 spynet192.168.10.5.microsoft.com 15 office192.168.10.5client.microsoft.com 192.168.10.5 addons.mozilla.org XNUMX crl.verisign.com

Stałe adresy IP

[root @ linuxbox ~] # nano / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.5 linuxbox.fromlinux.fan linuxbox 192.168.10.1 sysadmin.fromlinux.fan sysadmin

Konfigurujemy plik /etc/resolv.conf - rezolwer

[root @ linuxbox ~] # nano /etc/resolv.conf
search desdelinux.fan nameserver 127.0.0.1 # Dla zewnętrznych lub spoza domeny zapytań DNS desdelinux.fan # local = / desdelinux.fan / nameserver 8.8.8.8

Sprawdzamy składnię pliku dnsmasq.confuruchamiamy i sprawdzamy stan usługi

[root @ linuxbox ~] # dnsmasq --test
dnsmasq: sprawdzanie składni OK.
[root @ linuxbox ~] # systemctl zrestartuj dnsmasq
[root @ linuxbox ~] # systemctl status dnsmasq

Dnsmasq i zapora ogniowa

[root @ linuxbox ~] # firewall-cmd --get-active-zones
zewnętrzny
  interfejsy: ens34
publiczny
  interfejsy: ens32

usługa domena o Serwer nazw domen (dns). Protokół trzepnąć «IP z szyfrowaniem«

[root @ linuxbox ~] # firewall-cmd --zone = public --add-port = 53 / tcp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --zone = public --add-port = 53 / udp --permanent
sukces

Dnsmasq wysyła zapytania do zewnętrznych serwerów DNS

[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 53 / tcp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 53 / udp --permanent
sukces

usługa bootuje o Serwer BOOTP (dhcp). Protokół ippc «Internetowy rdzeń pakietu Pluribus«

[root @ linuxbox ~] # firewall-cmd --zone = public --add-port = 67 / tcp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --zone = public --add-port = 67 / udp --permanent
sukces

[root @ linuxbox ~] # firewall-cmd --reload
sukces

[root @ linuxbox ~] # firewall-cmd --info-zone public public (aktywny)
  target: domyślny icmp-block-inversion: brak interfejsów: en32 źródła: usługi: dhcp dns ntp ssh porty: 67 / tcp 53 / udp 123 / udp 67 / udp 53 / tcp protokoły: masquerade: brak forward-portów: sourceports: icmp -blocks: bogate zasady:

[root @ linuxbox ~] # firewall-cmd --info-zone zewnętrzne zewnętrzne (aktywne)
  target: default icmp-block-inversion: no interfaces: ens34 sources: services: dns porty: 53 / udp 53 / tcp protocols: masquerade: tak forward-ports: sourceports: icmp-blocks: parametr-problem przekierowanie router-anonsowanie router- bogate zasady pozyskiwania źródła-hartowania:

Jeśli chcemy użyć interfejsu graficznego do konfiguracji Firewall w CentOS 7, zajrzymy do menu ogólnego - będzie to zależało od środowiska pulpitu, w którym podmenu się pojawi - aplikacji «Firewall», uruchamiamy ją i po wejściu użytkownika hasło korzeń, uzyskamy dostęp do interfejsu programu jako takiego. W MATE pojawia się w menu «System »->„ Administracja ”->„ Zapora ”.

Wybieramy obszar «publiczny»I autoryzujemy Usługi, które chcemy opublikować w sieci LAN, którymi do tej pory są dhcp, dns, ntp i ssh. Po wybraniu usług, sprawdzeniu, czy wszystko działa poprawnie, musimy wprowadzić zmiany w Runtime na Permanent. W tym celu przechodzimy do menu Opcje i wybieramy opcję «Czas pracy do stałego".

Później wybieramy obszar «zewnętrzny»I sprawdzamy, czy porty niezbędne do komunikacji z Internetem są otwarte. NIE publikuj Usług w tej Strefie, chyba że dobrze wiemy, co robimy!.

Nie zapomnijmy o wprowadzeniu zmian na stałe za pomocą opcji «Czas pracy do stałego»I załaduj ponownie demona FirewallD, za każdym razem, gdy korzystamy z tego potężnego narzędzia graficznego.

NTP i Dnsmasq z klienta Windows 7

Synchronizacja z NTP

zewnętrzny

Dzierżawiony adres IP

Microsoft Windows [wersja 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone. C: \ Users \ buzz> ipconfig / all Nazwa hosta konfiguracji IP systemu Windows. . . . . . . . . . . . : SIEDEM
   Sufiks podstawowego DNS. . . . . . . :
   Typ węzła. . . . . . . . . . . . : Hybrydowy routing IP włączony. . . . . . . . : Brak włączonego serwera proxy WINS. . . . . . . . : Brak listy wyszukiwania sufiksów DNS. . . . . . : desdelinux.fan Adapter Ethernet Połączenie lokalne: sufiks DNS specyficzny dla połączenia. : desdelinux.fan Opis. . . . . . . . . . . : Adres fizyczny połączenia sieciowego Intel (R) PRO / 1000 MT. . . . . . . . . : 00-0C-29-D6-14-36 DHCP włączone. . . . . . . . . . . : Tak Autokonfiguracja włączona. . . . : I to jest
   Adres IPv4. . . . . . . . . . . : 192.168.10.115 (preferowany)
   Maska podsieci. . . . . . . . . . . : 255.255.255.0 Uzyskano dzierżawę. . . . . . . . . . : Piątek, 14 kwietnia 2017 5:12:53 Dzierżawa wygasa. . . . . . . . . . : Sobota, 15 kwietnia 2017 1:12:53 Brama domyślna. . . . . . . . . : 192.168.10.1 Serwer DHCP. . . . . . . . . . . : 192.168.10.5 Serwery DNS. . . . . . . . . . . : 192.168.10.5 NetBIOS przez Tcpip. . . . . . . . : Włączony adapter tunelu Połączenie lokalne * 9: Stan nośnika. . . . . . . . . . . : Media odłączone Sufiks DNS specyficzny dla połączenia. : Opis. . . . . . . . . . . : Adres fizyczny adaptera tunelowania Microsoft Teredo. . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP włączone. . . . . . . . . . . : Brak włączonej automatycznej konfiguracji. . . . : Tak Adapter tunelu isatap.fromlinux.fan: Media State. . . . . . . . . . . : Media odłączone Sufiks DNS specyficzny dla połączenia. : desdelinux.fan Opis. . . . . . . . . . . : Adres fizyczny adaptera Microsoft ISATAP nr 2. . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP włączone. . . . . . . . . . . : Brak włączonej automatycznej konfiguracji. . . . : Tak C: \ Users \ buzz>

Wskazówka

Ważną wartością w klientach Windows jest „Sufiks podstawowej nazwy domeny” lub „Sufiks głównego połączenia”. Gdy kontroler domeny firmy Microsoft nie jest używany, system operacyjny nie przypisuje mu żadnej wartości. Jeśli mamy do czynienia z przypadkiem podobnym do opisanego na początku artykułu i chcemy wyraźnie zadeklarować tę wartość, musimy postępować zgodnie z tym, co pokazano na poniższym obrazku, zaakceptować zmiany i zrestartować klienta.

 

Jeśli znowu uciekniemy CMD -> ipconfig / all uzyskamy:

Microsoft Windows [wersja 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone. C: \ Users \ buzz> ipconfig / all Nazwa hosta konfiguracji IP systemu Windows. . . . . . . . . . . . : SIEDEM
   Sufiks podstawowego DNS. . . . . . . : desdelinux.fan
   Typ węzła. . . . . . . . . . . . : Hybrydowy routing IP włączony. . . . . . . . : Brak włączonego serwera proxy WINS. . . . . . . . : Brak listy wyszukiwania sufiksów DNS. . . . . . : desdelinux.fan

Pozostałe wartości pozostają niezmienione

Sprawdza DNS

buzz @ sysadmin: ~ $ host spynet.microsoft.com
spynet.microsoft.com ma adres 127.0.0.1 Host spynet.microsoft.com nie znaleziono: 5 (ODMOWA) Spynet.microsoft.com poczta jest obsługiwana przez 1 mail.fromlinux.fan.

buzz @ sysadmin: ~ $ host linuxbox
linuxbox.desdelinux.fan ma adres 192.168.10.5 linuxbox.desdelinux.fan poczta jest obsługiwana przez 1 mail.desdelinux.fan.

buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinux.fan ma adres 192.168.10.1 sysadmin.desdelinux.fan poczta jest obsługiwana przez 1 mail.desdelinux.fan.

buzz @ sysadmin: ~ $ host mail
mail.desdelinux.fan jest aliasem dla linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ma adres 192.168.10.5 linuxbox.desdelinux.fan poczta jest obsługiwana przez 1 mail.desdelinux.fan.

Instalujemy -tylko do testów- autorytatywny serwer DNS NSD w formacie sysadmin.fromlinux.fani dołączamy adres IP 172.16.10.1 w archiwum / Etc / resolv.conf zespołu linuxbox.fromlinux.fan, aby sprawdzić, czy Dnsmasq poprawnie wykonywał swoją funkcję Forwardera. Piaskownice na serwerze NSD to favt.org y toujague.org. Wszystkie adresy IP są fikcyjne lub pochodzą z sieci prywatnych.

Jeśli wyłączymy interfejs WAN ens34 za pomocą polecenia ifdown ens34, Dnsmasq nie będzie w stanie wysyłać zapytań do zewnętrznych serwerów DNS.

[buzz @ linuxbox ~] $ sudo ifdown ens34 [buzz @ linuxbox ~] $ host -t mx toujague.org
Nie znaleziono hosta toujague.org: 3 (NXDOMAIN)

[buzz @ linuxbox ~] $ host pizzapie.favt.org
Nie znaleziono hosta pizzapie.favt.org: 3 (NXDOMAIN)

Włączmy interfejs ens34 i sprawdźmy jeszcze raz:

[buzz @ linuxbox ~] $ sudo ifup ens34
buzz @ linuxbox ~] $ host pizzapie.favt.org
pizzapie.favt.org to alias dla paisano.favt.org. paisano.favt.org ma adres 172.16.10.4

[buzz @ linuxbox ~] $ host pizzapie.toujague.org
Nie znaleziono hosta pizzas.toujague.org: 3 (NXDOMAIN)

[buzz @ linuxbox ~] $ host poblacion.toujague.org
Adres poblacion.toujague.org ma adres 169.18.10.18

[buzz @ linuxbox ~] $ host -t NS favt.org
Serwer nazw favt.org ns1.favt.org. Serwer nazw favt.org ns2.favt.org.

[buzz @ linuxbox ~] $ host -t NS toujague.org
Serwer nazw toujague.org ns1.toujague.org. Serwer nazw toujague.org ns2.toujague.org.

[buzz @ linuxbox ~] $ host -t MX toujague.org
Poczta toujague.org jest obsługiwana przez 10 mail.toujague.org.

Porozmawiajmy z sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
szukaj z linux.fan nameserver 192.168.10.5

xeon @ sysadmin: ~ $ host mail.toujague.org
mail.toujague.org ma adres 169.18.10.19

Dnsmasq działa jak Spedytor poprawnie

Kałamarnica

W książce w formacie PDF «Konfiguracja serwerów Linux»Data sporządzenia: 25 lipca 2016 r. Przez autora Joel Barrios Duenas (darkshram@gmail.com - http://www.alcancelibre.org/), tekst, do którego odwoływałem się w poprzednich artykułach, jest cały rozdział poświęcony Podstawowe opcje konfiguracji Squid.

Ze względu na znaczenie usługi Web - Proxy, odtwarzamy wprowadzenie dotyczące Squid w wyżej wymienionej książce:

105.1. Wprowadzenie.

105.1.1. Co to jest serwer pośredniczący (proxy)?

Termin w języku angielskim "Pełnomocnik" ma jednak bardzo ogólne i jednocześnie niejednoznaczne znaczenie
jest niezmiennie uważany za synonim pojęcia "Pośrednik". Zwykle jest tłumaczone, w ścisłym tego słowa znaczeniu, jako delegat o wzmocnione (ten, który ma władzę nad drugim).

Un Serwer pośredniczący Jest definiowany jako komputer lub urządzenie, które oferuje usługę sieciową polegającą na umożliwieniu klientom nawiązywania pośrednich połączeń sieciowych z innymi usługami sieciowymi. Podczas tego procesu następuje:

  • Klient łączy się z Serwer proxy.
  • Klient żąda połączenia, pliku lub innego zasobu dostępnego na innym serwerze.
  • Serwer pośredniczący udostępnia zasób, łącząc się z określonym serwerem
    lub serwowanie go z pamięci podręcznej.
  • W niektórych przypadkach Serwer pośredniczący może zmienić żądanie klienta lub plik
    odpowiedź serwera do różnych celów.

L Serwery proxy są generalnie stworzone do jednoczesnej pracy jako ściana przeciwpożarowa działająca w Poziom sieci, działając jako filtr pakietów, jak w przypadku iptables lub działając w Poziom aplikacji, kontrolując różne usługi, jak ma to miejsce w przypadku Opakowanie TCP. W zależności od kontekstu ściana ogniowa jest również znana jako BPD o Bzamówienie Protacja Dczy po prostu filtr pakietów.

Typowa aplikacja Serwery proxy ma funkcjonować jako cache zawartości sieciowej (głównie HTTP), udostępniając w pobliżu klientów cache stron i plików dostępnych w sieci na zdalnych serwerach HTTP, umożliwiając klientom sieci lokalnej dostęp do nich w szybszym i bardziej niezawodny.

Gdy zostanie odebrane żądanie dotyczące określonego zasobu sieciowego w pliku URL (Umundur Rźródło Locator) Serwer pośredniczący poszukaj wyniku URL wewnątrz pamięci podręcznej. Jeśli zostanie znaleziony, plik Serwer pośredniczący Odpowiada klientowi, niezwłocznie dostarczając żądaną treść. Jeśli żądanej zawartości nie ma w pamięci podręcznej, plik Serwer pośredniczący pobierze go ze zdalnego serwera, dostarczy do klienta, który go zażądał i zachowa kopię w pamięci podręcznej. Zawartość pamięci podręcznej jest następnie usuwana za pomocą algorytmu wygaśnięcia zgodnie z wiekiem, rozmiarem i historią odpowiedzi na zapytania (trafienia) (przykłady: LRU, LFUDA y GDSF).

Serwery proxy dla treści sieciowych (serwery proxy sieci Web) mogą również działać jako filtry wyświetlanej treści, stosując zasady cenzury według arbitralnych kryteriów..

Wersja Squid, którą zainstalujemy to 3.5.20-2.el7_3.2 z repozytorium aktualizacje.

instalacja

[root @ linuxbox ~] # yum install squid

[root @ linuxbox ~] # ls / etc / squid /
cachemgr.conf errorpage.css.default  kałamarnica.conf
cachemgr.conf.default mime.conf              squid.conf.default
errorpage.css mime.conf.default

[root @ linuxbox ~] # systemctl włącz squid

Ważny

  • Głównym celem tego artykułu jest autoryzacja lokalnych użytkowników do łączenia się z Squidem z innych komputerów podłączonych do sieci LAN. Ponadto zaimplementuj rdzeń serwera, do którego zostaną dodane inne usługi. Nie jest to artykuł poświęcony Kałamarnicy jako takiej.
  • Aby zapoznać się z opcjami konfiguracyjnymi Squid, przeczytaj plik /usr/share/doc/squid-3.5.20/squid.conf.documented, który ma 7915 linii.

SELinux i Squid

[root @ linuxbox ~] # getsebool -a | kalmary grep
squid_connect_any -> on squid_use_tproxy -> off

[root @ linuxbox ~] # setsebool -P squid_connect_any = on

konfiguracja

[root @ linuxbox ~] # nano /etc/squid/squid.conf
# LAN acl localnet src 192.168.10.0/24 acl SSL_ports port 443 21
acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # niezarejestrowane porty acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT metoda CONNECT # Odmawiamy zapytań o niezabezpieczone porty http_access deny! Safe_ports # Odmawiamy metody CONNECT dla niezabezpieczonych portów http_access deny CONNECT! SSL_ports # Dostęp do menedżera pamięci podręcznej tylko z hosta lokalnego http_access zezwalaj menedżerowi hosta lokalnego http_access deny manager # Zdecydowanie zalecamy, aby poniższe informacje nie były komentowane, aby chronić niewinne # aplikacje internetowe działające na serwerze proxy, dla których jedynym #, który może uzyskać dostęp do usług na serwerze „localhost” jest lokalny użytkownik http_access deny to_localhost # # TUTAJ WPISZ WŁASNE REGUŁY, ABY ZEZWOLIĆ NA DOSTĘP SWOIM KLIENTOM # # autoryzacja PAM
auth_param program podstawowy / usr / lib64 / squid / basic_pam_auth
auth_param basic children 5 auth_param basic realm z linux.fan auth_param basic credentialsttl 2 godziny auth_param basic caseensitive off # Uwierzytelnianie ACL jest wymagane, aby uzyskać dostęp do Squid Enthusiasts proxy_auth WYMAGANE # Zezwalaj na dostęp uwierzytelnionym użytkownikom # przez PAM http_access deny! acl ftp proto FTP http_access zezwalaj na ftp http_access zezwalaj na dostęp lokalny http_access zezwalaj na localhost # Odmawiamy dostępu do serwera proxy http_access deny all # Squid normalnie nasłuchuje na porcie 3128 http_port 3128 # Pozostawiamy "coredumps" w pierwszym katalogu coredump_dir / var / spool / squid # # Dodaj dowolny z własnych wpisów refresh_pattern powyżej tych. # refresh_pattern ^ ftp: 1440 20% 10080 refresh_pattern ^ gopher: 1440 0% 1440 refresh_pattern -i (/ cgi-bin / | \?) 0 0% 0 refresh_pattern. 0 20% 4320 cache_mem 64 MB # Pamięć podręczna memory_replacement_policy lru cache_replacement_policy heap LFUDA cache_dir aufs / var / spool / squid 4096 16 maximum_object_size 256 MB cache_swap_low 4 cache_swap_highux 85 cache_danu.nazwa_deskuxdesux.cache_danu.

Sprawdzamy składnię pliku /etc/squid/squid.conf

[root @ linuxbox ~] # squid -k parse
2017/04/16 15:45: 10 | Uruchamianie: inicjowanie schematów uwierzytelniania ...
 2017/04/16 15:45: 10 | Startup: Initialized Authentication Scheme 'basic' 2017/04/16 15:45:10 | Startup: Initialized Authentication Scheme 'digest' 2017/04/16 15:45:10 | Startup: Initialized Authentication Scheme 'negocjuj' 2017/04/16 15:45:10 | Uruchomienie: Zainicjowany schemat uwierzytelniania 'ntlm' 2017/04/16 15:45:10 | Uruchamianie: zainicjowane uwierzytelnianie.
 2017/04/16 15:45: 10 | Przetwarzanie pliku konfiguracyjnego: /etc/squid/squid.conf (głębokość 0) 2017/04/16 15: 45: 10 | Przetwarzanie: acl localnet src 192.168.10.0/24 2017/04/16 15:45: 10 | Przetwarzanie: acl SSL_ports port 443 21 2017/04/16 15:45: 10 | Przetwarzanie: port ACL Safe_ports 80 # http 2017/04/16 15:45:10 | Przetwarzanie: acl Safe_ports port 21 # ftp 2017/04/16 15:45:10 | Przetwarzanie: port ACL Safe_ports 443 # https 2017/04/16 15:45:10 | Przetwarzanie: port acl Safe_ports 70 # gopher 2017/04/16 15:45:10 | Przetwarzanie: acl Safe_ports port 210 # wais 2017/04/16 15:45:10 | Przetwarzanie: acl Safe_ports port 1025-65535 # niezarejestrowane porty 2017/04/16 15: 45: 10 | Przetwarzanie: port ACL Safe_ports 280 # http-mgmt 2017/04/16 15: 45: 10 | Przetwarzanie: port ACL Safe_ports 488 # gss-http 2017/04/16 15: 45: 10 | Przetwarzanie: port ACL Safe_ports 591 # filemaker 2017/04/16 15:45:10 | Przetwarzanie: acl Safe_ports port 777 # multiling http 2017/04/16 15:45:10 | Przetwarzanie: acl CONNECT metoda CONNECT 2017/04/16 15:45: 10 | Przetwarzanie: http_access deny! Safe_ports 2017/04/16 15:45:10 | Przetwarzanie: http_access deny CONNECT! SSL_ports 2017/04/16 15: 45: 10 | Przetwarzanie: http_access zezwalaj menedżerowi hostów lokalnych 2017/04/16 15:45:10 | Przetwarzanie: http_access deny manager 2017/04/16 15:45:10 | Przetwarzanie: http_access deny to_localhost 2017/04/16 15:45:10 | Przetwarzanie: auth_param program podstawowy / usr / lib64 / squid / basic_pam_auth 2017/04/16 15: 45: 10 | Przetwarzanie: auth_param basic children 5 2017/04/16 15:45: 10 | Przetwarzanie: auth_param basic realm z linux.fan 2017/04/16 15: 45: 10 | Przetwarzanie: auth_param basic credentialsttl 2 godziny 2017/04/16 15:45:10 | Przetwarzanie: auth_param basic caseensitive off 2017/04/16 15:45:10 | Przetwarzanie: ACL Entuzjaści proxy_auth WYMAGANE 2017/04/16 15: 45: 10 | Przetwarzanie: http_access deny! Entuzjaści 2017/04/16 15:45:10 | Przetwarzanie: acl ftp proto FTP 2017/04/16 15:45:10 | Przetwarzanie: http_access zezwalaj na ftp 2017/04/16 15:45: 10 | Przetwarzanie: http_access allow localnet 2017/04/16 15: 45: 10 | Przetwarzanie: http_access zezwalaj na localhost 2017/04/16 15:45:10 | Przetwarzanie: http_access deny all 2017/04/16 15:45:10 | Przetwarzanie: http_port 3128 2017/04/16 15:45:10 | Przetwarzanie: coredump_dir / var / spool / squid 2017/04/16 15: 45: 10 | Przetwarzanie: refresh_pattern ^ ftp: 1440 20% 10080 2017/04/16 15: 45: 10 | Przetwarzanie: refresh_pattern ^ gopher: 1440 0% 1440 2017/04/16 15: 45: 10 | Przetwarzanie: refresh_pattern -i (/ cgi-bin / | \?) 0 0% 0 2017/04/16 15: 45: 10 | Przetwarzanie: refresh_pattern. 

Dostosowujemy uprawnienia w / usr / lib64 / squid / basic_pam_auth

[root @ linuxbox ~] # chmod u + s / usr / lib64 / squid / basic_pam_auth

Tworzymy katalog cache

# Na wszelki wypadek ... [root @ linuxbox ~] # usługa squid stop
Przekierowanie do / bin / systemctl stop squid.service

[root @ linuxbox ~] # squid -z
[root @ linuxbox ~] # 2017/04/16 15:48:28 kid1 | Ustaw bieżący katalog na / var / spool / squid 2017/04/16 15:48:28 kid1 | Tworzenie brakujących katalogów wymiany 2017/04/16 15:48:28 kid1 | / var / spool / squid istnieje 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 00 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 01 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 02 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 03 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 04 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 05 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 06 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 07 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 08 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 09 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 0A 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 0B 2017/04/16 15:48:28 kid1 | Tworzenie katalogów w / var / spool / squid / 0C 2017/04/16 15:48:29 kid1 | Tworzenie katalogów w / var / spool / squid / 0D 2017/04/16 15:48:29 kid1 | Tworzenie katalogów w / var / spool / squid / 0E 2017/04/16 15:48:29 kid1 | Tworzenie katalogów w / var / spool / squid / 0F

W tym momencie, jeśli zajmie trochę czasu, aby zwrócić wiersz polecenia - który nigdy nie został zwrócony - naciśnij Enter.

[root @ linuxbox ~] # service squid start
[root @ linuxbox ~] # restart usługi squid
[root @ linuxbox ~] # status kałamarnicy usługi
Przekierowywanie do / bin / systemctl status squid.service ● squid.service - Proxy buforowania Squid Załadowano: załadowano (/usr/lib/systemd/system/squid.service; wyłączone; ustawienie dostawcy: wyłączone) Aktywne: aktywne (działa) od domeny 2017-04-16 15:57:27 EDT; 1 s temu Proces: 2844 ExecStop = / usr / sbin / squid -k shutdown -f $ SQUID_CONF (kod = wyjście, stan = 0 / SUCCESS) Proces: 2873 ExecStart = / usr / sbin / squid $ SQUID_OPTS -f $ SQUID_CONF (kod = wyjście, status = 0 / SUKCES) Proces: 2868 ExecStartPre = / usr / libexec / squid / cache_swap.sh (kod = wyjście, status = 0 / SUCCESS) Główny PID: 2876 (squid) CGroup: /system.slice/squid .service └─2876 / usr / sbin / squid -f /etc/squid/squid.conf 16 kwietnia 15:57:27 linuxbox systemd [1]: Uruchamianie proxy buforowania Squid ... 16 kwietnia 15:57:27 linuxbox systemd [1]: Uruchomiono buforowanie proxy Squid. 16 kwietnia 15:57:27 linuxbox squid [2876]: Squid Rodzic: rozpocznie 1 dzieci 16 kwietnia 15:57:27 linuxbox squid [2876]: Squid Rodzic: (squid-1) process 2878 ... ed 16 kwietnia 15 : 57: 27 linuxbox squid [2876]: Squid Nadrzędny: (squid-1) proces 2878 ... 1 Podpowiedź: Niektóre linie zostały elipsy, użyj -l, aby wyświetlić w całości

[root @ linuxbox ~] # cat / var / log / messages | kalmary grep

Poprawki zapory

Musimy również otworzyć się w Strefie «zewnętrzny„porty 80HTTP y 443 HTTPS aby Squid mógł komunikować się z Internetem.

[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 80 / tcp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 443 / tcp --permanent
sukces
[root @ linuxbox ~] # firewall-cmd --reload
sukces
[root @ linuxbox ~] # firewall-cmd --info-zone zewnętrzna
zewnętrzny (aktywny) cel: domyślna inwersja bloku icmp: brak interfejsów: źródła ens34: usługi: porty dns: 443 / tcp 53 / udp 80 / tcp 53 / tcp
  protokoły: maskarada: tak forward-porty: sourceports: icmp-bloki: parametr-problem przekierowanie reklama routera ruter-pozyskiwanie źródła-wygaszanie bogate reguły:
  • Przejście do aplikacji graficznej nie jest bezczynne «Ustawienia zapory»I sprawdź, czy porty 443 tcp, 80 tcp, 53 tcp i 53 udp są otwarte dla tej strefy«zewnętrzny«, I że NIE opublikowaliśmy dla niej żadnego serwisu.

Uwaga na temat programu pomocniczego basic_pam_auth

Jeśli skonsultujemy się z instrukcją tego narzędzia za pośrednictwem człowiek basic_pam_auth Przeczytamy, że sam autor zdecydowanie zaleca przeniesienie programu do katalogu, w którym zwykli użytkownicy nie mają wystarczających uprawnień dostępu do narzędzia.

Z drugiej strony wiadomo, że przy takim schemacie autoryzacji poświadczenia są przesyłane w postaci zwykłego tekstu i nie jest to bezpieczne dla wrogich środowisk, czytaj otwarte sieci.

Jeff Yestrumskas poświęcić artykuł «Instrukcje: konfigurowanie bezpiecznego internetowego serwera proxy przy użyciu szyfrowania SSL, Squid Caching Proxy i uwierzytelniania PAM»Do kwestii zwiększenia bezpieczeństwa za pomocą tego schematu uwierzytelniania, aby można go było używać w potencjalnie wrogich sieciach otwartych.

Instalujemy httpd

Aby sprawdzić działanie Squid - i nawiasem mówiąc, Dnsmasq - zainstalujemy usługę httpd -Apache serwer WWW - co nie jest wymagane. W pliku odnoszącym się do Dnsmasq / etc / banner_add_hosts Deklarujemy witryny, które chcemy zbanować, i wyraźnie przypisujemy im ten sam adres IP, jaki mają pudełko z Linuksem. Dlatego jeśli zażądamy dostępu do którejkolwiek z tych witryn, strona główna domeny httpd.

[root @ linuxbox ~] # yum install httpd [root @ linuxbox ~] # systemctl włącz httpd
Utworzono dowiązanie symboliczne z /etc/systemd/system/multi-user.target.wants/httpd.service do /usr/lib/systemd/system/httpd.service.

[root @ linuxbox ~] # systemctl start httpd

[root @ linuxbox ~] # systemctl status httpd
● httpd.service - Załadowany serwer Apache HTTP Server: załadowany (/usr/lib/systemd/system/httpd.service; włączony; ustawienie dostawcy: wyłączony) Aktywny: aktywny (działa) od niedziela 2017-04-16 16:41: 35 EDT; 5 s temu Dokumenty: człowiek: httpd (8) człowiek: apachectl (8) Główny PID: 2275 (httpd) Stan: „Przetwarzanie żądań ...” CGroup: /system.slice/httpd.service ├─2275 / usr / sbin / httpd -DFOREGROUND ├─2276 / usr / sbin / httpd -DFOREGROUND ├─2277 / usr / sbin / httpd -DFOREGROUND ├─2278 / usr / sbin / httpd -DFOREGROUND ├─2279 / usr / sbin / httpd -DFOREGROUND └─2280 / usr / sbin / httpd -DFOREGROUND 16 kwietnia 16:41:35 linuxbox systemd [1]: Uruchamianie serwera Apache HTTP ... 16 kwietnia 16:41:35 linuxbox systemd [1]: Uruchomiono Serwer HTTP Apache.

SELinux i Apache

Apache ma kilka polityk do skonfigurowania w kontekście SELinux.

[root @ linuxbox ~] # getsebool -a | grep httpd
httpd_anon_write -> off httpd_builtin_scripting -> na httpd_can_check_spam -> off httpd_can_connect_ftp -> off httpd_can_connect_ldap -> off httpd_can_connect_mythtv -> off httpd_can_connect off_zabbix -> off httpd_can_connect_zabbix_workb_workb_workd_connect_workbconnect off_workbwork_ httpd_can_network_memcache -> off httpd_can_network_relay -> off httpd_can_sendmail -> off httpd_dbus_avahi -> off httpd_dbus_sssd -> off httpd_dontaudit_search_dirs -> off httpd_enable_cgi -> httpd_enable_offmirs -> httpd_enable_enable offpd_server_offmirs -> httpd_enablem offpd_server_enable_cgi -> offhpd_enablem off httpd_graceful_shutdown -> na httpd_manage_ipa -> off httpd_mod_auth_ntlm_winbind -> off httpd_mod_auth_pam -> off httpd_read_user_content -> off httpd_run_ipa -> off httpd_run_preupgrade -> off httpd_runcobshift offlimerfift_runco_stick> wyłączone httpd_runco ​​offlimift offlimift_runco_stick> wyłączone httpd_ssi_exec -> wyłączone httpd_sys_script_anon_write -> wyłączone httpd_tmp_exec -> wyłączone httpd_tty_comm - > wyłączone httpd_unified -> wyłączone httpd_use_cifs -> wyłączone httpd_use_fusefs -> wyłączone httpd_use_gpg -> wyłączone httpd_use_nfs -> wyłączone httpd_use_openstack -> wyłączone httpd_use_sasl -> wyłączone httpd_verify_dns -> wyłączone

Skonfigurujemy tylko następujące elementy:

Wyślij e-mail przez Apache

root @ linuxbox ~] # setsebool -P httpd_can_sendmail 1

Zezwól Apache na odczytywanie treści znajdujących się w katalogach domowych użytkowników lokalnych

root @ linuxbox ~] # setsebool -P httpd_read_user_content 1

Zezwalaj na administrowanie przez FTP lub FTPS dowolnym katalogiem zarządzanym przez
Apache lub pozwól Apache działać jako serwer FTP nasłuchujący żądań przez port FTP

[root @ linuxbox ~] # setsebool -P httpd_enable_ftp_server 1

Aby uzyskać więcej informacji, przeczytaj Konfiguracja serwerów Linux.

Sprawdzamy uwierzytelnianie

Pozostaje tylko otworzyć przeglądarkę na stacji roboczej i wskazać np http://windowsupdate.com. Sprawdzimy, czy żądanie zostało poprawnie przekierowane na stronę główną Apache w linuxboksie. W rzeczywistości każda nazwa witryny zadeklarowana w pliku / etc / banner_add_hosts zostaniesz przekierowany na tę samą stronę.

Świadczą o tym zdjęcia na końcu artykułu.

Zarządzanie użytkownikami

Robimy to za pomocą narzędzia graficznego «Zarządzanie użytkownikami»Do którego uzyskujemy dostęp poprzez menu System -> Administracja -> Zarządzanie użytkownikami. Za każdym razem, gdy dodajemy nowego użytkownika, tworzony jest jego folder / home / user automatycznie.

 

Kopie zapasowe

Klienci Linux

Potrzebujesz tylko zwykłej przeglądarki plików i wskaż, że chcesz się połączyć, na przykład: ssh: // buzz @ linuxbox / home / buzz a po wpisaniu hasła wyświetli się katalog Dom użytkownika brzęczenie.

Klienci Windows

W klientach Windows korzystamy z narzędzia WinSCP. Po zainstalowaniu używamy go w następujący sposób:

 

 

Proste, prawda?

streszczenie

Widzieliśmy, że możliwe jest użycie PAM do uwierzytelniania usług w małej sieci i w kontrolowanym środowisku całkowicie odizolowanym od rąk hakerzy. Wynika to głównie z faktu, że dane uwierzytelniające są przesyłane w postaci zwykłego tekstu i dlatego nie jest to schemat uwierzytelniania do stosowania w sieciach otwartych, takich jak lotniska, sieci Wi-Fi itp. Jest to jednak prosty mechanizm autoryzacji, łatwy do wdrożenia i konfiguracji.

Konsultowane źródła

Wersja PDF

Pobierz wersję PDF tutaj.

Aż do następnego artykułu!


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

9 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Łodzik powiedział

    Pan Fico wyleczył niesamowitą posadę. Dzięki za podzielenie się swoją wiedzą.

  2.   jaszczurka powiedział

    Wiem, jak trudno jest ułożyć artykuł o takim poziomie szczegółowości, z dość czytelnymi testami, a przede wszystkim z koncepcjami i strategiami dostosowanymi do standardów. Po prostu zdejmuję kapelusz przed tą perełką składek, bardzo dziękuję Fico za tak dobrą pracę.

    Nigdy nie łączyłem kalmara z uwierzytelnianiem PAM, ale posuwam się tak daleko, jak to tylko możliwe, aby wykonać tę praktykę w moim laboratorium ... Uścisk bramki i kontynuujemy !!

  3.   Federico powiedział

    NaTiluS: Bardzo dziękuję za komentarz i ocenę.
    Jaszczurka: Tobie też bardzo dziękuję za komentarz i ocenę.

    Czas i wysiłek poświęcony na tworzenie takich artykułów jest nagradzany tylko czytaniem i komentarzami tych, którzy odwiedzają społeczność FromLinux. Mam nadzieję, że przyda Ci się w codziennej pracy.
    Idziemy dalej!

  4.   anonimowy powiedział

    Niesamowity wkład obywateli !!!! Czytałem każdy z twoich artykułów i mogę powiedzieć, że nawet osoba, która nie ma zaawansowanej wiedzy na temat Wolnego Oprogramowania (jak ja), może śledzić ten znakomity artykuł krok po kroku. Twoje zdrowie !!!!

  5.   IWO powiedział

    Dzięki Fico za ten kolejny świetny artykuł; Jakby tego było mało w przypadku wszystkich już opublikowanych postów, w tym mamy usługę nieobjętą dotychczas serią PYMES i to jest niezwykle ważne: „SQUID” czyli Proxy sieci LAN. Nic, co dla nas, rodziny tych, którzy myślą, że jesteśmy „sysadminami”, nie ma tutaj innego dobrego materiału do studiowania i pogłębiania naszej wiedzy.

  6.   Federico powiedział

    Dziękuję wszystkim za komentarze. Następny artykuł dotyczy serwera czatu Prosody z uwierzytelnianiem w oparciu o lokalne poświadczenia (PAM) za pośrednictwem Cyrus-SASL, a usługa ta zostanie zaimplementowana na tym samym serwerze.

  7.   kenpachiRo17 powiedział

    W odpowiednim czasie rodaku !!!! Ogromny wkład nawet dla takich jak ja, którzy nie mają dużej wiedzy na temat Wolnego Oprogramowania i są pasjonatami nauki z tak znakomitymi artykułami jak ten. Śledziłem wasze uwagi i chciałbym wiedzieć, w którym artykule poleciłby Pan mi rozpocząć tę serię sieci MŚP, ponieważ czytam w nieuporządkowany sposób i myślę, że zawiera wiele cennych treści, które można przegapić Szczegół. Pozdrowienia i niech wspólna wiedza oraz oprogramowanie pozostaną bezpłatne !!

    1.    Federico powiedział

      Pozdrowienia, rodaku !!!. Radzę zacząć od początku, bo choć może się wydawać, że jest to długa droga, to jest to najkrótsza droga, aby się nie zgubić. W indeksie - który nie jest aktualizowany o dwa ostatnie artykuły - https://blog.desdelinux.net/redes-computadoras-las-pymes-introduccion/, ustaliliśmy zalecaną kolejność czytania serii, która zaczyna się od tego, jak to zrobić Stacja robocza, kontynuuje kilka postów poświęconych temu tematowi Wirtualizacja, wykonaj kilka kopert BIND, Isc-Dhcp-Server i Dnsmasqi tak dalej, aż przejdziemy do części dotyczącej wdrażania usług dla sieci MSP, w której obecnie jesteśmy. Mam nadzieję, że ci to pomoże.

      1.    kenpachiRo17 powiedział

        Cóż, będzie !!!! Od razu zaczynam serię od początku i czekam na nowe artykuły. Twoje zdrowie !!!!