Monday, March 6, 2017

안전한 리눅스 운영을 위해 OS 설치 후 해야 할 10가지 (원제: 10 Security Tips for Linux Post-Install)


 새 컴퓨터에 리눅스를 설치하는 것이 얼마나 재미있는지 주위의 Geek들에게 물어보세요. 새로운 배포판을 시험해 보거나 새 업데이트를 설치할 때에는 카타르시스적인 즐거움이 있습니다.
 Linux는 본질적으로 Windows보다 안전하지만, 시스템을 더욱 견고하게 하기 위해 설치 후 해야할 몇 가지 단계가 있습니다.
 Linux OS를 강화하려면 다음 단계를 따르세요. 이것은 전체적인 가이드가 아니라 안전한 OS 설정을 위한 출발점일 뿐이라는 것을 기억하세요. 이 글에서는 사용자가 루트로 명령을 실행하는 것에 익숙하다고 가정합니다. 이 팁에 대해 추가적인 지원을 받기 위한 가장 빠른 옵션은 해당 배포판에 대해 인터넷 검색을 하는 것입니다. 여러분과 같은 문제점에 대해 답변이 올라와 있을 수 있는 수백 개의 커뮤니티 포럼들이 있습니다.

1) OS 업데이트

처음 여러분의 시스템으로 로그인 한 후에 먼저 업데이트 부터 실행해야 합니다. 터미널을 열고, 배포판 종류에 따라 다음과 같은 커맨드를 입력합니다. :

데비안계열:
 sudo apt-get update && time sudo apt-get dist-upgrade
레드햇계열:
 su -c 'yum update'

2) 방화벽 활성화

만약 여러분이 우분투를 사용 중이라면 방화벽은 기본적으로 꺼져 있습니다. 저는 GUI 환경 인터페이스인 'GUFW'에서 방화벽을 사용하기를 강력하게 권장합니다. GUFW는 다음 명령어로 설치합니다.:
 sudo apt-get install gufw

GUFW가 설치되고 나면 다음 명령어로 실행합니다.
 gufw

GUFW를 열고 슬라이드 버튼을 오른쪽으로 밀어 방화벽을 켭니다. 대부분의 사용자에게 Incoming: Deny 와 Outgoing: Allow 설정으로 충분할 것이지만, 커스텀 룰 또한 쉽게 추가할 수 있습니다.



 레드햇 버전 7에서는 방화벽이 기본적으로 켜져 있습니다. 여러분이 7보다 이전 버전을 사용하고 있는 경우에는 다음 명령어를 사용해 수동으로 방화벽을 켤 수 있습니다.:
 systemctl enable firewalld

 방화벽을 설정하고 그 값을 확인하기 위해 패널에서 System → Administration → Firewall 을 차례로 선택하거나 터미널에서 다음 명령어를 입력합니다.:
 system-config-firewall

3) 안티바이러스 소프트웨어 설치

이것은 의견이 첨예하게 대립하는 부분입니다. 악성 코드 및 바이러스는 주로 Windows 용으로 제작됨에도 불구하고 저는 AV 소프트웨어를 설치하는 것이 시스템을 강화하는 데 도움이 된다고 생각합니다. 사용자는 시스템이 더 안전해 질 수 있는 기회라면 어떤것이든지 이용해야 합니다. 최고의 무료 AV 솔루션인 ClamAV 이외에도 SophosESETComodo 및 Bitdefender와 같은 다른 Linux AV 제품들도 있습니다.

4) 써드파티 소프트웨어

타사 소프트웨어는 항상 /opt 디렉토리에 설치해야합니다. 자동실행되는 불필요한 프로그램이나 프로세스를 제거하여 공격노출면적을 최소화 해야합니다. 'netstat -npl' 명령은 현재 실행중인 모든 서비스를 나열합니다. 필요없는 서비스를 포착한 경우, 해당 서비스에 연결된 응용 프로그램을 제거하는 데 필요한 단계를 수행하십시오. 'top'명령은 어떤 프로세스가 가장 많은 시스템 자원을 차지하는지 확인하기에 편리하지만 다음 명령을 통해 'htop'을 설치하고 사용하기를 권합니다.
 sudo apt-get install htop

