Tboot 이란 Trusted Execution Technology)를 리눅스에서 구현한 부트 프로세스 입니다.
목적은 운영체제의 신뢰성 입증과 운영체제가 신뢰된 환경에서 시작하는 것을 보장합니다.
또한 증명되지 않은 한 이용할 수 없는, 보안 기능이 추가된 신뢰된 운영체제를 제공하는 역할을 하고 있습니다.
Intel TXT (Inten Trusted Execution Technology)는 시스템 소프트웨어와 로컬 및 원격 관리 어플리케이션, 이들의 측정값을 사용하는기 가능하도록 하는 소프트웨어와 플랫폼 콤포넌트의 측정을 제공하기 위해서 TPM (Trusted Platform Module)의 암호화 기술을 이용합니다.
이것은 BOIS가 공격을 당했거나 플랫폼의 설정이 바뀌는 것에 대한 대비를 하도록 되어 있습니다.
요약하면 tboot은 BIOS에 해킹 코드가 심어지는것을 대비하기 위해서 만들어졌는데
벤더에서 제공하는 서버의 BIOS는 정상이라 판단하고 OS를 설치하기 때문에
이것을 무효화 하는 방법을 알아보겠습니다.
1. 패키지 설치시에 제외
tboot 패키지는 Base system > Base > tboot (언체크)
킥스타트의 경우에는 %Packages 섹션에서 -tboot 로 명시
-----------------------------
%Packages
@Base --optional
-tboot
------------------------------
이제 혹시나 설치가 되어버렸다고 한다면 다음과 같은 절차로 삭제를 해줍니다.
1. 새로운 부팅 메뉴 추가
목적은 운영체제의 신뢰성 입증과 운영체제가 신뢰된 환경에서 시작하는 것을 보장합니다.
또한 증명되지 않은 한 이용할 수 없는, 보안 기능이 추가된 신뢰된 운영체제를 제공하는 역할을 하고 있습니다.
Intel TXT (Inten Trusted Execution Technology)는 시스템 소프트웨어와 로컬 및 원격 관리 어플리케이션, 이들의 측정값을 사용하는기 가능하도록 하는 소프트웨어와 플랫폼 콤포넌트의 측정을 제공하기 위해서 TPM (Trusted Platform Module)의 암호화 기술을 이용합니다.
이것은 BOIS가 공격을 당했거나 플랫폼의 설정이 바뀌는 것에 대한 대비를 하도록 되어 있습니다.
요약하면 tboot은 BIOS에 해킹 코드가 심어지는것을 대비하기 위해서 만들어졌는데
벤더에서 제공하는 서버의 BIOS는 정상이라 판단하고 OS를 설치하기 때문에
이것을 무효화 하는 방법을 알아보겠습니다.
1. 패키지 설치시에 제외
tboot 패키지는 Base system > Base > tboot (언체크)
킥스타트의 경우에는 %Packages 섹션에서 -tboot 로 명시
-----------------------------
%Packages
@Base --optional
-tboot
------------------------------
이제 혹시나 설치가 되어버렸다고 한다면 다음과 같은 절차로 삭제를 해줍니다.
1. 새로운 부팅 메뉴 추가
# ARGS=$(grep "^[[:space:]]*module /vmlinuz-$(uname -r)" /boot/grub/grub.conf | sed -e 's/^.*x86_64 //' | head -n 1)
# grubby --add-kernel=/boot/vmlinuz-$(uname -r) --args="${ARGS}" --initrd=/boot/initramfs-$(uname -r).img --make-default --title "Red Hat Enterprise Linux without tboot ($(uname -r))"
# cat /boot/grub/grub.conf
default=0 timeout=5 serial --unit=0 --speed=115200 terminal --timeout=5 serial console title Red Hat Enterprise Linux without tboot (2.6.32-358.el6.x86_64 kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg00-root intel_iommu=on rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg00/swap LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/root crashkernel=auto crashkernel=auto console=ttyS0,115200 rd_NO_DM initrd /initramfs-2.6.32-358.el6.x86_64.img title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /tboot.gz logging=vga,serial,memory module /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg00-root intel_iommu=on rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg00/swap LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/root crashkernel=auto crashkernel=auto console=ttyS0,115200 rd_NO_DM module /initramfs-2.6.32-358.el6.x86_64.img
2. tboot 부팅 메뉴 제거
# grubby --remove-kernel=/boot/tboot.gz
# cat boot/grub/grub.conf default=0 timeout=5 serial --unit=0 --speed=115200 terminal --timeout=5 serial console title Red Hat Enterprise Linux without tboot (2.6.32-358.el6.x86_64 kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg00-root intel_iommu=on rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg00/swap LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/root crashkernel=auto crashkernel=auto console=ttyS0,115200 rd_NO_DM initrd /initramfs-2.6.32-358.el6.x86_64.img
3. 리부팅 후 새로 추가된 부팅 메뉴가 문제 없는지 확인
4. /etc/sysconfig/kernel을 수정
[root@rhel6 ~]# cat /etc/sysconfig/kernel
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel
위와 같이 되어 있지 않다면 수정을 해줍니다.
5. tboot 패키지 제거
# yum -y erase tboot
댓글
댓글 쓰기