CentOS 7- SMB 네트워크의 Squid + PAM 인증

시리즈의 일반 색인 : 중소기업을위한 컴퓨터 네트워크 : 소개

저자 : Federico Antonio Valdes Toujague
federitoujague@gmail.com
https://blog.desdelinux.net/author/fico

안녕 친구와 친구들!

기사 제목은 다음과 같아야합니다.«Centos 7에서 PAM 인증을 사용하는 MATE + NTP + Dnsmasq + 게이트웨이 서비스 + Apache + Squid -중소기업 네트워크«. 실용적인 이유로 우리는 그것을 줄입니다.

PAM을 사용하여 Linux 컴퓨터에서 로컬 사용자에 대한 인증을 계속합니다. 이번에는 동일한 컴퓨터에 저장된 인증 자격 증명을 사용하여 소규모 컴퓨터 네트워크에 Squid와 함께 프록시 서비스를 제공하는 방법을 살펴 보겠습니다. 서버가 실행 중입니다 오징어.

요즘에는 OpenLDAP, Red Hat의 Directory Server 389, Microsoft Active Directory 등에 대해 서비스를 인증하는 것이 매우 일반적인 관행이라는 것을 알고 있지만 먼저 간단하고 저렴한 솔루션을 거쳐 가장 복잡한 솔루션에 직면해야한다고 생각합니다. 우리는 단순한 것에서 복잡한 것으로 가야한다고 믿습니다.

단계

그것은 자유 소프트웨어의 사용을 지원하는 데 전념하는 재정 자원이 거의없는 소규모 조직이며 DesdeLinux.부채. 그들은 다양한 OS 애호가입니다 CentOS에 단일 사무실에 그룹화됩니다. 그들은 전문 서버가 아닌 워크 스테이션을 구입하여 "서버"역할을 할 전용으로 사용할 것입니다.

애호가는 OpenLDAP 서버 또는 Samba 4 AD-DC를 구현하는 방법에 대한 광범위한 지식이 없으며 Microsoft Active Directory 라이선스를 감당할 수 없습니다. 그러나 일상적인 작업을 위해 프록시를 통한 인터넷 액세스 서비스 (브라우징 속도 향상)와 가장 중요한 문서를 저장하고 백업 복사본으로 작업 할 수있는 공간이 필요합니다.

그들은 여전히 ​​대부분 합법적으로 취득한 Microsoft 운영 체제를 사용하지만 "서버"부터 시작하여 Linux 기반 운영 체제로 변경하려고합니다.

그들은 또한 현재 사용하고있는 Gmail, Yahoo, HotMail 등과 같은 서비스에서 적어도 출처로부터 독립하기 위해 자신의 메일 서버를 갖고 싶어합니다.

인터넷 앞의 방화벽 및 라우팅 규칙은 계약 된 ADSL 라우터에서이를 설정합니다.

인터넷에 서비스를 게시 할 필요가 없기 때문에 실제 도메인 이름이 없습니다.

GUI가없는 서버로서의 CentOS 7

그래픽 인터페이스가없는 서버의 새로 설치에서 시작하며 프로세스 중에 선택하는 유일한 옵션은«인프라 서버»이 시리즈의 이전 기사에서 본 것처럼.

초기 설정

[root @ linuxbox ~] # cat / etc / hostname 
리눅스 박스

