Skip to content

조회 수 16166 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
portsentry

-------------------------------------------------------------------

portsentry-1.2-1.te.src.rpm : (portsentry-1.2-1.te.src.rpm )


portsentry-1.2-1.te.centos5.2.i386.rpm

-------------------------------------------------------------------



1. 다운 및 RPM 파일 생성 - 소스 rpm을 이용해 설치를 한다.

 
[root@server3 ~]# cd Desktop
[root@server3 Desktop]# ls
portsentry-1.2-1.te.src.rpm

[root@server3 Desktop]# rpm -Uvh portsentry-1.2-1.te.src.rpm - rpm으로 소스rpm을 설치한다.
경고: portsentry-1.2-1.te.src.rpm: Header V3 DSA signature: NOKEY, key ID df3d5207
   1:portsentry             경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
경고: tengel 사용자가 존재하지 않습니다 - root를 이용합니다
########################################### [100%]


rpm 파일 생성

[root@server3 SPECS]# pwd
/usr/src/redhat/SPECS - 소스 rpm을 실행하면 /usr/src/redhat/SPECS 폴더에 xxx.spec 파일이 만들어 진다.
[root@server3 SPECS]# ls
portsentry.spec
[root@server3 SPECS]# rpmbuild -bb portsentry.spec - rpmbuild 명령어를 이용해 rpm 파일을 생성한다.
실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.13137
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /usr/src/redhat/BUILD
+ rm -rf portsentry_beta
+ /bin/gzip -dc /usr/src/redhat/SOURCES/portsentry-1.2.tar.gz
+ tar -xvvf -
drwxr-xr-x crowland/users    0 2003-05-24 03:10:13 portsentry_beta/
-rw-r--r-- crowland/users 54342 2003-05-24 03:10:13 portsentry_beta/portsentry.c
-rw------- crowland/users  2876 2003-05-24 03:10:13 portsentry_beta/portsentry.h
-rw------- crowland/users 21027 2003-05-24 03:10:13 portsentry_beta/portsentry_io.c
-rw------- crowland/users  1933 2003-05-24 03:10:13 portsentry_beta/portsentry_io.h
-rw-r--r-- crowland/users  4618 2003-05-24 03:10:13 portsentry_beta/portsentry_util.c
-rw-r--r-- crowland/users  1360 2003-05-24 03:10:13 portsentry_beta/portsentry_util.h
-rw------- crowland/users  1746 2003-05-24 03:10:13 portsentry_beta/portsentry_config.h
-rw------- crowland/users  4688 2003-05-24 03:10:13 portsentry_beta/portsentry_tcpip.h
-rw------- crowland/users   480 2003-05-24 03:10:13 portsentry_beta/portsentry.ignore
-rw------- crowland/users 11198 2003-05-24 03:10:13 portsentry_beta/portsentry.conf
-rw------- crowland/users  6137 2003-05-24 03:10:13 portsentry_beta/Makefile
-rw------- crowland/users   372 2003-05-24 03:10:13 portsentry_beta/README.COMPAT
-rw------- crowland/users 20942 2003-05-24 03:10:13 portsentry_beta/README.install
-rw------- crowland/users  5364 2003-05-24 03:10:13 portsentry_beta/README.methods
-rw------- crowland/users  7310 2003-05-24 03:10:13 portsentry_beta/README.stealth
-rw------- crowland/users  8908 2003-05-24 03:10:13 portsentry_beta/CHANGES
-rw------- crowland/users  7044 2003-05-24 03:10:13 portsentry_beta/CREDITS
-rw------- crowland/users 15370 2003-05-24 03:10:13 portsentry_beta/LICENSE
-rwxr-xr-x crowland/users  2715 2003-05-24 03:10:13 portsentry_beta/ignore.csh
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd portsentry_beta
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #0 (portsentry-1.2.patch):'
Patch #0 (portsentry-1.2.patch):
+ patch -p1 -b --suffix .te -s
+ exit 0
실행 중(%build): /bin/sh -e /var/tmp/rpm-tmp.13137
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd portsentry_beta
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/bin/make -j2 linux
SYSTYPE=linux
Making
gcc  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DLINUX -DSUPPORT_STEALTH -o ./portsentry ./portsentry.c \
                ./portsentry_io.c ./portsentry_util.c
