ip bind
IP bind는 성능이 좋은 시스템에서 하나의 NIC에 여러 개의 IP 주소를 할당하는 기법으로 각각 IP 별로 도메인을 할당해서 운영하는 기법이다.
=>현재 상태에서는 여러 IP 주소가 하나의 웹 사이트를 운영하는 Round-Robin 방식이 되었다
NFS(Network File Sharing)와 Samba(SWAT)
Linux와 Windows 머신 사이, Linux와 Linux 머신 사이의 파일과 디렉터리(폴더) 공유에 대해서 살펴보자. Linux와 Windows 머신 사이에서 파일/프린터 공유는 Samba를 사용하고, Samba를 웹으로 운영하는 것이 SWAT이다. Linux 머신끼리의 파일 공유에는 NFS를 사용한다. 그리고 자동으로 마운트를 관리해주는 /etc/fstab과 같은 autofs도 알아본다.
자동으로 마운트 데몬을 제어하는 autofs 도구를 사용해보자.
이 도구는 파일 시스템을 마운트하고 일정 기간 사용하지 않으면 언마운트해주는 프로그램이다. 이렇게 특정 장치를 특정 장소로 마운트 해주는 것을 Map 한다고 하는데 주로 NFS, CD /DVD, FDD 등의 장치를 사용할 때 이용할 수 있다.
Samba 서버 구축하기
Samba 서버는 Linux 머신과 Windows 머신 간의 파일/프린터를 공유하기 위해서 사용되는 패키지로써 Samba를 Linux 머신에 설치한다. Samba를 설치하면 winbind, smb, 그리고 nmb 프로토콜이 생기는데 winbind는 Windows 시스템과 UNIX/Linux 시스템간의 로그인을 담당하고, smb(Server Message Block)는 Windows 네트워크 파일시스템의 표준 프로토콜로써 Samba 데몬을 조정하는 snmb 서비스 데몬이며, nmb(NetBIOS Message Block)는 smb의 통제를 받으면서 Windows 머신의 NetBIOS 이름을 nmb를 통해서 Linux 머신에게 인식시켜 주고 139와 445 포트에서 작동되는 nmbd 서비스 데몬이다.
=>Windows 시스템에서는 Linux와의 연계를 위해서 smb 프로토콜이 활성화되는 부분에서 보안상 취약점이 된다.
SMBclient 사용하기
Samba는 Linux 머신에 공유폴더를 생성해서 Windows 머신들이 Linux로 들어가는 반면, smbclient는 반대로 Windows 머신에 공유폴더를 생성해서 Linux 머신들이 들어가게 한다. 물론 기본적으로 Linux에 Samba가 설치되어져 있어야 한다.
linux 머신에서 windows 머신의 디스트를 마운트할 때 -t cifs를 사용하는데 cifs는
linux 머신이 windows 머신의 ntfs 파일포맷을 인식하게 해준다.
Mail 서버(iRedMail과 Postfix) 설정 및 활용
전통적으로 Linux에서는 메일서버끼리 메일을 주고받는 SMTP를 위한 메일서버 프로그램으로 sendmail을 사용하고, 사용자가 메일 서버로 메일을 보내는 POP3/IMAP4를 위한 메일 클라이언트로 dovecot를 사용하며, 사용자들이 메일을 작성하거나 읽을 때 Thunder Bird, Web Mail, 혹은 Outlook Express와 같은 프로그램을 사용해서 메일을 주고받는다.
앞에서 알아본 mail, mailx, mutt 등은 도메인 없이 콘솔에서 간단하게 메일을 보내는데 사용될 수 있지만 여기서 소개할 iRedMail은 도메인에서 작동되는 보안에 강하고 설치가 간편한 메일서버이다. Windows 서버에서는 오픈소스인 hMailServer도 사용할 수 있다. Sendmail 대용으로 Postfix 메일 서버도 자주 사용되고, 클라이언트용으로 squirrel mail(다람쥐 메일)도 Linux 시스템에서 많이 사용된다.
메일서버는 구축이 복잡하기도 하고 설정 오류도 잘 나는데 DNS 서버인 named 데몬 설정에 문제가 있어서 제대로 작동하지 않거나, Windows의 Outlook Express에서 SMTP 서버가 제대로 작동되지 않고 POP3에 문제가 있을 때 주로 생긴다. Linux 서버가 있고 도메인_명을 가지고 있는 조직에서는 메일서버를 구축할 수 있으므로 메일서버를 설치해서 사용하면 좋다.
Proxy 서버(squid) 설정 및 활용
Proxy 서버는 로컬 네트워크상의 각 노드들이 인터넷 사이트에 들어갔던 정보를 쿠키(cookies)로 가지고 있기 때문에 Cache 서버로도 불린다. 프록시 서버는 로컬 호스트들의 인터넷 연결을 빠르게 해주는 기능과 특정 사이트에 접속하지 못하게도 하는 보안적 기능 두 가지를 가지고 있다. 웹 해킹의 대부분은 이 프록시 서버를 대상으로 해서 이뤄진다. Linux에서는 이 프록시 서버를 위해서 squid라는 패키지를 사용한다.
도메인내의 A 호스트가 www.daum.net으로 들어갔었다면 www.daum.net의 IP_주소를 프록시 서버가 캐시 메모리에 저장해 두었다가, B 호스트도 www.daum.net으로 들어가려고 하면 웹으로 나가서 www.daum.net 사이트의 이름풀이를 해오지 않고 프록시 서버의 캐시에 저장된 www.daum.net의 IP_주소를 꺼내서 바로 연결시켜준다. 이렇게 하면 네트워크상의 호스트들이 인터넷으로 나가지 않고도 원하는 사이트에 바로 접속되므로 접속 속도도 빠르고 웹을 사용하지 않기 때문에 전체적인 대역폭과 회선 효율이 좋아진다는 장점이 있다. 그리고 외부의 특정 사이트를 ACL(Access Control List) 같이 특정 파일을 지정해서 써주면 연결되지 않게 해서 보안을 강화시킬 수도 있다.
하지만 이 프록시 서버가 해킹당하면 조직 내부의 사용자들이 접속했던 외부 인터넷 사이트의 정보가 노출되고, 웹으로 오가는 패킷을 멈춰 세우고 패킷의 정보를 조작하는 BurpSuite와 Paros와 같은 웹 해킹도구에 당하기 쉬운 단점도 있으므로 관리자는 수시로 쿠키를 삭제해줄 필요가 있다.
로컬 네트워크에 DNS 서버가 있을 때 각 호스트의 DNS 설정에서 이 local DNS server의 IP를 설정해서 이름풀이를 해오듯이, 로컬 네트워크에 Proxy 서버가 있으면 각 호스트의 웹 브라우저에서 이 proxy 서버의 IP를 지정해서 사용하면 프록시 서버는 게이트웨이와 같이 로컬 호스트들이 웹을 사용할 때 반드시 이 프록시 서버를 경유하게 된다.