Server 3

다원·2023년 2월 9일
0

Server

목록 보기
3/4
post-thumbnail

Proxy Server (Squid)

로컬 네트워크 상의 각 노드들이 인터넷 사이트에 들어갔던 정보를 쿠키로 가지고 있기 때문에 Cache 서버로 불림

프록시 서버는 로컬 호스트들의 인터넷 연결을 빠르게 해주는 기능과 특정 사이트에 접속하지 못하게 하도록 하는 보안적 두 가지 보유
프록시 서버는 squid 패키지 사용

호스트가 외부로 접속하면 프록시 서버가 캐시 메모리에 저장해 두고 이 후 동일한 외부로 접속 할 시 별도의 이름풀이를 하지 않고 프록시 서버의 캐시에 저장된 정보를 가지고 연결

네트워크 상의 인터넷으로 나가지 않고도 원하는 사이트에 접속되므로 접속 속도도 빠르고 웹을 사용하지 않기에 전체적인 대역폭과 회선 효율이 좋다는 장점
외부 특정 사이트 ACL 같이 특정 파일을 지정해서 써주면 연결되지 않게 해서 보안 강화

프록시 서버가 해킹당하면 조직 내부의 사용자들이 접속했던 외부 인터넷 사이트의 정보가 노출
웹으로 오가는 패킷을 멈춰 세우고 정보 조작하는 Brupsite

safe port 이외의 막음
제일 끝에 deny가 있기 때문에 allow 먼저작성

가상화 서버

가상화 (Virtualiztion)
가상화 물리적으로 존재하지 않지만, 존재하는

Window 가상화 Hyper -V
Linux 가상화 KVM

Setting

install qemu-kvm libvirt-bin bridge-utils virt-manager qemu-system
qemu: 가상호스트 생성
virt: 명령어로 가상 호스트를 관리하는 프로그램

usermod -G libvirt -a ubuntu

D-Bus: 같은 머신에서 동시에 실행중인 여러 프로그램 간의 통신을 가능하게 하는 소프트웨어버스 프로세스 간의 통신, 원격 프로시저 호출 메커니즘

환경 변수 경로 지정
eval $(dbus-lauch --sh systax)
export DBUS_SESSION_BUS_ADDRSS
export DBUS_SESSION_BUS_PID

virsh를 사용하여 가상머신에 대한 정보 확인(현재 아무런 가상머신도 설치하지않음)

Virtmanager 사용


GUI 상태에서 virtual machine 생성 가능

centos7 설치 완료

window xp 설치 완료

list 확인 가능

virsh 명령어로 사용

CLI 사용하여 virtual machine 생성 가능
virt-install --name= --ram=1024 --os-type= --os-variant= precise
--hvm-connect=qemu:///system --network network:default --cdrom=/dev/sr0/~
GUI 사용하여 VirtualMachine Clone

Clone 한 Machine 비교

Migrat : 다른 네트워크가 연결이 되면 Migrate하여 다른 호스트에 전송도 가능

DHCP Server

Local 네트워크에서 호스트들에게 ip주소와 서브넷마스크, 게이트웨이 주소, DNS 서버주소, DHCP 서버 주소 등을 자동으로 할당해주는 DHCP 서버

DHCP 서버가 있는 곳에서 호스트에 작업 그룹과 호스트_명만 관리자가 지정해주면 나머지는 자동으로 설정되어서 인터넷 연결됨

Setting

install isc-dhcp-server && dhcpd.conf 파일 수정
range 설정으로 호스트에게 ip주소를 공유할 때 210번부터215 사이에서 할당받게 함

Windows에서 IPv4를 자동으로 할당받게 설정해두면 dhcp 서버로부터 IP주소를 할당받아옴

Centos NIC 설정 중 BOOTPROTO="dhcp"로 설정되면 dhcp 서버로부터 IP주소 할당 받아옴

DHCP 서버에서 IP주소를 할당해준 정보들을 알 수 있음

Time server (NTP:Network Time Protocol)

네트워크 상의 모든 호스트들의 시간을 일치시키는 것은 매우 중요
외부 인터넷 전자시계를 서버 시스템과 네트워크 노드들의 시간을 일치시키는 타임서버(NTP)
ntp는 udp 123 포트를 사용하기 때문에 방화벽 혹은 Security group 등에 udp 123 포트 open
install ntp ntpdate

Server Setting

  • ntp.conf 파일 수정
    restrict : 클라이언트의 접근을 허용하기 위해서 restrict 설정 추가

    사용할 외부 ntp 서버 주소 추가

    로컬 타임 서버로 동작하기 위해 127.127.1.0 서버 추가

    시스템 재 실행 후 ntp daemon 상태 확인
    local이 뜰 경우 ntp 서버로 준비 된 것

Client Setting

ntp.conf 파일에서 내부 ntp 서버의 IP 주소 추가

시스템 재 실행 후 ntpq 상태를 확인해보면 내부 NTP 서버와 동기화 되어있음을 확인 할 수 있음