./portsentry.c: In function 'PortSentryModeTCP':
./portsentry.c:1187: warning: pointer targets in passing argument 3 of 'accept' differ in signedness
./portsentry.c:1216: warning: ignoring return value of 'write', declared with attribute warn_unused_result
./portsentry.c: In function 'PortSentryModeUDP':
./portsentry.c:1384: warning: pointer targets in passing argument 6 of 'recvfrom' differ in signedness
./portsentry_io.c: In function 'DaemonSeed':
./portsentry_io.c:84: warning: ignoring return value of 'chdir', declared with attribute warn_unused_result
+ exit 0
실행 중(%install): /bin/sh -e /var/tmp/rpm-tmp.32132
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd portsentry_beta
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /bin/rm -rf /var/tmp/portsentry-1.2-1.te-root
+ mkdir -p /var/tmp/portsentry-1.2-1.te-root/var/portsentry
+ /usr/bin/make install
Creating psionic directory /var/tmp/portsentry-1.2-1.te-root/usr/sbin
Setting directory permissions
Creating portsentry directory /var/tmp/portsentry-1.2-1.te-root/etc/portsentry
Creating portsentry directory /var/tmp/portsentry-1.2-1.te-root/usr/sbin
Setting directory permissions
chmod 700 /var/tmp/portsentry-1.2-1.te-root/etc/portsentry
Copying files
cp ./portsentry.conf /var/tmp/portsentry-1.2-1.te-root/etc/portsentry
cp ./portsentry.ignore /var/tmp/portsentry-1.2-1.te-root/etc/portsentry
cp ./portsentry /var/tmp/portsentry-1.2-1.te-root/usr/sbin
Setting permissions
chmod 600 /var/tmp/portsentry-1.2-1.te-root/etc/portsentry/portsentry.ignore
chmod 600 /var/tmp/portsentry-1.2-1.te-root/etc/portsentry/portsentry.conf
chmod 700 /var/tmp/portsentry-1.2-1.te-root/usr/sbin/portsentry


Edit /var/tmp/portsentry-1.2-1.te-root/etc/portsentry/portsentry.conf and change
your settings if you haven't already. (route, etc)


WARNING: This version and above now use a new
directory structure for storing the program
and config files (/var/tmp/portsentry-1.2-1.te-root/etc/portsentry).
Please make sure you delete the old files when
the testing of this install is complete.


+ /usr/bin/install -Dp -m 700 /usr/src/redhat/SOURCES/portsentry.init /var/tmp/portsentry-1.2-1.te-root/etc/init.d/portsentry
+ /usr/bin/install -Dp -m 600 /usr/src/redhat/SOURCES/portsentry.modes /var/tmp/portsentry-1.2-1.te-root/etc/portsentry/portsentry.modes
+ /usr/bin/install -Dp -m 600 /usr/src/redhat/SOURCES/portsentry.cron /var/tmp/portsentry-1.2-1.te-root/etc/cron.d/portsentry
+ /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/portsentry_beta
extracting debug info from /var/tmp/portsentry-1.2-1.te-root/usr/sbin/portsentry
166 blocks
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-java-repack-jars
파일 처리 중: portsentry-1.2-1.te
실행 중(%doc): /bin/sh -e /var/tmp/rpm-tmp.92492
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd portsentry_beta
+ DOCDIR=/var/tmp/portsentry-1.2-1.te-root/usr/share/doc/portsentry-1.2
+ export DOCDIR
+ rm -rf /var/tmp/portsentry-1.2-1.te-root/usr/share/doc/portsentry-1.2
+ /bin/mkdir -p /var/tmp/portsentry-1.2-1.te-root/usr/share/doc/portsentry-1.2
+ cp -pr CHANGES CREDITS LICENSE README.COMPAT README.install README.methods README.stealth /var/tmp/portsentry-1.2-1.te-root/usr/share/doc/portsentry-1.2
+ exit 0
Provides: config(portsentry) = 1.2-1.te
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(preun): /bin/sh
Requires(postun): /bin/sh
Requires: /bin/bash config(portsentry) = 1.2-1.te libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) rtld(GNU_HASH)
Obsoletes: sentry
파일 처리 중: portsentry-debuginfo-1.2-1.te
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/portsentry-1.2-1.te-root
작성: /usr/src/redhat/RPMS/i386/portsentry-1.2-1.te.i386.rpm
작성: /usr/src/redhat/RPMS/i386/portsentry-debuginfo-1.2-1.te.i386.rpm
실행 중(%clean): /bin/sh -e /var/tmp/rpm-tmp.92492
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd portsentry_beta
+ /bin/rm -rf /var/tmp/portsentry-1.2-1.te-root
+ exit 0
[root@server3 SPECS]#




