서버 설정 · 2 min read · Dec 30, 2025
CentOS 5.1에서 Virtualmin을 사용한 가상 호스팅 방법 - 페이지 4
Dovecot 설정
소개
이것은 dovecot을 IMAP/POP3 서버로 설정합니다.
기본 구성
IMAP 및 POP3에 대해 dovecot을 설정하고 SSL을 비활성화합니다.
protocols = imap pop3
listen = *
ssl_listen = *
ssl_disable = yes
Maildir
기본 mbox 형식 대신 maildir 형식을 사용합니다.
mail_location = maildir:~/Maildir
인증 및 SASL
많은 MS 클라이언트가 암호화된 인증 메커니즘을 사용할 수 없기 때문에 LOGIN 및 PLAIN을 인증 메커니즘으로 사용하도록 dovecot을 구성합니다. 또한 postfix가 dovecot을 사용하여 SMTP 연결을 인증할 수 있도록 SASL 소켓을 설정합니다.
auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
클라이언트 문제
outlook 계열의 일부 MS imap 클라이언트는 IMAP 및 POP3 구현 모두에 문제가 있으므로 이러한 우회 방법을 설정하여 그들을 수용해야 합니다:
protocol imap {
imap_client_workarounds = outlook-idle delay-newmail
}
protocol pop3 {
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
프록시 뒤에서 IMAP 실행
imap 서버는 포트 10143에서 실행되도록 구성되어 있으며, 포트 143은 imap 프록시 서버가 처리하여 웹메일의 성능을 개선합니다. 프로토콜 아래의 listen 옵션이 이를 설정합니다.
protocol imap {
imap_client_workarounds = outlook-idle delay-newmail
listen = 127.0.0.1:10143
}
샘플 파일
- dovecot.conf
Imap 프록시 설정
소개
imapproxy는 IMAP 서버에 지속적인 연결을 유지할 수 없는 웹메일 클라이언트를 보완하기 위해 작성되었습니다. 대부분의 웹메일 클라이언트는 거의 모든 거래에 대해 IMAP 서버에 로그인해야 합니다. 이 동작은 IMAP 서버에서 비극적인 성능 문제를 일으킬 수 있습니다. imapproxy는 웹메일 클라이언트가 로그아웃한 후 서버 연결을 잠시 열어 두어 이 문제를 해결하려고 합니다. 웹메일 클라이언트가 다시 연결하면 imapproxy는 캐시된 연결이 있는지 확인하고 가능하면 재사용합니다. - imapproxy 웹사이트에 따르면.
구성
파일 /etc/imapproxy.conf에서 다음과 같은 변경을 합니다:
server_hostname 127.0.0.1
cache_size 3072
listen_port 143
server_port 10143
cache_expiration_time 900
proc_username nobody
proc_groupname nobody
stat_filename /var/run/pimpstats
protocol_log_filename /var/log/imapproxy_protocol.log
syslog_facility LOG_MAIL
send_tcp_keepalives no
enable_select_cache yes
foreground_mode no
force_tls no
enable_admin_commands no
샘플 파일
- imapproxy.conf
Bind 설정
소개
Bind는 보안을 강화하기 위해 chroot로 설정되며, DNS 서버의 남용을 방지하기 위해 뷰를 사용합니다.
기본 구성
기본 구성은 기본적으로 재귀 쿼리 및 존 전송을 비활성화합니다. 또한 스크립트 키디로부터 제로 데이 취약점에 노출되지 않도록 실행 중인 BIND의 버전을 숨깁니다.
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
listen-on {
127.0.0.1;
192.168.1.5;
};
version "just guess";
allow-recursion { "localhost"; };
allow-transfer { "none"; };
};
로깅
로깅은 로그에 나타나는 성가신 “lame-server” 및 업데이트 오류를 제거하도록 사용자 정의됩니다:
logging {
category update { null; };
category update-security { null; };
category lame-servers{ null; };
};
Chroot
이것이 /etc/sysconfig/named 파일에 설정되어 있는지 확인합니다(보통 bind-chroot 패키지에 의해 설정됨):
ROOTDIR=/var/named/chroot
서버 포인트
이 서버를 DNS 해상도에 사용하도록 기계가 설정합니다. /etc/resolv.conf를 편집하고 다음을 추가합니다:
nameserver 127.0.0.1
샘플 파일
- named.conf
- /etc/sysconfig/named
Vsftpd 설정
소개
vsftpd를 FTP 서버로 사용할 것입니다. 이는 proftpd 및 wuftpd 서버보다 더 나은 실적을 가지고 있습니다.
기본 설정
기본 설정은 익명 사용자를 비활성화하고 로컬 시스템 사용자가 FTP 서버에 연결할 수 있도록 활성화합니다.
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to example.com server
pam_service_name=vsftpd
tcp_wrappers=YES
Chroot
모든 사용자는 홈 디렉토리로 chroot됩니다(단, /etc/vsftpd/chroot_list 파일에 있는 사용자 이름 제외). 즉, 다른 사용자의 파일을 볼 수 없습니다.
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
금지된 사용자
/etc/vsftpd/user_list 파일에 추가된 사용자는 로그인할 수 없습니다:
userlist_enable=YES
샘플 파일
- vsftpd.conf
- user_list
- chroot_list
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.