NIS

서버와 클라이언트 디렉터리 서비스를 위한 프로토콜을 만들어서 사용
네트워크 상의 여러 호스트에 들어있는 호스의 시스템 구성 데이터들을 중아에서 하나의 서버가 저장하고 있다가 사용자가 서비스 이용할 때 서버 호스트에게 필요한 사용자의 데이터를 제공해주는 일종의 중앙 인증, 자원 관리 서버

토큰 : 인증에 대한 정보 LDAP: NIS 커버로스 : 리눅스와 유닉스의 인증 서버,
NIS에서는 토근을 사용, Kerberos는 티켓을 사용
unix를 설정할 때 인증서를 설정하게 되는데, 이때 NIS, LDAP, Kerberos 중 선택하게 함

RADDIUS: WINDOW의 인증 서버 (외부 접속자 인증)

Log Server

syslog를 통해서 각 서버에서 생성되는 로그들을 중앙 로그 서버로 보내는 rsyslog를 설정
Bacula 백업 서버와 같이 실제 서버에서 발생되는 로그들을 저장할 중앙 로그 서버를 두고, 로그 발생 시 자신과 원격지의 로그 서버로 로그를 보내는 메카니즘

외부 사용자가 침투 후 흔적 지우기를 통해 로그 수정하므로, 실제 이외의 장소에 로그를 저장해두는 것이 일반적
백업 데이터나 시스템 설정파일, 로그파일 등은 별도의 시스템의 저장 공간을 사용

Bacula 서버는 웹, DB, 파일 서버 등에서 발생하는 데이터를 백업하는 도구
Rsyslog(원격로그 서버)는 각 프로세스엣 발생되는 로그를 주앙아에서 모아두는 도구

네트워크에서 발생하는 모두를 rsyslog에서 모두 긁어보는 것

외부에서 ssh 접속한 로그 직접(서버) 확인

외부에서 yum을 사용했던 이력 직접(서버) 확인할 때

서버에서 사용했던 로그를 /var/log/서버 호스트_name으로 저장되어있어야함
원격 로그 서버를 가지고 있다면 로그 레벨을 구별해서 @@로 하면됨

NAT (Masqerade) 서버 설정 및 활용

내부 사설 IP주소가 외부로 나갈 때 공적 IP주소로 바뀌거나
외부 공적 IP가 내부로 접속할 때 내부 사설 IP로 전환되게 해주는 기술이 바로 NAT

NIC 2개가 필요하며, NIC=1 Bridge, NIC2=NAT
postrouting: 먼저 라우팅을 한 다음에 전송하게 설정

Kerberos

사용자가 windows의 내부 네트워크 침투를 확인할 수 있음
네트워크 인증 프로토콜,
티겟기반의 강력한 암호 인증을 호스트에 제공해서 클라이언트와 서버가 더욱 안전한 상태에서 통신하게 함
방화벽이 외부에서 침투하는 것을 알아낸다면, kerberos는 내부 네트워크에서의 침투를 알아낸다고 볼 수 있음
현재 커버로스는 KRB5로 불리는데 서버에 설치해서 중앙에서 인증해주는 시스템으로써 KDC라고 부름 (KeyDistribution Center)라고 부름

KDC 서버에 등록된 서버는 해당 서버에 연결하는 클라이언트들에게 신뢰를 줄 수 있음
KDC 서버는 사용자와 호스트에 관한 비밀키를 가지고 있다가
클라이언트가 다양한 방법으로 접속 할 때 TGT을 요청해 오면
클라이언트에게 티켓을 발행해주고 클라이언트는 이 티켓으로 인증 받아서 원하는 서버에 접속할 수 있게 하는 구조

무선과 Windows 서버에서 원격 접속자를 인증해주는 Radius 인증서버와 유사
Kerberos는 시간 정보에 민간함으로 서버와 클라이언트 간의 시간 동기화가 반드시 필요

Server Setting

install krb5-server krb5-workstation pam_krb5

  • kadm5.acl & kdc.conf 도메인 설정
  • krb5.conf 메인 설정 파일 변경
  • 관리자 키 생성
  • 프롬포트 접속하여 사용자와 티켓 확인
  • 프롬포트에서 사용자 생성
  • 호스트 키 생성 (rand: 랜덤으로 호스트의 키 생성)
  • 사용자와 티켓 확인

Client Setting

install krb5-workstation pam_krb5

  • 서버로 부터 메인 설정 파일(krb5.conf) 받음
  • sshd_conf 파일에서 GSSAPI 확인 Authentication yes일 경우 ssh 연결 시 커버로스를 사용하겠다는 의미

    krb5 인증 업데이트 > authconfig --enablekrb5 --update
    인증 tui로 접속하여 커버로스 인증서 사용 여부 체크 한 뒤 next

    Kerberos Setting 확인

커버로스 인증서를 이용하여 ssh 연결

ssh 연결 시 -K옵션을 주어 커버로스 인증서로 접속

profile
공부일지,

0개의 댓글