AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
이 튜토리얼은 OpenSMTPD, Dovecot, Rspamd 및 RainLoop을 사용하여 OpenBSD에서 실행되는 모든 기능을 갖춘 이메일 서버를 보여줍니다. OpenSMTPD는 OpenBSD의 기본 메일 서버입니다. 예상되는 사용자 수를 위해 충분한 스토리지가있는 Vultr Compute Cloud 인스턴스를 선택하십시오.
작업을 루트로 수행하도록 사용자 계정을 설정하십시오.
su -
usermod -G wheel <username>
echo "permit nopass keepenv :wheel" > /etc/doas.conf
exit
OpenBSD를위한 패키지 저장소를 설정하십시오.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
필요한 패키지를 추가하십시오.
doas pkg_add opensmtpd-extras opensmtpd-filter-rspamd dovecot dovecot-pigeonhole rspamd redis
기본적으로 OpenSMTPD는 로컬 호스트에서만 수신합니다. 외부 인터페이스를 수신하도록 명시 적으로 구성해야합니다. 보안을 위해 시스템 사용자 대신 가상 사용자를 사용하도록 구성해야합니다.
기본 /etc/smtpd.conf
파일을 백업하고 처음부터 새로 만듭니다.
cd /etc/mail
mv smtpd.conf smtpd.conf.default
smtpd.conf
아래와 같이 새로운 것을 만듭니다 . example.com
도메인으로 교체하십시오 . 이 초기 구성은 OpenSMTP를 테스트하는 동안 rspamd 필터를 활성화하지 않습니다. 스팸 필터는 나중에 활성화됩니다.
pki "mail" cert "/etc/ssl/mail.crt"
pki "mail" key "/etc/ssl/private/mail.key"
table aliases file:/etc/mail/aliases
table credentials passwd:/etc/mail/credentials
table virtuals file:/etc/mail/virtuals
filter "rspamd" proc-exec "/usr/local/libexec/smtpd/filter-rspamd"
# To accept external mail, replace with: listen on all
# listen on all tls pki "mail" hostname "mail.example.com"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
auth <credentials>
action "local_mail" mbox alias <aliases>
action "domain_mail" maildir "/var/vmail/example.com/%{dest.user}" \
virtual <virtuals>
action "outbound" relay
# Uncomment the following to accept external mail for domain "example.org"
# match from any for domain "example.com" action "domain_mail"
match from local for local action "local_mail"
match from local for any action "outbound"
match auth from any for any action "outbound"
OpenSMTPD와 Dovecot는 인증 데이터베이스를 공유 할 수 있습니다. 이 데이터베이스는 Dovecot에 대한 두 개의 추가 필드가있는 형식의 시스템 비밀번호 파일과 유사합니다. 두 개의 특수 필드는 가상 홈 디렉토리와 메일 위치를 정의합니다. 비밀번호는 복어 형식입니다. 이 학습서는 세 명의 예제 사용자를 작성합니다.
비밀번호를 생성하고 /etc/mail/credentials
파일에 연결 하십시오.
doas su
smtpctl encrypt example_password1 >> /etc/mail/credentials
smtpctl encrypt example_password2 >> /etc/mail/credentials
smtpctl encrypt example_password3 >> /etc/mail/credentials
exit
출력은 다음과 유사합니다.
$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6
$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e
$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq
/etc/mail/credentials
필수 필드를 추가하도록 편집하십시오 . 각 줄 은 UID 및 GID가 2000 인 시스템 계정 vmail에 매핑됩니다 . example.com을 도메인으로 바꿉니다. 가상 사용자 이름은 완전한 이메일 주소입니다.
[email protected]:$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6:vmail:2000:2000:/var/vmail/example.com/john::userdb_mail=maildir:/var/vmail/example.com/john
[email protected]:$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e:vmail:2000:2000:/var/vmail/example.com/adam::userdb_mail=maildir:/var/vmail/example.com/adam
[email protected]:$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq:vmail:2000:2000:/var/vmail/example.com/natalie::userdb_mail=maildir:/var/vmail/example.com/natalie
/etc/mail/credentials
권한은 읽기 전용에 대한합니다 _smtpd
및 _dovecot
시스템 사용자.vmail
시스템 사용자, 그룹 및 홈 디렉토리를 작성하십시오 .
vmail 시스템 사용자를 작성하면 다음 경고가 표시 useradd: Warning: home directory '/var/vmail' doesn't exist, and -m was not specified
됩니다.. 이것은 예상됩니다. 이것은에서 점 파일로 디렉토리를 어지럽히는 것을 피합니다 /etc/skel
. vmail 계정은 로그인을 허용하지 않기 때문에 필요하지 않습니다.
doas chmod 0440 / etc / mail / credentials doas chown smtpd : dovecot / etc / mail / credentials doas useradd -c "가상 메일 계정"-d / var / vmail -s / sbin nologin -u 2000 -g = uid -L staff vmail doas mkdir / var / vmail doas chown vmail : vmail / var / vmail
/etc/mail/virtuals
유효한 이메일 주소를 정의하도록 작성하십시오 .
/var/vmail/example.com/<user>
.이 파일에 정의되지 않은 주소에 대한 메일 배달은 배달 상태 알림과 함께 반송됩니다.
[email protected] : [email protected] [email protected] : [email protected] [email protected] : [email protected] [email protected] : [email protected] [email protected] : vmail [email protected] : vmail [email protected] : vmail
이 예에서는 자체 서명 된 인증서를 사용합니다. 서명이있는 유효한 서명 된 인증서를 사용하십시오. 공통 이름을 입력하라는 메시지가 표시되면 서버의 FQDN과 일치하는지 확인하십시오. 이 예는 mail.example.com을 사용합니다.
doas su
cd /etc/ssl
openssl genrsa -out private/mail.key 4096
openssl req -x509 -new -nodes -key private/mail.key -out mail.crt -days 3650 -sha256
chmod 0400 /etc/ssl/private/mail.key
exit
OpenSMTPD 구성 구문 검사기를 사용하십시오. 문제가 없으면 smtpd 데몬을 다시 시작하십시오.
doas smtpd -n
doas rcctl restart smtpd
외부 메일 계정에서 테스트 이메일을 사용자 중 하나에게 보냅니다.
/var/vmail
에 메일을 전달합니다 /var/vmail/example.com/<username>/new
.1576339842.4d64757b.example.com:2,
.모든 메일 헤더를 포함하여 파일의 내용을 검토하여 이메일 전송이 제대로 작동하는지 확인하십시오.
Return-Path: <n0244e80da3-54b1ed125c5342fc-adam===example.org@bounce.example.org>
Delivered-To: [email protected]
Received: from spruce-goose-ba.twitter.com (spruce-goose-ba.twitter.com [199.59.150.96])
by mail.example.com (OpenSMTPD) with ESMTPS id 75b514d3 (TLSv1.2:ECDHE-RSA-AES256-GCM- SHA384:256:NO)
for <[email protected]>;
Sat, 14 Dec 2019 11:10:40 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twitter.com;
s=dkim-201406; t=1576339839;
bh=jhKB5/w9v87GaXSuizT576ntJ/72gvLRDhsqmGQQrCE=;
h=Date:From:To:Subject:MIME-Version:Content-Type:List-Unsubscribe:
Message-ID;
b=TWn/QVUJ1VDlWiweWoanwHLABCL1nqmm0+TBzh3PjmYNm0quRMXB7QL2ykzHGME5A
DTz/JFHa0cOvQsrdhxxbjOLFKimK0nF+Ou5kI+2HzTzfVNZS0qGnTVP/tZyaIsWjjl
an5EiR6HFOHG4iClOOEOJW4oLDEZfPTefrlW+378bmHGIRUNDvVKrbXKunL9fJFAb3
JSrhWQNwbrF/aARFzw4nKfb1I7vTRSrN1eXE5JxzGwI2XAjqDIWdR5ExwUNbJH5ZPs
wQ85j8KLZEEgQkbH9CypgeUMJWsVK95FqOCCaqKMS10M7intGMb3aeiiFcB7yDHi9t
u7rVESm4eGp/g==
X-MSFBL: DM7pSZns+YDRgNEmGNre9aPjZTtc1tDlN97w5rQDBts=|eyJ1IjoibWF0dEBnb2J
sYWNrY2F0LmNvbUBpaWQjIzU0YjFlZDEyNWM1MzQyZmNiNThiMzVmNzI0NDZlMGF
mQHVzYiMjNkAyNDRAMTA4MjgwNTAxMDYzNzk1MDk3NkAwQDA4MjY5ZWI4OTI3YzR
kNTFiNTZkMjY3YzY2OGRmN2IwY2Y4M2ExZGIiLCJyIjoibWF0dEBnb2JsYWNrY2F
0LmNvbSIsImciOiJCdWxrIiwiYiI6InNtZjEtYmd4LTM0LXNyMS1CdWxrLjE4NiJ
9
Date: Sat, 14 Dec 2019 16:10:39 +0000
...
Dovecot는 기본 클래스에서 허용하는 것보다 많은 수의 파일을 읽고 쓸 수 있도록 열어야합니다. 이렇게하지 않으면 문제 해결이 어려운 오류가 발생합니다.
Dovecot 데몬의 로그인 클래스를 정의하십시오. 맨 아래에 /etc/login.conf
다음 줄 을 추가하십시오.
dovecot:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
만듭니다 /etc/dovecot/local.conf
.
auth_mechanisms = plain
first_valid_uid = 2000
first_valid_gid = 2000
mail_location = maildir:/var/vmail/%d/%n
mail_plugin_dir = /usr/local/lib/dovecot
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
mbox_write_locks = fcntl
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Archive {
auto = subscribe
special_use = \Archive
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
}
passdb {
args = scheme=CRYPT username_format=%u /etc/mail/credentials
driver = passwd-file
name =
}
plugin {
imapsieve_mailbox1_before = file:/usr/local/lib/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap sieve
service imap-login {
inet_listener imaps {
port = 0
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
}
ssl_cert = </etc/ssl/mail.crt
ssl_key = </etc/ssl/private/mail.key
userdb {
args = username_format=%u /etc/mail/credentials
driver = passwd-file
name =
}
protocol imap {
mail_plugins = " imap_sieve"
}
Dovecot에는 파일 에서 ssl_cert
및 ssl_key
설정이 무시되지 않는 버그가 local.conf
있으므로 주석 처리해야합니다. 이 단계를 놓치면 Dovecot이 올바르게 시작되지 않습니다.
/etc/dovecot/conf.d/10-ssl.conf
표시된대로 편집하십시오 .
...
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/ssl/dovecotcert.pem
#ssl_key = </etc/ssl/private/dovecot.pem
...
시브 (Sieve) 스크립트는 스팸 및 햄 에서 Rspamd를 교육 합니다. 정크 폴더 안팎으로 전자 메일을 이동하면 Rspamd를 훈련시키는 이벤트가 트리거됩니다.
이 파일은에 있습니다 /usr/local/lib/dovecot/sieve
.
report-ham.sieve
파일을 작성 하십시오.
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
if environment :matches "imap.mailbox" "*" {
set "mailbox" "${1}";
}
if string "${mailbox}" "Trash" {
stop;
}
if environment :matches "imap.user" "*" {
set "username" "${1}";
}
pipe :copy "sa-learn-ham.sh" [ "${username}" ];
report-spam.sieve
파일을 작성 하십시오.
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
if environment :matches "imap.user" "*" {
set "username" "${1}";
}
pipe :copy "sa-learn-spam.sh" [ "${username}" ];
파일을 컴파일하십시오.
sievec report-ham.sieve
sievec report-spam.sieve
다음 두 셸 스크립트를 만듭니다. /usr/local/lib/dovecot/sieve
에 다음을 추가하십시오 sa-learn-ham.sh
#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_ham
에 다음을 추가하십시오 sa-learn-spam.sh
#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_spam
파일을 실행 가능하게 만드십시오.
chmod 0755 sa-learn-ham.sh
chmod 0755 sa-learn-spam.sh
Dovecot를 활성화하고 시작하십시오.
rcctl enable dovecot
rcctl start dovecot
Dovecot이 올바르게 시작되었는지 확인하십시오.
ps ax | grep dovecot
88005 ?? I 0:00.11 /usr/local/sbin/dovecot
69640 ?? I 0:00.03 dovecot/anvil
91207 ?? I 0:00.03 dovecot/log
98178 ?? I 0:00.19 dovecot/config
34712 ?? I 0:00.06 dovecot/stats
96674 ?? I 0:00.03 dovecot/imap-login
8891 ?? S 0:00.02 dovecot/imap
Dovecot이 올바르게 읽을 수 있는지 확인 /etc/mail/credentials
doveadm user [email protected]
field value
uid 2000
gid 2000
home /var/vmail/example.com/john
mail maildir:/var/vmail/example.com/john
메일 사용자가 로그인 할 수 있는지 확인하십시오.
doveadm auth login [email protected]
Password: ********
passdb: [email protected] auth succeeded
extra fields:
[email protected]
userdb extra fields:
[email protected]
mail=maildir:/var/vmail/example.com/john
uid=2000
gid=2000
home=/var/vmail/example.com/john
auth_mech=PLAIN
기본 Rspamd 구성입니다. 자세한 내용은 공식 문서를 참조하십시오. 이 예에서는 DKIM 서명을 활성화하기 위해 도메인에 대한 정의를 만듭니다.
공개 / 개인 키 쌍을 /etc/mail/dkim
만들고 올바른 권한을 설정하십시오.
doas su
mkdir /etc/mail/dkim
cd /etc/mail/dkim
openssl genrsa -out private.key 1024
openssl rsa -in private.key -pubout -out public.key
chmod 0440 private.key
chown root:_rspamd private.key
공개 키를 포함하는 DKIM에 대한 DNS 레코드를 만듭니다. DKIM 레코드를 만드는 방법에 대한 자세한 내용은 DNS 공급자에게 문의하십시오. 아래 그림과 같이 DKIM 레코드 /etc/mail/dkim/public.key
의 p=
일부 에서 내용을 복사하여 붙여 넣습니다 . 이 예제는 SPF 레코드도 작성합니다.
default._domainkey.example.com. IN TXT "v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClcuK3FV3Ug64li8iFsuJ2ykgb7FMZsujk9uG79ppPUp57vCfjzO7F+HBfx5qIwvlGxv2IJXK86FZwhpUX+HFCDUtfB2z0ZNGerWcZfNzM1w1Bru/fdMd2tCYkiHEa5RWIkLfs/Fm+neXxRZfAG2UDWmAghNbgzYv7xViwgufDIQIDAQAB"
example.com. IN TXT "v=spf1 a ip4:192.0.2.1 mx ~all"
DMARC 레코드를 작성하십시오.
_dmarc.example.com. IN TXT "v=DMARC1;p=none;pct=100;rua=mailto:[email protected]"
/etc/rspamd/local.d/dkim_signing.conf
구성 파일을 작성 하십시오.
이 selector="default";
줄은 default._domainkey....
위에서 만든 DKIM DNS 레코드 ( ) 의 첫 부분에서 파생됩니다 .
domain {
example.com {
path = "/etc/mail/dkim/example.com.key";
selector = "default";
}
}
Rspamd를 활성화하고 시작하십시오.
doas rcctl enable redis rspamd
doas rcctl start redis rspamd
아래 줄을 변경하고 /etc/mail/smtpd.conf
OpenSMTPD를 다시 시작하여 Rspamd를 활성화하십시오.
...
listen on all tls pki "mail" hostname "mail.example.com" filter "rspamd"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
auth <credentials> filter "rspamd"
...
rcctl restart smtpd
POP3 또는 IMAP 이메일 클라이언트로 메일 서버를 테스트하십시오. 웹 메일이 필요하지 않으면 여기서 중지하십시오.
메시지가 표시되면 최신 버전의 PHP를 선택하십시오.
pkg_add php php-curl php-pdo_sqlite php-zip pecl73-mcrypt zip unzip wget curl
RainLoop 웹 메일 tarball을 가져 와서 압축을 풉니 다 /var/www/htdocs/
.
자동 업데이터가 포함 된 Standard Edition을 사용하십시오.
cd /tmp
wget https://www.rainloop.net/repository/webmail/rainloop-latest.zip
unzip rainloop-latest.zip -d /var/www/htdocs/rainloop
chown -R www:www /var/www/htdocs
/etc/examples/acme-client.conf
에/etc
파일 맨 아래에 다음 줄을 추가하십시오.
domain webmail.example.com {
domain key "/etc/ssl/private/webmail.example.com.key"
domain full chain certificate "/etc/ssl/webmail.example.com.crt"
sign with letsencrypt
}
webmail.example.com
/etc/httpd.conf
아래 예에 따라 편집하십시오 .
prefork 3
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on egress port 80
root "/htdocs"
directory index index.html
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
}
httpd 구문 검사를 실행하십시오.
httpd -n
httpd를 활성화하고 시작하십시오.
rcctl enable httpd
rcctl start httpd
Let 's Encrypt 인증서를 요청하십시오.
acme-client -v webmail.example.com
RainLoop에 대한 서버 정의를 추가하십시오. /etc/httpd.conf
server "webmail.example.com" {
listen on egress port 80
block return 302 "https://$SERVER_NAME$REQUEST_URI"
}
server "webmail.example.com" {
listen on egress tls port 443
root "/htdocs/rainloop"
directory index "index.php"
tcp { nodelay, backlog 10 }
tls {
certificate "/etc/ssl/webmail.example.com.crt"
key "/etc/ssl/private/webmail.example.com.key"
}
hsts {
max-age 31556952
preload
}
# Value below is 25MB in bytes. 1MB = 1048576 bytes
connection max request body 26214400
location "/data*" {
block return 403
}
location "*.php*" {
fastcgi socket "/run/php-fpm.sock"
}
}
최대 25MB의 첨부 파일을 허용하도록 PHP를 구성하십시오. 다음을 변경하십시오 /etc/php-7.3.ini
.
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 25M
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 29M
구성 파일을 복사하여 필요한 PHP 모듈을 활성화하십시오. /etc/php-7.3/
cp /etc/php-7.3.sample/* /etc/php-7.3/.
구문 확인 /etc/httpd.conf
httpd -n
httpd 및 php-fpm을 활성화하고 시작하십시오.
rcctl reload httpd
rcctl enable php73_fpm
rcctl start php73_fpm
로 이동하십시오 https://webmail.example.com/?admin
.
기본 사용자 이름은 다음과 같습니다. admin
기본 암호는 12345 입니다.
각 구성 섹션을 찾아보고 원하는대로 변경하십시오. 구성이 끝나면 웹 메일에 로그인하십시오.https://webmail.example.com
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구
우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true
과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.
26가지 빅 데이터 분석 기법에 대한 통찰: 1부
의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.