2. 설치

 
[root@server3 i386]# pwd
/usr/src/redhat/RPMS/i386 - rpmbuild 명령어를 이용해 생성된 rpm 파일은 /usr/src/redhat/RPMS/i386에 생성된다.
[root@server3 i386]# ls
portsentry-1.2-1.te.i386.rpm  portsentry-debuginfo-1.2-1.te.i386.rpm

[root@server3 i386]# rpm -Uvh portsentry-1.2-1.te.i386.rpm - portsentry를 설치한다.
준비 중...               ########################################### [100%]
   1:portsentry             ########################################### [100%]
[root@server3 i386]#




3. 환경설정

 
[root@server3 ~]# vi /etc/portsentry/portsentry.conf
# PortSentry Configuration

#######################
# Port Configurations #   
#######################

- TCPwrapper 가 감시하는 포트들로 TCP, UDP ports 가 3 part로 설정되어 있다.
- 점검할 포트를 추가하거나, 점검하지 않을 포트들을 빼거나 할 수 있다.


# Un-comment these if you are really anal: - 상세하게 체크를 하려면 주석 제거후 사용한다.
#TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,2000,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034
,27665,30303,32771,32772,32773,32774,31337,40421,40425,49724,54320"

#UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,27444,34555,32770,32771,32772,32773,32774,31337,54321"

# Use these if you just want to be aware: - 디폴트로서 단지 어떤 일이 발생했는지만 파악하려면 사용한다.
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321"

# Use these for just bare-bones - 불피요한 것들을 제외하고 꼭 필요한 부분만 사용하려면 이 설정을 사용한다.
#TCP_PORTS="1,11,15,110,111,143,540,635,1080,1524,2000,12345,12346,20034,32771,32772,32773,32774,49724,54320"
#UDP_PORTS="1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321"

###########################################
# Advanced Stealth Scan Detection Options #
###########################################

- Advanced  모드로 모니터링 할 포트를 보여준다. 이곳에 설정된 포트 이하의 모든 포트들은 즉시 감시한다.
- 1024 포트 이상의 포트에 대해서는 잘못된 경고가 빈번하게 발생하므로 설정하지 않는 것이 좋다.

ADVANCED_PORTS_TCP="1024" - 1024 포트 이하는 스텔스 모드로 스캐닝하며 특정 포트를 지정하여 반응하지 않도록 할 수 있다.
ADVANCED_PORTS_UDP="1024"

# Default TCP ident and NetBIOS service  -- 스캐닝에서 제외하는 포트
ADVANCED_EXCLUDE_TCP="21,22,25,53,80,110,113,135,137,138,139,443"

# Default UDP route (RIP), NetBIOS, bootp broadcasts.
ADVANCED_EXCLUDE_UDP="520,517,518,513,138,137,123,68,67,53"

######################
# Configuration Files#
######################

# Hosts to ignore
- 무시할 호스트들을  저장한다.
- 해당하는 포트에 접속 요구가 들어올 때, 감지를 무시할 호스트들의 목록으로 localhost(127.0.0.1)와 0.0.0.0 IP 는 설정해야 한다.
IGNORE_FILE="/etc/portsentry/portsentry.ignore"

# Hosts that have been denied (running history) - 접근 거부된 적이 있는 호스트들을 저장한다.
HISTORY_FILE="/etc/portsentry/portsentry.history"

# Hosts that have been denied this session only (temporary until next restart) - 이번 연결에서만 거부된(재시작 될때까지 임시로 거부하는 ) 호스트들을 저장한다.
BLOCKED_FILE="/etc/portsentry/portsentry.blocked"

##############################
# Misc. Configuration Options#
##############################

RESOLVE_HOST = "1"