[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.desdelinux.팬 리눅스박스

[root @ linuxbox ~] # 호스트 이름
리눅스 박스

[root @ linuxbox ~] # 호스트 이름 -f
리눅스박스.desdelinux.팬

[root @ linuxbox ~] # ip addr list
[root @ linuxbox ~] # ifconfig -a
[root @ linuxbox ~] # ls / sys / class / net /
ens32 ens34 로

네트워크 관리자를 비활성화합니다.

[root @ linuxbox ~] # systemctl stop NetworkManager

[root @ linuxbox ~] # systemctl NetworkManager 비활성화

[root @ linuxbox ~] # systemctl status NetworkManager
● NetworkManager.service-Network Manager로드 됨 :로드 됨 (/usr/lib/systemd/system/NetworkManager.service; 비활성화 됨, 공급 업체 사전 설정 : 활성화 됨) 활성 : 비활성 (죽음) 문서 : man : NetworkManager (8)

[root @ linuxbox ~] # ifconfig -a

네트워크 인터페이스를 구성합니다.

내부 네트워크에 연결된 Ens32 LAN 인터페이스

[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
ZONE = 공개

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

인터넷에 연결된 Ens34 WAN 인터페이스

[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 # ADSL 라우터는 # 다음 주소를 사용하여 이 인터페이스에 연결됩니다. IP 게이트웨이=172.16.10.1 도메인=desdelinux.fan DNS1=127.0.0.1
ZONE = 외부

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

저장소 구성

[root @ linuxbox ~] # cd /etc/yum.repos.d/
[root @ linuxbox ~] # 원본 mkdir
[root @ linuxbox ~] # mv Centos- * original /

[root @ linuxbox ~] # 나노 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
로드 된 플러그인 : fastermirror, langpacks 리포지토리 정리 : Base-Repo CentosPlus-Repo Epel-Repo Media-Repo : 업데이트 -Repo 모든 정리 가장 빠른 미러 목록 정리
[root @ linuxbox yum.repos.d] # yum 업데이트
로드 된 플러그인 : fastermirror, langpacks Base-Repo | 3.6kB 00:00 CentosPlus-Repo | 3.4 kB 00:00 Epel-Repo | 4.3 kB 00:00 Media-Repo | 3.6 kB 00:00 업데이트 -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 | 734kB 00:00 (5/9) : Media-Repo / primary_db | 5.3MB 00:00 (6/9) : CentosPlus-Repo / primary_db | 1.1MB 00:00 (7/9) : Updates-Repo / primary_db | 2.2MB 00:00 (8/9) : Epel-Repo / primary_db | 4.5MB 00:01 (9/9) : Base-Repo / primary_db | 5.6 MB 00:01 가장 빠른 미러 결정 업데이트 용으로 표시된 패키지 없음

메시지 "업데이트 표시된 패키지가 없습니다.»설치하는 동안 사용할 수있는 것과 동일한 로컬 저장소를 선언했기 때문에 표시됩니다.

MATE 데스크탑 환경을 갖춘 Centos 7

CentOS / Red Hat이 제공하는 그래픽 인터페이스와 함께 매우 우수한 관리 도구를 사용하기 위해 항상 GNOME2를 놓치기 때문에 MATE를 데스크탑 환경으로 설치하기로 결정했습니다.

[root @ linuxbox ~] # yum groupinstall "X 윈도우 시스템"
[root @ linuxbox ~] # yum groupinstall "MATE Desktop"

MATE가 제대로로드되는지 확인하기 위해 콘솔 -local 또는 remote-에서 다음 명령을 실행합니다.

[root @ linuxbox ~] # systemctl은 graphics.target을 분리합니다.

데스크톱 환경이로드되어야합니다.현지 팀에서-부드럽게, 보여주는 lightdm 그래픽 로그인으로. 로컬 사용자의 이름과 암호를 입력하고 MATE를 입력합니다.

말하다 시스템 기본 부팅 수준은 5-그래픽 환경-다음과 같은 심볼릭 링크를 만듭니다.

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

시스템을 재부팅하면 모든 것이 잘 작동합니다.

네트워크 용 시간 서비스를 설치합니다.

[root @ linuxbox ~] # yum install ntp

설치하는 동안 로컬 시계가 컴퓨터의 시간 서버와 동기화되도록 구성합니다. 시스템 관리자.desdelinux.팬 IP로 192.168.10.1. 그래서 우리는 파일을 저장합니다 ntp.conf 원본 :

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

이제 다음 내용으로 새 것을 만듭니다.

[root @ linuxbox ~] # nano /etc/ntp.conf # 설치 중에 구성된 서버 : server 192.168.10.1 iburst # 자세한 내용은 man 페이지를 참조하십시오 : # ntp.conf (5), ntp_acc (5) , ntp_auth (5), ntp_clock (5), ntp_misc (5), ntp_mon (5). driftfile / var / lib / ntp / drift # 시간 소스와의 동기화를 허용하지만 # 소스가이 서비스를 참조하거나 수정하도록 허용하지 않습니다. 제한 기본값 nomodify notrap nopeer noquery # 인터페이스에 대한 모든 액세스 허용 루프백 제한 127.0.0.1 제한 :: 1 # 로컬 네트워크의 컴퓨터로 제한합니다. restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap # 프로젝트의 공용 서버를 사용하십시오. pool.ntp.org # 프로젝트에 참여하려면 # (http://www.pool.ntp.org/join.html)을 방문하십시오. #broadcast 192.168.10.255 autokey # broadcast server broadcastclient # broadcast client #broadcast 224.0.1.1 autokey # multicast server #multicastclient 224.0.1.1 # multicast client #manycastserver 239.255.254.254 # manycast server #manycastclient 239.255.254.254 autokey # manycast client broadcast 192.168.10.255. 4 # 공개 암호화를 활성화합니다. #crypto includefile / etc / ntp / crypto / pw # 대칭 키 암호화 키로 작동 할 때 사용되는 키 및 키 식별자를 포함하는 키 파일 # / etc / ntp / keys # 신뢰할 수있는 키 식별자를 지정합니다. #trustedkey 8 42 8 # ntpdc 유틸리티와 함께 ​​사용할 키 식별자를 지정합니다. #requestkey 8 # ntpq 유틸리티와 함께 ​​사용할 키 식별자를 지정합니다. #controlkey 2013 # 통계 레지스터 쓰기를 활성화합니다. #statistics clockstats cryptostats loopstats peerstats # 기본 제약 조건에 noquery 플래그가 포함되어 있지 않은 경우 ntpdc monlist 명령을 사용하여 # 공격의 증폭을 방지하기 위해 분리 모니터를 비활성화합니다. 자세한 내용은 CVE-5211-XNUMX #을 읽어보세요. # 참고 : 제한된 제한 플래그로 모니터가 비활성화되지 않습니다. 모니터 비활성화

NTP 서비스를 활성화, 시작 및 확인합니다.

[root @ linuxbox ~] # systemctl 상태 ntpd
● ntpd.service-네트워크 시간 서비스로드 됨 :로드 됨 (/usr/lib/systemd/system/ntpd.service; 비활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 비활성화 됨 (작동 중지됨)

[root @ linuxbox ~] # systemctl ntpd 활성화
/etc/systemd/system/multi-user.target.wants/ntpd.service에서 /usr/lib/systemd/system/ntpd.service로 심볼릭 링크를 생성했습니다.

[root @ linuxbox ~] # systemctl start ntpd
[root @ linuxbox ~] # systemctl 상태 ntpd

[root @ linuxbox ~] # systemctl 상태 ntpdntpd.service-네트워크 시간 서비스
   로드 됨 :로드 됨 (/usr/lib/systemd/system/ntpd.service; 활성화 됨; 공급 업체 사전 설정 : 비활성화 됨) 활성 : 활성 (실행 중) 2017-04-14 금요일 15:51:08 EDT 이후; 1 초 전 프로세스 : 1307 ExecStart = / usr / sbin / ntpd -u ntp : ntp $ OPTIONS (코드 = 종료 됨, 상태 = 0 / SUCCESS) 기본 PID : 1308 (ntpd) CGroup : /system.slice/ntpd.service └─ 1308 / usr / sbin / ntpd -u ntp : ntp -g

Ntp와 방화벽

[root @ linuxbox ~] # firewall-cmd --get-active-zones
외부
  인터페이스 : ens34
공개
  인터페이스 : ens32

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

Dnsmasq를 활성화하고 구성합니다.

Small Business Networks 시리즈의 이전 기사에서 보았 듯이 Dnsamasq는 기본적으로 CentOS 7 Infrastructure Server에 설치됩니다.

[root @ linuxbox ~] # systemctl 상태 dnsmasq
● dnsmasq.service-DNS 캐싱 서버. 로드 됨 :로드 됨 (/usr/lib/systemd/system/dnsmasq.service; 비활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 비활성화 됨 (작동 중지됨)

[root @ linuxbox ~] # systemctl enable dnsmasq
/etc/systemd/system/multi-user.target.wants/dnsmasq.service에서 /usr/lib/systemd/system/dnsmasq.service로 심볼릭 링크를 생성했습니다.

[root @ linuxbox ~] # systemctl start dnsmasq
[root @ linuxbox ~] # systemctl 상태 dnsmasq
● dnsmasq.service-DNS 캐싱 서버. 로드 됨 :로드 됨 (/usr/lib/systemd/system/dnsmasq.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 활성 (실행 중) 2017-04-14 금요일 16:21:18 EDT 이후; 4 초 전 메인 PID : 33611 (dnsmasq) C 그룹 : /system.slice/dnsmasq.service └─33611 / usr / sbin / dnsmasq -k

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

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
# ------------------------------------------------- ------------------ # 일반 옵션 # ----------------------------- ------------------------- 도메인 필요 # 도메인 없이 이름을 전달하지 마세요 part bogus-priv # 라우팅되지 않은 공간에서는 주소를 전달하지 마십시오.expand-hosts # 자동으로 호스트에 도메인을 추가합니다.interface=ens32 # LAN 인터페이스 strict-order # /etc/resolv.conf 파일이 쿼리되는 순서 conf- 디렉토리=/etc /dnsmasq.d 도메인=desdelinux.fan # 도메인 이름 주소=/time.windows.com/192.168.10.5 # WPAD 값의 빈 옵션을 보냅니다. # Windows 7 이상 클라이언트가 제대로 작동하는 데 필요합니다. ;-) dhcp-option=252,"\n" # "금지"될 HOSTS를 선언할 파일 addn-hosts=/etc/banner_add_hosts local=/desdelinux.팬/ # ---------------------------------------------- -------- # RECORDSCNAMEMXTXT # ------------- --------------- # 이 유형의 레코드에는 항목이 필요합니다 # /etc/hosts 파일에서 # 예: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,리눅스박스.desdelinux.fan # MX RECORDS # 이름이 "인 MX 레코드를 반환합니다.desdelinux.fan"은 # 메일 팀으로 전송됩니다.desdelinux.fan 및 우선순위 10 mx-host=desdelinux.팬,메일.desdelinux.fan,10 # localmx 옵션을 사용하여 생성된 MX 레코드의 # 기본 대상은 mx-target=mail입니다.desdelinux.fan # 모든 로컬 시스템에 대한 mx-target을 가리키는 MX 레코드를 # 반환합니다. localmx # TXT 레코드. SPF 레코드 txt-record=를 선언할 수도 있습니다.desdelinux.fan,"v=spf1 a -all" txt-record=desdelinux.팬,"DesdeLinux, 자유 소프트웨어 전용 블로그" # ---------------------------- ------------- # RANGEANDITSOPTIONS # -------- ----- ----------------- # IPv4 범위 및 임대 시간 # 1~29는 서버 및 기타 요구 사항에 대한 것입니다. dhcp-range=192.168.10.30,192.168.10.250,8h dhcp-lease-max=222 # 임대할 최대 주소 수는 # 기본적으로 150입니다. # IPV6 범위 # dhcp-range=1234::, ra-only # RANGE 옵션 # OPTIONS dhcp-option=1,255.255.255.0 # NETMASK dhcp-option=3,192.168.10.5 # ROUTER GATEWAY dhcp-option=6,192.168.10.5 # DNS 서버 dhcp-option =15,desdelinux.fan # DNS 도메인 이름 dhcp-option=19,1 # 옵션 ip-forwarding ON dhcp-option=28,192.168.10.255 # BROADCAST dhcp-option=42,192.168.10.5 # NTP dhcp-authoritative # 서브넷에서 DHCP 권한 # --- --- --------------------- --- ----------- # 쿼리 로그를 /var/log/messages에 저장하려면 # 아래 줄의 주석 처리를 제거하세요 # ---------- ------- ------------------------------ -------
로그 쿼리 # 개
# /etc/dnsmasq.conf 파일의 끝 # --------------------------------------- ----------------------------

우리는 파일을 만듭니다 / 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

고정 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.desdelinux.fan linuxbox 192.168.10.1 sysadmin.desdelinux.팬 시스템 관리자

/etc/resolv.conf 파일을 구성합니다. 해결

[root @ linuxbox ~] # nano /etc/resolv.conf
수색 desdelinux.fan nameserver 127.0.0.1 # 외부 또는 # 비도메인 DNS 쿼리용 desdelinux.fan # 로컬=/desdelinux.fan/네임서버 8.8.8.8

파일 구문을 확인합니다. dnsmasq.conf, 서비스를 시작하고 상태를 확인합니다.

[root @ linuxbox ~] # dnsmasq --test
dnsmasq : 구문 검사 확인.
[root @ linuxbox ~] # systemctl restart dnsmasq
[root @ linuxbox ~] # systemctl 상태 dnsmasq

Dnsmasq 및 방화벽

[root @ linuxbox ~] # firewall-cmd --get-active-zones
외부
  인터페이스 : ens34
공개
  인터페이스 : ens32

서비스 도메인 o DNS (Domain Name Server). 실험 계획안 강타 «암호화 된 IP«

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

외부 DNS 서버에 대한 Dnsmasq 쿼리

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

서비스 부츠 o BOOTP 서버 (dhcp). 실험 계획안 ippc «인터넷 Pluribus 패킷 코어«

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

[root @ linuxbox ~] # firewall-cmd --reload
성공

[root @ linuxbox ~] # firewall-cmd --info-zone public public (active)
  대상 : 기본 icmp-block-inversion : 인터페이스 없음 : ens32 소스 : 서비스 : dhcp dns ntp ssh 포트 : 67 / tcp 53 / udp 123 / udp 67 / udp 53 / tcp 프로토콜 : 가장 : 포워드 포트 없음 : 소스 포트 : icmp -블록 : 풍부한 규칙 :

[root @ linuxbox ~] # firewall-cmd --info-zone external external (active)
  대상 : 기본 icmp-block-inversion : 인터페이스 없음 : ens34 소스 : 서비스 : dns 포트 : 53 / udp 53 / tcp 프로토콜 : 가장 : 예 forward-ports : sourceports : icmp-blocks : 매개 변수 문제 리디렉션 라우터 광고 라우터- 간청 소스-담금질 풍부한 규칙 :

그래픽 인터페이스를 사용하여 CentOS 7에서 방화벽을 구성하려면 일반 메뉴를 살펴 봅니다. 하위 메뉴가 나타나는 데스크톱 환경에 따라 달라집니다. 애플리케이션«방화벽»을 실행하고 사용자 암호를 입력 한 후 뿌리, 우리는 이와 같이 프로그램 인터페이스에 액세스합니다. MATE에서는 메뉴«시스템»-> "관리"-> "방화벽".

우리는 지역을 선택합니다«공개»그리고 우리는 LAN에 게시되기를 원하는 서비스를 승인합니다. DHCP, DNS, ntp 및 ssh. 서비스를 선택한 후 모든 것이 올바르게 작동하는지 확인한 후 런타임에서 영구로 변경해야합니다. 이를 위해 옵션 메뉴로 이동하여«영구 실행 시간".

나중에 우리는 영역«외부»인터넷 통신에 필요한 포트가 열려 있는지 확인합니다. 우리가 무엇을하고 있는지 잘 알지 못한다면이 영역에 서비스를 게시하지 마십시오!.

«옵션을 통해 영구적으로 변경하는 것을 잊지 마십시오.영구 실행 시간»그리고 악마를 재 장전하세요 FirewallD,이 강력한 그래픽 도구를 사용할 때마다.

Windows 7 클라이언트의 NTP 및 Dnsmasq

NTP와 동기화

외부

임대 IP 주소

Microsoft Windows [버전 6.1.7601] Copyright (c) 2009 Microsoft Corporation. 판권 소유. C : \ 사용자 \ buzz> ipconfig / 모든 Windows IP 구성 호스트 이름. . . . . . . . . . . . : 세븐
   기본 DNS 접미사. . . . . . . :
   NodeType. . . . . . . . . . . . : 하이브리드 IP 라우팅이 활성화되었습니다. . . . . . . . : WINS 프록시가 활성화되지 않았습니다. . . . . . . . : DNS 접미사 검색 목록이 없습니다. . . . . . : desdelinux.fan 이더넷 어댑터 로컬 영역 연결: 연결별 DNS 접미사. : desdelinux.fan 설명 . . . . . . . . . . . : Intel(R) PRO/1000 MT 네트워크 연결 물리적 주소. . . . . . . . . : 00-0C-29-D6-14-36 DHCP가 활성화되었습니다. . . . . . . . . . . : 예 자동 구성이 활성화되었습니다. . . . : 포크
   IPv4 주소. . . . . . . . . . . : 192.168.10.115 (기본 설정)
   서브넷 마스크 . . . . . . . . . . . : 255.255.255.0 임대를 받았습니다. . . . . . . . . . : 14년 2017월 5일 금요일 오후 12:53:15 임대 만료 . . . . . . . . . . : 2017년 1월 12일 토요일 오전 53:192.168.10.1:192.168.10.5 기본 게이트웨이 . . . . . . . . . : 192.168.10.5 DHCP서버. . . . . . . . . . . : 9 DNS 서버. . . . . . . . . . . : 00 Tcpip을 통한 NetBIOS. . . . . . . . : 활성화된 터널 어댑터 로컬 영역 연결* 00: 미디어 상태 . . . . . . . . . . . : 미디어 연결이 끊어졌습니다. 연결별 DNS 접미사. : 설명 . . . . . . . . . . . : Microsoft Teredo 터널링 어댑터 실제 주소입니다. . . . . . . . . : 00-00-00-00-00-0-XNUMX-EXNUMX DHCP가 활성화되었습니다. . . . . . . . . . . : 자동 구성이 활성화되지 않았습니다. . . . : 예 터널 어댑터 isatap.desdelinux.fan: 미디어 상태. . . . . . . . . . . : 미디어 연결이 끊겼습니다. 연결별 DNS 접미사 . : desdelinux.fan 설명 . . . . . . . . . . . : Microsoft ISATAP 어댑터 #2 물리적 주소. . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP가 활성화되었습니다. . . . . . . . . . . : 자동 구성이 활성화되지 않았습니다. . . . : 예 C:\Users\buzz>

Windows 클라이언트에서 중요한 값은 "주 Dns 접미사"또는 "주 연결 접미사"입니다. Microsoft 도메인 컨트롤러를 사용하지 않으면 운영 체제가 값을 할당하지 않습니다. 기사의 시작 부분에 설명 된 것과 같은 경우에 직면하고 있고 해당 값을 명시 적으로 선언하려면 다음 이미지에 표시된대로 진행하고 변경 사항을 수락 한 다음 클라이언트를 다시 시작해야합니다.

다시 달리면 CMD-> ipconfig / 모두 우리는 다음을 얻을 것입니다 :

Microsoft Windows [버전 6.1.7601] Copyright (c) 2009 Microsoft Corporation. 판권 소유. C : \ 사용자 \ buzz> ipconfig / 모든 Windows IP 구성 호스트 이름. . . . . . . . . . . . : 세븐
   기본 DNS 접미사. . . . . . . : desdelinux.팬
   NodeType. . . . . . . . . . . . : 하이브리드 IP 라우팅이 활성화되었습니다. . . . . . . . : WINS 프록시가 활성화되지 않았습니다. . . . . . . . : DNS 접미사 검색 목록이 없습니다. . . . . . : desdelinux.팬

나머지 값은 변경되지 않습니다.

DNS 검사

버즈 @ sysadmin : ~ $ host spynet.microsoft.com
spynet.microsoft.com의 주소는 127.0.0.1입니다. 호스트 spynet.microsoft.com을 찾을 수 없음: 5(REFUSED) spynet.microsoft.com 메일은 1개의 메일로 처리됩니다.desdelinux.팬.

buzz @ sysadmin : ~ $ host linuxbox
리눅스박스.desdelinux.fan의 주소는 192.168.10.5 linuxbox입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

buzz @ sysadmin : ~ $ host sysadmin
시스템 관리자.desdelinux.fan의 주소는 192.168.10.1 sysadmin입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

buzz @ sysadmin : ~ $ 호스트 메일
메일.desdelinux.fan은 linuxbox의 별칭입니다.desdelinux.팬. 리눅스박스.desdelinux.fan의 주소는 192.168.10.5 linuxbox입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

우리는 설치합니다-테스트 전용-권한있는 DNS 서버 NSD 시스템 관리자.desdelinux.팬, IP 주소를 포함합니다. 172.16.10.1 아카이브에서 / 기타 / resolv.conf에 팀의 리눅스박스.desdelinux.팬, Dnsmasq가 전달자 기능을 올바르게 실행하고 있는지 확인합니다. NSD 서버의 샌드 박스는 favt.org y toujague.org. 모든 IP는 가상 또는 사설 네트워크에서 가져온 것입니다.

WAN 인터페이스를 비활성화하면 엔스34 명령 사용 ifdown ens34, Dnsmasq는 외부 DNS 서버를 쿼리 할 수 ​​없습니다.

[buzz @ linuxbox ~] $ sudo ifdown ens34 [buzz @ linuxbox ~] $ host -t mx toujague.org
toujague.org 호스트를 찾을 수 없음 : 3 (NXDOMAIN)

[buzz @ linuxbox ~] $ host pizzapie.favt.org
호스트 pizzapie.favt.org를 찾을 수 없음 : 3 (NXDOMAIN)

ens34 인터페이스를 활성화하고 다시 확인해 보겠습니다.

[buzz @ linuxbox ~] $ sudo ifup ens34
buzz @ linuxbox ~] $ host pizzapie.favt.org
pizzapie.favt.org는 paisano.favt.org의 별칭입니다. paisano.favt.org의 주소는 172.16.10.4입니다.

[buzz @ linuxbox ~] $ host pizzapie.toujague.org
호스트 pizzas.toujague.org를 찾을 수 없음 : 3 (NXDOMAIN)

[buzz @ linuxbox ~] $ host poblacion.toujague.org
poblacion.toujague.org의 주소는 169.18.10.18입니다.

[buzz @ linuxbox ~] $ host -t NS favt.org
favt.org 이름 서버 ns1.favt.org. favt.org 이름 서버 ns2.favt.org.

[buzz @ linuxbox ~] $ host -t NS toujague.org
toujague.org 이름 서버 ns1.toujague.org. toujague.org 이름 서버 ns2.toujague.org.

[buzz @ linuxbox ~] $ host -t MX toujague.org
toujague.org 메일은 10 mail.toujague.org에서 처리합니다.

상담하자 시스템 관리자.desdelinux.팬:

버즈 @ sysadmin : ~ $ cat /etc/resolv.conf 
수색 desdelinux.fan 네임서버 192.168.10.5

xeon @ sysadmin : ~ $ host mail.toujague.org
mail.toujague.org의 주소는 169.18.10.19입니다.

Dnsmasq는 다음과 같이 작동합니다. 전달자 올바르게

오징어

PDF 형식의 책에서«Linux 서버 구성»25 년 2016 월 XNUMX 일 작성, 작성자 조엘 바리오스 두에 나스 (darkshram@gmail.com - http://www.alcancelibre.org/), 내가 이전 기사에서 언급 한 텍스트, Squid 기본 구성 옵션.

Web-Proxy 서비스의 중요성으로 인해 앞서 언급 한 책에서 Squid에 대한 소개를 재현했습니다.

105.1. 소개.

105.1.1. 중개 서버 (프록시) 란 무엇입니까?

영어 용어 "대리" 매우 일반적이고 동시에 모호한 의미를 가지고 있지만
변함없이 개념의 동의어로 간주됩니다 "중개인". 일반적으로 엄격한 의미에서 다음과 같이 번역됩니다. 대리자 o 권한을 부여 (다른 사람에 대한 권력을 가진 사람).

Un 중개 서버 클라이언트가 다른 네트워크 서비스에 대한 간접 네트워크 연결을 만들 수 있도록 구성된 네트워크 서비스를 제공하는 컴퓨터 또는 장치로 정의됩니다. 프로세스 중에 다음이 발생합니다.

  • 클라이언트는 프록시 서버.
  • 클라이언트는 다른 서버에서 사용할 수있는 연결, 파일 또는 기타 리소스를 요청합니다.
  • Intermediary Server는 지정된 서버에 연결하여 리소스를 제공합니다.
    또는 캐시에서 제공합니다.
  • 어떤 경우에는 중개 서버 클라이언트의 요청을 변경하거나
    다양한 목적을위한 서버 응답.

프록시 서버 그들은 일반적으로 방화벽으로 동시에 작동하도록 만들어집니다. 네트워크 수준, 패킷 필터 역할을합니다. iptables에 또는 운영 신청 수준, 다양한 서비스를 제어합니다. TCP 래퍼. 상황에 따라 방화벽은 BPD o B주문 P회전 Device 또는 그냥 패킷 필터.

일반적인 응용 프록시 서버 네트워크 콘텐츠 (주로 HTTP)의 캐시 역할을하여 클라이언트 근처에 원격 HTTP 서버에서 네트워크를 통해 사용 가능한 페이지 및 파일 캐시를 제공하여 로컬 네트워크의 클라이언트가 더 빠르고 안정적입니다.

지정된 네트워크 리소스에 대한 요청이 URL (U니폼 R자원 Locator) 중개 서버 결과를 찾다 URL 캐시 내부. 발견되면 중개 서버 요청 된 콘텐츠를 즉시 제공하여 고객에게 응답합니다. 요청 된 콘텐츠가 캐시에 없으면 중개 서버 원격 서버에서 가져 와서이를 요청한 클라이언트에 전달하고 캐시에 복사본을 보관합니다. 그런 다음 캐시의 콘텐츠는 연령, 크기 및 기록에 따라 만료 알고리즘을 통해 제거됩니다. 요청에 대한 응답 (조회수) (예 : LRU, 루푸다 y GDSF).

네트워크 콘텐츠 용 프록시 서버 (웹 프록시)는 또한 제공되는 콘텐츠의 필터 역할을하여 임의의 기준에 따라 검열 정책을 적용 할 수 있습니다..

우리가 설치할 Squid 버전은 3.5.20-2.el7_3.2 저장소에서 업데이트.

설치

[root @ linuxbox ~] # yum install squid

[root @ linuxbox ~] # ls / etc / squid /
cachemgr.conf errorpage.css.default  오징어.conf
cachemgr.conf.default mime.conf              오징어.conf.기본
errorpage.css mime.conf.default

[root @ linuxbox ~] # systemctl enable squid

중대한

  • 이 기사의 주요 목적은 LAN에 연결된 다른 컴퓨터에서 Squid와 연결할 수 있도록 로컬 사용자에게 권한을 부여하는 것입니다. 또한 다른 서비스가 추가 될 서버의 핵심을 구현하십시오. 오징어 전용 기사가 아닙니다..
  • Squid의 구성 옵션에 대한 아이디어를 얻으려면 3.5.20 줄이있는 /usr/share/doc/squid-7915/squid.conf.documented 파일을 읽으십시오..

SELinux 및 Squid

[root @ linuxbox ~] # getsebool -a | 그렙 오징어
squid_connect_any-> squid_use_tproxy-> 끄기

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

구성

[root @ linuxbox ~] # nano /etc/squid/squid.conf
# LAN acl localnet src 192.168.10.0/24 acl SSL_ports 포트 443 21
acl Safe_ports 포트 80 # http acl Safe_ports 포트 21 # ftp acl Safe_ports 포트 443 # https acl Safe_ports 포트 70 # gopher acl Safe_ports 포트 210 # wais acl Safe_ports 포트 1025-65535 # 등록되지 않은 포트 acl Safe_ports 포트 280 # http-mgmt acl Safe_ports 포트 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # 비보안 포트에 대한 쿼리를 거부합니다. http_access deny! Safe_ports # 비보안 포트에 대한 CONNECT 메소드를 거부합니다. http_access deny CONNECT! SSL_ports # Access to 로컬 호스트에서만 캐시 관리자 http_access 허용 localhost 관리자 http_access deny manager # "localhost"에서 서비스에 액세스 할 수있는 유일한 사람이 로컬이라고 생각하는 # 프록시 서버에서 실행되는 웹 애플리케이션을 보호하기 위해 다음의 주석을 제거하는 것이 좋습니다. user http_access deny to_localhost # # 클라이언트의 액세스를 허용하려면 여기에 자신의 규칙을 삽입하십시오. # # PAM 인증
auth_param 기본 프로그램 / usr / lib64 / squid / basic_pam_auth
auth_param 기본 하위 5 auth_param 기본 영역 desdelinux.fan auth_param 기본 자격 증명ttl 2시간 auth_param 기본 대소문자 구분 off # Squid 액세스에는 인증이 필요합니다 acl Enthusiasts proxy_auth REQUIRED # PAM을 통해 # 인증된 사용자에 대한 액세스를 허용합니다 http_accessdeny !Enthusiasts # FTP 사이트에 대한 액세스 acl ftp proto FTP http_access 허용 ftp http_access 허용 localnet http_access allowed localhost # 우리는 http_access 프록시에 대한 다른 모든 접근을 거부합니다. defen all # Squid는 일반적으로 포트 3128에서 수신합니다. http_port 3128 # 우리는 첫 번째 캐시 디렉터리에 "coredumps"를 남겨둡니다 coredump_dir /var/spool/squid # # 자신만의 Refresh_pattern을 추가합니다 이 위에 항목이 있습니다. # 새로 고침 패턴 ^ftp: 1440 20% 10080 새로 고침 패턴 ^고퍼: 1440 0% 1440 새로 고침 패턴 -i (/cgi-bin/|\?) 0 0% 0 새로 고침 패턴 . 0 20% 4320 캐시_mem 64MB # 메모리 캐시 memory_replacement_policy lru 캐시_replacement_policy 힙 LFUDA 캐시_dir aufs /var/spool/squid 4096 16 256 maximum_object_size 4MB 캐시_스왑_로우 85 캐시_스왑_높음 90 캐시_mgr buzz@desdelinux.fan # 기타 매개변수 visible_hostname linuxbox.desdelinux.팬

파일의 구문을 확인합니다. /etc/squid/squid.conf

[root @ linuxbox ~] # squid -k parse
2017/04/16 15:45:10| 시작: 인증 체계 초기화 중... 2017/04/16 15:45:10| 시작: 초기화된 인증 체계 '기본' 2017/04/16 15:45:10| 시작: 초기화된 인증 체계 'digest' 2017/04/16 15:45:10| 시작: 초기화된 인증 체계 '협상' 2017/04/16 15:45:10| 시작: 초기화된 인증 체계 'ntlm' 2017/04/16 15:45:10| 시작: 초기화된 인증. 2017/04/16 15:45:10| 처리 구성 파일: /etc/squid/squid.conf (깊이 0) 2017/04/16 15:45:10| 처리 중: acl localnet src 192.168.10.0/24 2017/04/16 15:45:10| 처리 중: acl SSL_ports 포트 443 21 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 80 # http 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 21 # ftp 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 443 # https 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 70 # gopher 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 210 # wais 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 1025-65535 # 등록되지 않은 포트 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 280 # http-mgmt 2017/04/16 15:45:10| 처리 중: acl Safe_ports 포트 488 # gss-http 2017/04/16 15:45:10| 처리 중: acl Safe_ports port 591 # filemaker 2017/04/16 15:45:10| 처리 중: acl Safe_ports port 777 # 다중화 http 2017/04/16 15:45:10| 처리 중: acl CONNECT 메소드 CONNECT 2017/04/16 15:45:10| 처리 중: http_access 거부 !Safe_ports 2017/04/16 15:45:10| 처리 중: http_access 거부 CONNECT !SSL_ports 2017/04/16 15:45:10| 처리 중: http_access 허용 localhost 관리자 2017/04/16 15:45:10| 처리 중: http_access 거부 관리자 2017/04/16 15:45:10| 처리 중: http_access 거부 to_localhost 2017/04/16 15:45:10| 처리 중: auth_param 기본 프로그램 /usr/lib64/squid/basic_pam_auth 2017/04/16 15:45:10| 처리 중: auth_param 기본 하위 5 2017/04/16 15:45:10| 처리: auth_param 기본 영역 desdelinux.팬 2017/04/16 15:45:10| 처리 중: auth_param 기본 자격 증명ttl 2시간 2017/04/16 15:45:10| 처리: auth_param 기본 대소문자 구분 끄기 2017/04/16 15:45:10| 처리: acl 매니아 Proxy_auth 필수 2017/04/16 15:45:10| 처리 중: http_access 거부 !열성가 2017/04/16 15:45:10| 처리 중: acl ftp proto FTP 2017/04/16 15:45:10| 처리 중: http_access 허용 ftp 2017/04/16 15:45:10| 처리 중: http_access 허용 localnet 2017/04/16 15:45:10| 처리 중: http_access 허용 localhost 2017/04/16 15:45:10| 처리 중: http_access 모두 거부 2017/04/16 15:45:10| 처리 중: http_port 3128 2017/04/16 15:45:10| 처리 중: coredump_dir /var/spool/squid 2017/04/16 15:45:10| 처리 중: 새로고침_패턴 ^ftp: 1440 20% 10080 2017/04/16 15:45:10| 처리 중: Refresh_pattern ^gopher: 1440 0% 1440 2017/04/16 15:45:10| 처리 중:refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 2017/04/16 15:45:10| 처리 중: 새로 고침_패턴 . 0 20% 4320 2017/04/16 15:45:10| 처리 중: 캐시_mem 64MB 2017/04/16 15:45:10| 처리 중: memory_replacement_policy lru 2017/04/16 15:45:10| 처리 중: 캐시_교체_정책 힙 LFUDA 2017/04/16 15:45:10| 처리 중: 캐시_dir aufs /var/spool/squid 4096 16 256 2017/04/16 15:45:10| 처리 중: maximum_object_size 4MB 2017/04/16 15:45:10| 처리 중:cache_swap_low 85 2017/04/16 15:45:10| 처리 중: 캐시_스왑_하이 90 2017/04/16 15:45:10| 처리 중: 캐시_mgr buzz@desdelinux.팬 2017/04/16 15:45:10| 처리 중: visible_hostname linuxbox.desdelinux.팬 2017/04/16 15:45:10| https 프록시 컨텍스트 초기화 중

권한을 조정합니다. / usr / lib64 / squid / basic_pam_auth

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

캐시 디렉터리를 만듭니다.

# 만일을 대비해서 ... [root @ linuxbox ~] # service squid stop
/ bin / systemctl stop squid.service로 리디렉션

[root @ linuxbox ~] # squid -z
[root @ linuxbox ~] # 2017/04/16 15:48:28 kid1 | 현재 디렉토리를 / var / spool / squid 2017/04/16 15:48:28 kid1 | 누락 된 스왑 디렉토리 생성 2017/04/16 15:48:28 kid1 | / var / spool / squid 존재 2017/04/16 15:48:28 kid1 | / var / spool / squid / 00 2017/04/16 15:48:28 kid1 | / var / spool / squid / 01 2017/04/16 15:48:28 kid1 | / var / spool / squid / 02 2017/04/16 15:48:28 kid1 | / var / spool / squid / 03 2017/04/16 15:48:28 kid1 | / var / spool / squid / 04 2017/04/16 15:48:28 kid1 | / var / spool / squid / 05 2017/04/16 15:48:28 kid1 | / var / spool / squid / 06 2017/04/16 15:48:28 kid1 | / var / spool / squid / 07 2017/04/16 15:48:28 kid1 | / var / spool / squid / 08 2017/04/16 15:48:28 kid1 | / var / spool / squid / 09 2017/04/16 15:48:28 kid1 | / var / spool / squid / 0A 2017/04/16 15:48:28 kid1에 디렉토리 만들기 | / var / spool / squid / 0B 2017/04/16 15:48:28 kid1에 디렉토리 만들기 | / var / spool / squid / 0C 2017/04/16 15:48:29 kid1에 디렉토리 만들기 | / var / spool / squid / 0D 2017/04/16 15:48:29 kid1에 디렉토리 만들기 | / var / spool / squid / 0E 2017/04/16 15:48:29 kid1 | / var / spool / squid / 0F에 디렉토리 만들기

이 시점에서 나에게 반환되지 않은 명령 프롬프트를 반환하는 데 시간이 오래 걸리면 Enter 키를 누릅니다.

[root @ linuxbox ~] # 서비스 squid 시작
[root @ linuxbox ~] # service squid restart
[root @ linuxbox ~] # 서비스 오징어 상태
/ bin / systemctl 상태로 리디렉션 중 squid.service ● squid.service-Squid 캐싱 프록시로드 됨 :로드 됨 (/usr/lib/systemd/system/squid.service; 비활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : dom 이후 활성화 (실행 중) 2017-04-16 15:57:27 EDT; 1 초 전 프로세스 : 2844 ExecStop = / usr / sbin / squid -k shutdown -f $ SQUID_CONF (코드 = 종료 됨, 상태 = 0 / SUCCESS) 프로세스 : 2873 ExecStart = / usr / sbin / squid $ SQUID_OPTS -f $ SQUID_CONF (코드 = 종료 됨, 상태 = 0 / 성공) 프로세스 : 2868 ExecStartPre = / usr / libexec / squid / cache_swap.sh (코드 = 종료 됨, 상태 = 0 / 성공) 기본 PID : 2876 (오징어) CGroup : /system.slice/squid .service └─2876 / usr / sbin / squid -f /etc/squid/squid.conf Apr 16 15:57:27 linuxbox systemd [1] : Squid 캐싱 프록시 시작 ... Apr 16 15:57:27 linuxbox systemd [1] : Squid 캐싱 프록시를 시작했습니다. 16 월 15 일 57:27:2876 linuxbox squid [1] : Squid Parent : 아이들 16 명 시작 Apr 15 57:27:2876 linuxbox squid [1] : Squid Parent : (squid-2878) process 16 ... ed Apr 15 57 : 27 : 2876 linuxbox squid [1] : Squid Parent : (squid-2878) process 1 ... XNUMX 힌트 : 일부 줄이 생략되었습니다. 전체를 표시하려면 -l을 사용하십시오.

[root @ linuxbox ~] # cat / var / log / messages | 그렙 오징어

방화벽 수정

우리는 또한 Zone«외부"포트 80HTTP y 443HTTPS 그래서 Squid는 인터넷과 통신 할 수 있습니다.

[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 80 / tcp --permanent
성공
[root @ linuxbox ~] # firewall-cmd --zone = external --add-port = 443 / tcp --permanent
성공
[root @ linuxbox ~] # firewall-cmd --reload
성공
[root @ linuxbox ~] # firewall-cmd --info-zone external
외부 (활성) 대상 : 기본 icmp-block-inversion : 인터페이스 없음 : ens34 소스 : 서비스 : dns 포트 : 443 / TCP 53 / UDP 80 / TCP 53 / TCP
  프로토콜 : 가장 (masquerade) : 예 포워드 포트 : 소스 포트 : icmp-blocks : 매개 변수 문제 리디렉션 라우터 광고 라우터 요청 소스-퀸치 리치 규칙 :
  • 그래픽 응용 프로그램으로 이동하는 것은 유휴 상태가 아닙니다.«방화벽 구성»그리고 포트 443 tcp, 80 tcp, 53 tcp 및 53 udp가 영역에 대해 열려 있는지 확인하십시오.«외부«, 그리고 우리는 그녀를 위해 어떤 서비스도 게시하지 않았습니다.

basic_pam_auth 도우미 프로그램에 대한 참고 사항

이 유틸리티의 설명서를 참조하면 남자 basic_pam_auth 저자 자신이 일반 사용자가 도구에 액세스 할 수있는 충분한 권한이없는 디렉토리로 프로그램을 이동할 것을 강력하게 권장한다는 내용을 읽을 것입니다.

반면에이 인증 체계를 사용하면 자격 증명이 일반 텍스트로 이동하고 악의적 인 환경에 안전하지 않은 것으로 알려져 있으며 개방형 네트워크를 읽습니다.

제프 예스트룸스카스 기사를 바치십시오«방법 : SSL 암호화, Squid Caching Proxy 및 PAM 인증을 사용하여 보안 웹 프록시 설정»이 인증 체계로 보안을 강화하여 잠재적으로 적대적인 개방형 네트워크에서 사용할 수 있도록하는 문제.

httpd를 설치합니다

Squid 및 Dnsmasq의 작동을 확인하는 방법으로 서비스를 설치합니다. 아파치 -아파치 웹 서버-수행 할 필요가 없습니다. Dnsmasq와 관련된 파일에서 / etc / banner_add_hosts 금지하려는 사이트를 선언하고 해당 사이트와 동일한 IP 주소를 명시 적으로 할당합니다. 리눅스 박스. 따라서 이러한 사이트에 대한 액세스를 요청하면 아파치.

[root @ linuxbox ~] # yum install httpd [root @ linuxbox ~] # systemctl enable httpd
/etc/systemd/system/multi-user.target.wants/httpd.service에서 /usr/lib/systemd/system/httpd.service로 심볼릭 링크를 생성했습니다.

[root @ linuxbox ~] # systemctl start httpd

[root @ linuxbox ~] # systemctl 상태 httpd
● httpd.service-Apache HTTP Server로드 됨 :로드 됨 (/usr/lib/systemd/system/httpd.service; 활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : Sun 2017-04-16 16:41 이후 활성 (실행 중) : 35 EDT; 5 초 전 문서 : man : httpd (8) man : apachectl (8) 메인 PID : 2275 (httpd) 상태 : "요청 처리 중 ..."C 그룹 : /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 Apr 16 16:41:35 linuxbox systemd [1] : Apache HTTP 서버 시작 ... Apr 16 16:41:35 linuxbox systemd [1] : Apache HTTP 서버 시작.

SELinux 및 Apache

Apache에는 SELinux 컨텍스트 내에서 구성 할 여러 정책이 있습니다.

[root @ linuxbox ~] # getsebool -a | grep httpd
httpd_anon_write-> off httpd_builtin_scripting-> on 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_work_can_connect_zabbix_workb_workb_workd_work_can_connect_zabbix_work 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_serverd_enable offpXNUMX-> httpd_enable_offmgi offpd_serverd_enable offpXNUMX httpd_graceful_shutdown-> on 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_runcobshble offlimerift_runcobshift offlimerift_runco_stick httpd_ssi_exec-> off httpd_sys_script_anon_write-> off httpd_tmp_exec-> off httpd_tty_comm- > off httpd_unified-> off httpd_use_cifs-> off httpd_use_fusefs-> off httpd_use_gpg-> off httpd_use_nfs-> off httpd_use_openstack-> off httpd_use_sasl-> off httpd_verify_dns-> off

다음 사항 만 구성합니다.

Apache를 통해 이메일 보내기

root @ linuxbox ~] # setsebool -P httpd_can_sendmail 1

Apache가 로컬 사용자의 홈 디렉토리에있는 내용을 읽을 수 있도록 허용

root @ linuxbox ~] # setsebool -P httpd_read_user_content 1

FTP 또는 FTPS를 통해 다음에서 관리하는 모든 디렉토리를 관리 할 수 ​​있습니다.
Apache 또는 Apache가 FTP 포트를 통해 요청을 수신하는 FTP 서버로 작동하도록 허용

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

자세한 내용은 다음을 참조하십시오. Linux 서버 구성.

인증 확인

워크 스테이션에서 브라우저를 열고 예를 들어 http://windowsupdate.com. 요청이 linuxbox의 Apache 홈 페이지로 올바르게 리디렉션되는지 확인합니다. 실제로 파일에 선언 된 모든 사이트 이름은 / etc / banner_add_hosts 동일한 페이지로 리디렉션됩니다.

기사 끝에있는 이미지가이를 증명합니다.

사용자 관리

그래픽 도구를 사용하여 수행합니다.«사용자 관리»메뉴 시스템-> 관리-> 사용자 관리를 통해 액세스합니다. 새 사용자를 추가 할 때마다 해당 폴더가 생성됩니다. / 집 / 사용자 자동으로.

백업

Linux 클라이언트

일반 파일 브라우저 만 필요하며 연결을 표시합니다. 예를 들면 다음과 같습니다. ssh : // buzz @ linuxbox / home / buzz 비밀번호를 입력하면 디렉토리가 표시됩니다. 사용자의 버즈.

Windows 클라이언트

Windows 클라이언트에서는 도구를 사용합니다. WinSCP를. 일단 설치되면 다음과 같은 방식으로 사용합니다.

간단 하죠?

개요

우리는 PAM을 사용하여 소규모 네트워크와 통제 된 환경에서 서비스를 인증 할 수 있음을 확인했습니다. 해커. 이는 주로 인증 자격 증명이 일반 텍스트로 전송되기 때문에 공항, Wi-Fi 네트워크 등과 같은 개방형 네트워크에서 사용되는 인증 체계가 아니기 때문입니다. 그러나 이는 구현 및 구성이 쉬운 간단한 권한 부여 메커니즘입니다.

참조 된 출처

PDF 버전

PDF 버전 다운로드 여기에.

다음 기사까지!


9 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   노틸러스

    엄청난 포스트가 치료되었습니다 Mr. Fico. 지식을 공유해 주셔서 감사합니다.

  2.   도마뱀

    상당히 명확한 테스트와 무엇보다도 표준에 맞는 개념과 전략을 사용하여 이러한 세부 수준의 기사를 작성하는 것이 얼마나 어려운지 알고 있습니다. 나는이 공헌의 보석에 내 모자를 벗고, 그렇게 좋은 일을 해주신 Fico에게 대단히 감사합니다.

    나는 오징어와 팸 인증을 결합한 적이 없지만 가능한 한 내 실험실에서이 연습을 수행합니다. 목표 포옹과 우리는 계속합니다!

  3.   페데리코

    NaTiluS : 귀하의 의견과 평가에 감사드립니다.
    Lizard : 귀하에게도 귀하의 의견과 평가에 감사드립니다.

    이와 같은 기사를 작성하는 데 들인 시간과 노력은 커뮤니티를 방문하는 사람들의 독서와 댓글로만 보상됩니다. DesdeLinux. 귀하의 일상 업무에 도움이 되기를 바랍니다.
    계속가요!

  4.   익명

    놀라운 시민 공헌 !!!! 나는 당신의 기사를 각각 읽었고 자유 소프트웨어에 대한 고급 지식이없는 사람 (나와 같은)도이 절묘한 기사를 단계적으로 따를 수 있다고 말할 수 있습니다. 건배 !!!!

  5.   아이오

    이 다른 훌륭한 기사에 대해 Fico에게 감사드립니다. 이미 게시 된 모든 게시물로는 충분하지 않은 것처럼 여기에는 이전에 PYMES 시리즈에서 다루지 않은 서비스가 있으며 이는 "SQUID"또는 LAN의 프록시입니다. 우리가 "시스템 관리자"라고 생각하는 가족이 우리의 지식을 연구하고 심화시킬 수있는 다른 좋은 자료는 없습니다.

  6.   페데리코

    귀하의 의견에 감사드립니다. 다음 기사에서는 Cyrus-SASL을 통해 로컬 자격 증명 (PAM)에 대한 인증을 사용하는 Prosody 채팅 서버를 다루며 해당 서비스는 동일한 서버에서 구현됩니다.

  7.   켄파치Ro17

    좋은 시간에 시골 사람 !!!! 저와 같은 자유 소프트웨어에 대한 지식이 많지 않고 이것만큼 절묘한 기사로 배우는 데 열정적 인 사람들에게도 큰 공헌을했습니다. 나는 당신의 공헌을 따라 왔고 나는 무질서하게 읽었고 세부 사항을 놓치는 것이 많은 귀중한 내용이라고 생각하기 때문에이 시리즈의 SME Networks에서 시작하기 위해 어떤 기사를 추천 하시겠습니까? 더 이상, 인사 및 공유 지식과 소프트웨어가 무료로 남아 있기를 바랍니다!

    1.    페데리코

      촌뜨기 인사 !!!. 먼 길처럼 보일지 모르지만 길을 잃지 않도록 가장 짧은 길이라고 처음부터 시작하는 것이 좋습니다. 색인에서-마지막 두 기사로 업데이트되지 않음- https://blog.desdelinux.net/redes-computadoras-las-pymes-introduccion/, 우리는 시리즈의 권장 독서 순서를 설정했습니다. 워크 스테이션, 주제에 전념하는 여러 게시물로 계속 가상화, 여러 봉투를 따르십시오. BIND, Isc-Dhcp-Server 및 Dnsmasq, 그리고 우리가 현재있는 SME 네트워크의 서비스 구현 부분에 도달 할 때까지 계속됩니다. 도움이되기를 바랍니다.

      1.    켄파치Ro17

        글쎄요 !!!! 바로 처음부터 시리즈로 시작하고 새로운 기사를 기대합니다. 건배 !!!!