'pstree'명령은 프로세스를 보는 또 다른 멋진 방법인데, 프로세스를 트리 형식으로 나열해 보여줍니다.

5) SSH를 통한 Root 로그인 비활성화

/etc/ssh/sshd_config 파일에서 해당 부분을 다음과 같이 수정해 SSH를 통한 Root 유저 로그인을 비활성화합니다.
 #PermitRootLogin no

열 가장 앞부분에 위치한 '#'마크를 없앱니다.
파일을 닫고 다음 명령어를 사용해 SSH 서비스를 다시 시작합니다.
 /etc/init.d/sshd restart

6) X Windows 비활성화

여러분이 구축하는 것이 파일/메일/프린트 서버라면 Gnome이나 KDE같은 X Windows 데스크탑 환경은 필요치 않습니다. X Windows를 비활성화 함으로써 보안과 성능향상을 꾀할 수 있습니다. 다음 명령어를 통해 시스템 런레벨을 변경함으로써 X Windows를 비활성화할 수 있습니다.
다음 파일을 엽니다.: /etc/inittab
다음 내용의 행을 찾습니다.:
 id:5:initdefault:  
다음과 같이 수정합니다.:
 id:3:initdefault:

7) USB 플래시 메모리 비활성화

여러분의 리눅스 머신에서 아무도 USB 플래시 메모리 스토리지를 사용하지 못하게 하기 위한 쉬운 방법이 있습니다.
여러분이 좋아하는 문서편집기를 이용해 새 파일을 하나 만들어 다음과 같은 행을 추가합니다.:
 install usb-storage /bin/true
파일 이름을 usb-storage.conf로 하여 /etc/modprobe.d/ 디렉터리에 저장합니다. 시스템을 재부팅한 후 USB 플래시 드라이브를 연결해서 테스트해보면 마운트를 실패하는 모습을 확인할 수 있습니다.

8) CTRL-ALT-DELETE 비활성화

 프로덕션 서버를 구축할 때에는 시스템을 재부팅하는 커맨드인 Ctrl-Alt-Delete를 비활성하는 편이 좋습니다.
 문서편집기에서 /etc/inittab 파일을 열고, 다음 행 앞에 주석처리표시(#)를 추가하여 비활성화 합니다.
 ca::ctrlaltdel:/sbin/shutdown -t3 -r now

9) BIOS 보안

BIOS 설정으로 들어가 CD/DVD, USB, 외부 드라이브 등을 이용한 부팅을 비활성화합니다. BIOS 비밀번호를 활성화하고 강력한 비밀번호를 설정합니다.

10) 시스템 감사

여러분의 시스템을 감사하는 것을 돕는 많은 무료 툴들이 있습니다. 제가 추천하는 것은 로컬 보안 평가와 취약점 감사를 할 수 있는 오픈소스 툴 Lynis입니다.  이것은 가볍고 사용하기 쉽습니다. 단지 압축을 해제하고  ./lynis audit system 명령어만 실행하면 됩니다.



About the Author: Brian M. Thomas (@InfoSec_Brian) is a passionate professional with 17 years’ experience providing Tier-4 data solutions in all disciplines of IT including Network/Server administration and Information Security. Proven experience in HIPAA, ISO 27001 and PCI compliance. You can connect with him on LinkedIn here: https://www.linkedin.com/in/bmthomas.





번역된 컨텐츠입니다.
The State of Security. by Brian Thomas. https://www.tripwire.com/state-of-security/featured/10-security-tips-linux-post-install/

Translated article.
The State of Security. by Brian Thomas. https://www.tripwire.com/state-of-security/featured/10-security-tips-linux-post-install/

No comments:

Post a Comment