###################
# Response Options#
###################

- 공격자에 대한 처리 옵션이다. 각각의 옵션은 공격이 감지 되었을 때, 실행할 내용에 대한 설정이다.
- $TARGET$ 변수는 공격이 감지되었을 때 공격자의 주소가 대입된다.
- $PORT$ 는 스캔된 포트 값이 입력된다.

##################
# Ignore Options #
##################

# 0 = Do not block UDP/TCP scans. - UDP/TCP 스캔을 차단하지 않는다.
# 1 = Block UDP/TCP scans. - UDP/TCP 스캔을 차단한다.
# 2 = Run external command only (KILL_RUN_CMD) - 오직 외부 명령어만을 실행한다. (KILL_RUN_CMD)

BLOCK_UDP="1"
BLOCK_TCP="1"

###################
# Dropping Routes:#
###################

- 라우트를 누락시키거나 호스트를 내부의 필터링 테이블에 추가할 경우 사용한다. 패킷 필터를 쓰는 것이 좋다.

# Generic
#KILL_ROUTE="/sbin/route add $TARGET$ 333.444.555.666"

# Generic Linux
#KILL_ROUTE="/sbin/route add -host $TARGET$ gw 333.444.555.666"

# Newer versions of Linux support the reject flag now. This
# is cleaner than the above option.
#KILL_ROUTE="/sbin/route add -host $TARGET$ reject"

# Generic BSD (BSDI, OpenBSD, NetBSD, FreeBSD)
#KILL_ROUTE="/sbin/route add $TARGET$ 333.444.555.666"

# Generic Sun
#KILL_ROUTE="/usr/sbin/route add $TARGET$ 333.444.555.666 1"

# NEXTSTEP
#KILL_ROUTE="/usr/etc/route add $TARGET$ 127.0.0.1 1"

# FreeBSD
#KILL_ROUTE="route add -net $TARGET$ -netmask 255.255.255.255 127.0.0.1 -blackhole"

# Digital UNIX 4.0D (OSF/1 / Compaq Tru64 UNIX)
#KILL_ROUTE="/sbin/route add -host -blackhole $TARGET$ 127.0.0.1"

# Generic HP-UX
#KILL_ROUTE="/usr/sbin/route add net $TARGET$ netmask 255.255.255.0 127.0.0.1"

# ipfwadm support for Linux
#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$ -o"

# ipfwadm support for Linux (no logging of denied packets)
#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$"

# ipchain support for Linux
#KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"

# ipchain support for Linux (no logging of denied packets)
#KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY"

# iptables support for Linux
KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP" - 접근을 거부할 호스트들을 자동으로 iptables 에 추가한다.

#KILL_ROUTE="/sbin/ipfw add 1 deny all from $TARGET$:255.255.255.255 to any"

#KILL_ROUTE="/bin/echo 'block in log on external_interface from $TARGET$/32 to any' | /sbin/ipf -f -"

###############
# TCP Wrappers#
###############

- 이 설정을 사용하면 /etc/hosts.deny 에 접근 거부할 호스트들을 자동으로 추가시킨다.

- 확장된 host 순서 옵션이 불가능 할 경우 사용 (default)
#KILL_HOSTS_DENY="ALL: $TARGET$"

- 확장된 host 순서 옵션이 가능할 경우 사용
#KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"

###################
# External Command#
###################

- 호스트 연결이 이루어질 때 실행되는 명영이다.

#KILL_RUN_CMD_FIRST = "0"

#KILL_RUN_CMD="/some/path/here/script $TARGET$ $PORT$"

#KILL_RUN_CMD="/bin/mail -s 'Portscan from $TARGET$ on port $PORT$' user@host < /dev/null"

#####################
# Scan trigger value#
#####################

- 경고를 하기 전에 허용할 포트 연결 수를 입력한다. 초기값인 0은 바로 반응하는 것이며, 1 or 2로 설정하면 가끔 나타날 수 있는 거짓 경고를 줄여준다.

SCAN_TRIGGER="1"

######################
# Port Banner Section#
######################

- portsentry 에 의해 차단되는 접속자에게 보여줄 문장이다. 스탤스 스캔 감지 모드는 이 기능을 사용하지 않는다.

#PORT_BANNER="** UNAUTHORIZED ACCESS PROHIBITED *** YOUR CONNECTION ATTEMPT HAS BEEN LOGGED. GO AWAY."





4. 서비스 시작 및 확인

 
[root@server3 ~]# service portsentry start
portsentry (을)를 시작 중: (atcp)                          [  OK  ]
portsentry (을)를 시작 중: (audp)                          [  OK  ]

[root@server3 ~]# vi /etc/portsentry/portsentry.blocked.atcp - 이번 연결에서만 거부된(재시작 될때까지 임시로 거부하는 ) 호스트들을 확인 할 수 있다.
[root@server3 ~]# vi /etc/portsentry/portsentry.history - 접근 거부된 적이 있는 호스트들을 확인할 수 있다.
[root@server3 ~]# iptables -nL - iptables 에 거부할 호스트들을 추가하는 옵션을 설정해 놓으면 iptables를 통해 확인할 수 있다.



- 참고
/etc/portsentry/portsentry.modes : portsentry 모드 파일
portsentry 프로그램은 여섯개의 다른 모드로 동작한다. 하지만 한번에 하나의 프로토콜만 동작시킬 수 있다.
파일 안에 여섯가지의 가능한 모드를 추가한 다음 사용할 두가지 모드에 대해서만 주석을 제거하여 사용한다.
예)
#tcp - 기본적인 port-bound TCP 모드
#udp - 기본적인 port-bound UDP 모드
#stcp - 스텔스 TCP 스캔 감지 모드
sudp - 스텔스 UDP 스캔 감지 모드
atcp - advanced 스텔스 TCP 스캔 감지 모드
#audp - advanced 스텔스 UDP 스캔 감지 모드

  1. CentOS Portsentry 1.2 소스설치 오류

    Date2014.01.19 ByADMINPLAY Views7052
    Read More
  2. PHP 보안의 약방의 감초 open_basedir

    Date2014.01.02 ByADMINPLAY Views7520
    Read More
  3. Portsentry 1.1 설치하기

    Date2012.01.16 ByADMINPLAY Views15094
    Read More
  4. [그누보드관련] $_POST 는 이미 오염된(?) 변수다.

    Date2010.11.18 ByADMINPLAY Views16122
    Read More
  5. iptables와 mod_security 연동을 통한 ip 차단

    Date2010.09.15 ByADMINPLAY Views19763
    Read More
  6. Modsecurity 무료 웹방화벽 설치

    Date2010.09.12 ByADMINPLAY Views24049
    Read More
  7. Modsecurity-apache 2.5.X 설치중 에러 server: /usr/lib/...

    Date2010.09.12 ByADMINPLAY Views21285
    Read More
  8. Modsecurity-apache 2.5.12

    Date2010.09.12 ByADMINPLAY Views18707
    Read More
  9. modsecurity-2.5 configure: *** apr library not found.

    Date2010.09.12 ByADMINPLAY Views21131
    Read More
  10. iptables를 이용한 SSH brute force 공격방어

    Date2010.05.29 Byl2zeo Views19686
    Read More
  11. PHP 보안관련 설정 권고사항

    Date2010.05.19 ByADMINPLAY Views20208
    Read More
  12. php 수호신 설치

    Date2010.05.03 ByADMINPLAY Views20824
    Read More
  13. denyhosts (ssh, ftp 등의 접근 차단)

    Date2010.05.03 ByADMINPLAY Views21358
    Read More
  14. 웹어플리케이션 보안

    Date2010.05.03 ByADMINPLAY Views17148
    Read More
  15. php.ini 보안 설정

    Date2010.05.03 ByADMINPLAY Views20373
    Read More
  16. 해킹 당했는지 알아보는 방법

    Date2010.05.03 ByADMINPLAY Views19977
    Read More
  17. [적용] iptables 접속 차단 스크립트

    Date2010.05.03 ByADMINPLAY Views25616
    Read More
  18. 보안 체킹 프로그램 - portsentry

    Date2010.04.27 ByADMINPLAY Views16166
    Read More
  19. /etc/passwd 구조

    Date2010.03.31 Byl2zeo Views34919
    Read More
  20. 매직키를 이용한 응급복구법

    Date2010.03.31 Byl2zeo Views32083
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234