서비스_관리

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
서비스_관리 [2022/01/17 07:56] – [웹서비스 파일 업로드 및 다운로드 제한] fatp11th서비스_관리 [2022/01/18 00:59] (현재) – [Apache 웹 서비스 정보 숨김] fatp11th
줄 1039: 줄 1039:
 \\ \\
 ====웹서비스 영역의 분리==== ====웹서비스 영역의 분리====
 +
 점검목적 점검목적
 웹 서비스 영역과 시스템 영역을 분리시켜서 웹 서비스의 침해가 시스템 영역으로 확장될 가능성을 최소화하기 위함 웹 서비스 영역과 시스템 영역을 분리시켜서 웹 서비스의 침해가 시스템 영역으로 확장될 가능성을 최소화하기 위함
 +
 보안위협 보안위협
 웹 서버의 루트 디렉터리와 OS의 루트 디렉터리를 다르게 지정하지 않았을 경우, 비인가자가 웹 서비스를 통해 해킹이 성공할 경우 시스템 영역까지 접근이 가능하여 피해가 확장될 수 있음 웹 서버의 루트 디렉터리와 OS의 루트 디렉터리를 다르게 지정하지 않았을 경우, 비인가자가 웹 서비스를 통해 해킹이 성공할 경우 시스템 영역까지 접근이 가능하여 피해가 확장될 수 있음
 +
 점검방법 점검방법
 DocumentRoot의 별도 디렉터리 지정 여부 확인 DocumentRoot의 별도 디렉터리 지정 여부 확인
 +<WRAP prewrap>
 +<code vim>
 #vi /[Apache_home]/conf/httpd.conf #vi /[Apache_home]/conf/httpd.conf
 DocumentRoot "/usr/local/apache/htdocs" 또는 DocumentRoot "/usr/local/apache/htdocs" 또는
 DocumentRoot "/usr/local/apache2/htdocs" 또는 DocumentRoot "/usr/local/apache2/htdocs" 또는
 DocumentRoot "/var/www/html" DocumentRoot "/var/www/html"
 +</code>
 +</WRAP>
 +
 DocumentRoot가 별도의 디렉터리로 지정되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함 DocumentRoot가 별도의 디렉터리로 지정되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
-Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기+ 
 +Step 1) vi 편집기를 이용하여 ''/[Apache_home]/conf/httpd.conf'' 파일 열기 
 +<WRAP prewrap> 
 +<code bash>
  #vi /[Apache_home]/conf/httpd.conf  #vi /[Apache_home]/conf/httpd.conf
-Step 2) DocumentRoot 설정 부분에 /usr/local/apache/htdocs"/usr/local/apache2/htdocs", +</code> 
-"/var/www/html셋 중 하나가 아닌 별도의 디렉터리로 변경 DocumentRoot "디렉터리"+</WRAP> 
 + 
 +Step 2) DocumentRoot 설정 부분에 ''/usr/local/apache/htdocs''''/usr/local/apache2/htdocs''''/var/www/html'' 셋 중 하나가 아닌 별도의 디렉터리로 변경 
 +<WRAP prewrap> 
 +<code bash> 
 + DocumentRoot "디렉터리" 
 +</code> 
 +</WRAP> 
 \\ \\
 ====ssh 원격접속 허용==== ====ssh 원격접속 허용====
 +
 점검목적 점검목적
- 비교적 안전한 SSH 프로토콜을 사용함으로써 스니핑 등 아이디/패스워드의 누출의 방지를 목적으로 함+비교적 안전한 SSH 프로토콜을 사용함으로써 스니핑 등 아이디/패스워드의 누출의 방지를 목적으로 함 
 보안위협 보안위협
 원격 접속 시 Telnet, FTP 등은 암호화되지 않은 상태로 데이터를 전송하기 때문에 아이디/패스워드 및 중요 정보가 외부로 유출될 위험성이 있음 원격 접속 시 Telnet, FTP 등은 암호화되지 않은 상태로 데이터를 전송하기 때문에 아이디/패스워드 및 중요 정보가 외부로 유출될 위험성이 있음
 +
 점검방법 점검방법
 +
 Step 1) SSH 서비스 활성화 명령어 실행 Step 1) SSH 서비스 활성화 명령어 실행
-#service start sshd 또는#service start ssh+<WRAP prewrap> 
 +<code bash> 
 +#service sshd start 
 +또는 
 +#service ssh start 
 +또는 
 +#systemctl start sshd 
 +</code> 
 +</WRAP> 
 Step 2) SSH 설치가 필요할 경우 각 OS 벤더사로부터 SSH 서비스 설치 방법을 문의한 후 서버에 설치 Step 2) SSH 설치가 필요할 경우 각 OS 벤더사로부터 SSH 서비스 설치 방법을 문의한 후 서버에 설치
 \\ \\
 ====ftp 서비스 확인==== ====ftp 서비스 확인====
 +
 점검목적 점검목적
 취약한 서비스인 FTP서비스를 가급적 제한함을 목적으로 함 취약한 서비스인 FTP서비스를 가급적 제한함을 목적으로 함
 +
 보안위협 보안위협
 FTP 서비스는 통신구간이 평문으로 전송되어 계정정보(아이디, 패스워드) 및 전송 데이터의 스니핑이 가능함 FTP 서비스는 통신구간이 평문으로 전송되어 계정정보(아이디, 패스워드) 및 전송 데이터의 스니핑이 가능함
 +
 점검방법 점검방법
 +
 +<WRAP prewrap>
 +<code bash>
 일반 ftp 서비스 비활성화 여부 확인 일반 ftp 서비스 비활성화 여부 확인
 #ps -ef | grep ftp #ps -ef | grep ftp
-vsftpd 또는 ProFTP 서비스 데몬 확인(vsftpd, proftpd 동작 SID + 
-확인)+vsftpd 또는 ProFTP 서비스 데몬 확인(vsftpd, proftpd 동작 SID확인)
 #ps -ef | egrep "vsftpd|proftp" #ps -ef | egrep "vsftpd|proftp"
 root 3809 3721 0 08:44:40 ? 0:00 /usr/sbin/vsftpd root 3809 3721 0 08:44:40 ? 0:00 /usr/sbin/vsftpd
 +</code>
 +</WRAP>
 +
 불필요한 "ftp" 서비스 실행 시 아래의 보안설정방법에 따라 서비스 중지 불필요한 "ftp" 서비스 실행 시 아래의 보안설정방법에 따라 서비스 중지
 +
 vsftpd 또는 ProFTP 서비스 데몬 중지 vsftpd 또는 ProFTP 서비스 데몬 중지
- # service vsftpd(proftp) stop 또는 /etc/rc.d/init.d/vsftpd(proftp) stop 또는 kill -9 [PID]+<WRAP prewrap> 
 +<code bash> 
 +# service vsftpd(proftp) stop 
 +또는 
 +#/etc/rc.d/init.d/vsftpd(proftp) stop 또는 kill -9 [PID] 
 +</code> 
 +</WRAP> 
 + 
 \\ \\
 ====ftp 계정 shell 제한==== ====ftp 계정 shell 제한====
 +
 점검목적 점검목적
 FTP 서비스 설치 시 기본으로 생성되는 ftp 계정은 로그인이 필요하지 않은 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하기 위함 FTP 서비스 설치 시 기본으로 생성되는 ftp 계정은 로그인이 필요하지 않은 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하기 위함
 +
 보안위협 보안위협
 불필요한 기본 계정에 쉘(Shell)을 부여할 경우, 공격자에게 해당 계정이 노출되어 ftp 기본 계정으로 시스템 접근하여 공격이 가능해짐 불필요한 기본 계정에 쉘(Shell)을 부여할 경우, 공격자에게 해당 계정이 노출되어 ftp 기본 계정으로 시스템 접근하여 공격이 가능해짐
 +
 점검방법 점검방법
-ftp 계정에 대한 /bin/false 부여 확인+ftp 계정에 대한 ''/bin/false'' 부여 확인 
 +<WRAP prewrap> 
 +<code bash>
 #cat /etc/passwd #cat /etc/passwd
 ftp:x:500:100:Anonymous FTP ftp:x:500:100:Anonymous FTP
 USER:/var/ftp:/sbin/bash USER:/var/ftp:/sbin/bash
-"passwd파일 내 로그인 쉘 설정이 /bin/false"가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 +</code> 
-Step 1) vi 편집기를 이용하여 /etc/passwd” 파일 열기 +</WRAP> 
-Step 2) ftp 계정의 로그인 쉘 부분인 계정 맨 마지막에 /bin/false 부여 및 변경+ 
 +''passwd'' 파일 내 로그인 쉘 설정이 ''/bin/false''가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 
 + 
 +Step 1) vi 편집기를 이용하여 ''/etc/passwd'' 파일 열기 
 + 
 +Step 2) ftp 계정의 로그인 쉘 부분인 계정 맨 마지막에 ''/bin/false'' 부여 및 변경 
 +<WRAP prewrap> 
 +<code bash>
  (수정 전) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash  (수정 전) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash
  (수정 후) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/bin/false  (수정 후) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/bin/false
-Step 3) # usermod –s /bin/false [계정ID] 부여로 변경 가능 +</code> 
- Step 2 로 적용이 되지 않을 경우는 Step3의 usermod 명령어를 사용하여 쉘 변경+</WRAP> 
 + 
 +Step 3) Step 2 로 적용이 되지 않을 경우는 usermod 명령어를 사용하여 쉘 변경 
 +<WRAP prewrap> 
 +<code bash> 
 +# usermod –s /bin/false [계정ID] 부여로 변경 가능 
 +</code> 
 +</WRAP> 
 + 
 \\ \\
 ====Ftpusers 파일 소유자 및 권한 설정==== ====Ftpusers 파일 소유자 및 권한 설정====
 +
 점검목적 점검목적
- 비인가자들의 ftp 접속을 차단하기 위해 ftpusers 파일 소유자 및 권한을 관리해야함+비인가자들의 ftp 접속을 차단하기 위해 ftpusers 파일 소유자 및 권한을 관리해야함 
 보안위협 보안위협
 ftpusers 파일에 인가되지 않은 사용자를 등록하여 해당 계정을 이용, 불법적인 FTP 서비스에 접근이 가능함 ftpusers 파일에 인가되지 않은 사용자를 등록하여 해당 계정을 이용, 불법적인 FTP 서비스에 접근이 가능함
 +
 점검방법 점검방법
 ftpusers 파일에 대한 일반사용자 쓰기권한 확인 ftpusers 파일에 대한 일반사용자 쓰기권한 확인
 +<WRAP prewrap>
 +<code bash>
 #ls -al /etc/ftpusers #ls -al /etc/ftpusers
 #ls -al /etc/ftpd/ftpusers #ls -al /etc/ftpd/ftpusers
 rw-r----- root <ftpusers 파일> rw-r----- root <ftpusers 파일>
 +</code>
 +</WRAP>
 +
 “ftpusers" 파일의 소유자가 root가 아니거나 파일의 권한이 640 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 “ftpusers" 파일의 소유자가 root가 아니거나 파일의 권한이 640 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
 +
 FTP 종류 별 ftpusers 파일 위치 FTP 종류 별 ftpusers 파일 위치
-기본 FTP /etc/ftpusers 또는, /etc/ftpd/ftpusers +기본 FTP ''/etc/ftpusers'' 또는, ''/etc/ftpd/ftpusers'' 
-ProFTP /etc/ftpusers 또는, /etc/ftpd/ftpusers +ProFTP ''/etc/ftpusers'' 또는, ''/etc/ftpd/ftpusers'' 
-vsFTP /etc/vsftpd/ftpusers, /etc/vsftpd/user_list 또는, /etc/vsftpd.ftpusers, /etc/vsftpd.user_list +vsFTP ''/etc/vsftpd/ftpusers''''/etc/vsftpd/user_list'' 또는, ''/etc/vsftpd.ftpusers''''/etc/vsftpd.user_list'' 
-Step 1) /etc/ftpusers” 파일의 소유자 및 권한 확인 + 
- #ls -l /etc/ftpusers +Step 1) ''/etc/ftpusers'' 파일의 소유자 및 권한 확인 
-Step 2) /etc/ftpusers” 파일의 소유자 및 권한 변경 (소유자 root, 권한 640) +<WRAP prewrap> 
- #chown root /etc/ftpusers +<code bash> 
- #chmod 640 /etc/ftpusers+#ls -l /etc/ftpusers 
 +</code> 
 +</WRAP> 
 + 
 +Step 2) ''/etc/ftpusers'' 파일의 소유자 및 권한 변경 (소유자 root, 권한 640) 
 +<WRAP prewrap> 
 +<code bash> 
 +#chown root /etc/ftpusers 
 +#chmod 640 /etc/ftpusers 
 +</code> 
 +</WRAP> 
 ※ vsFTP를 사용할 경우 FTP 접근제어 파일 ※ vsFTP를 사용할 경우 FTP 접근제어 파일
-(1) vsftpd.conf 파일에서 userlist_enable=YES인 경우: vsftpd.ftpusers, vsftpd.user_list 또는 +(1) ''vsftpd.conf'' 파일에서 ''userlist_enable=YES''인 경우: vsftpd.ftpusers, vsftpd.user_list 또는 ftpusers, user_list 파일의 소유자 및 권한 확인 후 변경
-ftpusers, user_list 파일의 소유자 및 권한 확인 후 변경+
  (ftpusers, user_list 파일에 등록된 모든 계정의 접속이 차단됨)  (ftpusers, user_list 파일에 등록된 모든 계정의 접속이 차단됨)
-(2) vsftpd.conf 파일에서 userlist_enable=NO 또는, 옵션 설정이 없는 경우: vsftpd.ftpusers +(2) ''vsftpd.conf'' 파일에서 ''userlist_enable=NO'' 또는, 옵션 설정이 없는 경우: vsftpd.ftpusers 또는 ftpusers 파일의 소유자 및 권한 확인 후 변경
-또는 ftpusers 파일의 소유자 및 권한 확인 후 변경+
  (ftpusers 파일에 등록된 계정들만 접속이 차단됨)  (ftpusers 파일에 등록된 계정들만 접속이 차단됨)
 \\ \\
 ====Ftpusers 파일 설정==== ====Ftpusers 파일 설정====
 +
 점검목적 점검목적
 root의 FTP 직접 접속을 방지하여 root 패스워드 정보를 노출되지 않도록 하기 위함 root의 FTP 직접 접속을 방지하여 root 패스워드 정보를 노출되지 않도록 하기 위함
 +
 보안위협 보안위협
 FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 스니핑에 의해서 관리자 계정의 아이디 및 패스워드가 노출될 수 있음 FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 스니핑에 의해서 관리자 계정의 아이디 및 패스워드가 노출될 수 있음
 +
 점검방법 점검방법
 아래 파일에서 ftp에 대한 root 계정으로의 접속 가능 여부 확인 아래 파일에서 ftp에 대한 root 계정으로의 접속 가능 여부 확인
 +<WRAP prewrap>
 +<code bash>
 #cat /etc/ftpusers #cat /etc/ftpusers
 #cat /etc/ftpd/ftpusers #cat /etc/ftpd/ftpusers
 #root (주석처리) 또는, root 계정 미등록 #root (주석처리) 또는, root 계정 미등록
 +</code>
 +</WRAP>
 +
 ProFTP ProFTP
 +<WRAP prewrap>
 +<code bash>
 #cat /etc/proftpd.conf #cat /etc/proftpd.conf
 RootLogin on RootLogin on
 +</code>
 +</WRAP>
 +
 vsFTP vsFTP
 +<WRAP prewrap>
 +<code bash>
 #cat /etc/vsftp/ftpusers #cat /etc/vsftp/ftpusers
 #cat /etc/vsftp/user_list #cat /etc/vsftp/user_list
줄 1147: 줄 1250:
 #cat /etc/vsftpd.user_list #cat /etc/vsftpd.user_list
 #root (주석처리) 또는, root 계정 미등록 #root (주석처리) 또는, root 계정 미등록
 +</code>
 +</WRAP>
 +
 root 계정으로 FTP 접속이 가능하도록 위와 같이 설정된 경우 아래의 보안설정방법에 따라 설정을 변경함 root 계정으로 FTP 접속이 가능하도록 위와 같이 설정된 경우 아래의 보안설정방법에 따라 설정을 변경함
 +
 < 일반 FTP 서비스 root 계정 접속 제한 방법 > < 일반 FTP 서비스 root 계정 접속 제한 방법 >
-Step 1) vi 편집기를 이용하여 ftpusers 파일 열기 (/etc/ftpusers” 또는 /etc/ftpd/ftpusers+Step 1) vi 편집기를 이용하여 ''ftpusers'' 파일 열기 (''/etc/ftpusers'' 또는 ''/etc/ftpd/ftpusers'') 
- #vi /etc/ftpusers 또는 /etc/ftpd/ftpusers+<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/ftpusers 또는 /etc/ftpd/ftpusers 
 +</code> 
 +</WRAP> 
 Step 2) ftpusers 파일에 root 계정 추가 또는, 주석제거 Step 2) ftpusers 파일에 root 계정 추가 또는, 주석제거
- (수정 전) #root 또는, root 계정 미등록 +<WRAP prewrap> 
- (수정 후) root+<code bash> 
 +(수정 전) #root 또는, root 계정 미등록 
 +(수정 후) root 
 +</code> 
 +</WRAP> 
 < ProFTP 서비스 ROOT 접속 차단 > < ProFTP 서비스 ROOT 접속 차단 >
-Step 1) vi 편집기를 이용하여 proftpd 설정파일(/etc/proftpd.conf) 열기 + 
- #vi /etc/proftpd.conf +Step 1) vi 편집기를 이용하여 ''proftpd'' 설정파일(''/etc/proftpd.conf'') 열기 
-Step 2) proftpd 설정파일 (/etc/proftpd.conf)에서 RootLogin off 설정 +<WRAP prewrap> 
- (수정 전) RootLogin on +<code bash> 
- (수정 후) RootLogin off+#vi /etc/proftpd.conf 
 +</code> 
 +</WRAP> 
 + 
 +Step 2) proftpd 설정파일 (''/etc/proftpd.conf'')에서 RootLogin off 설정 
 +<WRAP prewrap> 
 +<code bash> 
 +(수정 전) RootLogin on 
 +(수정 후) RootLogin off 
 +</code> 
 +</WRAP> 
 Step 3) ProFTP 서비스 재시작 Step 3) ProFTP 서비스 재시작
 +
 < vsFTP 서비스 ROOT 접속 차단 > < vsFTP 서비스 ROOT 접속 차단 >
-Step 1) vi 편집기를 이용하여 ftpusers 파일 열기 (/etc/vsftp/ftpusers” 또는, /etc/vsftpd.ftpusers+Step 1) vi 편집기를 이용하여 ftpusers 파일 열기 (''/etc/vsftp/ftpusers'' 또는, ''/etc/vsftpd.ftpusers'') 
- #vi /etc/vsftp/ftpusers+<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/vsftp/ftpusers 
 +</code> 
 +</WRAP> 
 Step 2) ftpusers 파일에 root 계정 추가 또는, 주석제거 Step 2) ftpusers 파일에 root 계정 추가 또는, 주석제거
 +<WRAP prewrap>
 +<code bash>
  (수정 전) #root 또는, root 계정 미등록  (수정 전) #root 또는, root 계정 미등록
  (수정 후) root  (수정 후) root
 +</code>
 +</WRAP>
 +
 Step 3) vsFTP 서비스 재시작 Step 3) vsFTP 서비스 재시작
 +
 ※ vsFTP를 사용할 경우 FTP 접근제어 파일 ※ vsFTP를 사용할 경우 FTP 접근제어 파일
- (1) vsftpd.conf 파일에서 userlist_enable=YES인 경우: vsftpd.ftpusers, vsftpd.user_list 또는 ftpusers, user_list + (1) ''vsftpd.conf'' 파일에서 ''userlist_enable=YES''인 경우: vsftpd.ftpusers, vsftpd.user_list 또는 ftpusers, user_list (ftpusers, user_list 파일에 등록된 모든 계정의 접속이 차단됨) 
- (ftpusers, user_list 파일에 등록된 모든 계정의 접속이 차단됨) + (2) ''vsftpd.conf'' 파일에서 ''userlist_enable=NO'' 또는, 옵션 설정이 없는 경우: vsftpd.ftpusers 또는 ftpusers  (ftpusers 파일에 등록된 계정들만 접속이 차단됨)
- (2) vsftpd.conf 파일에서 userlist_enable=NO 또는, 옵션 설정이 없는 경우: vsftpd.ftpusers 또는 ftpusers +
- (ftpusers 파일에 등록된 계정들만 접속이 차단됨)+
 \\ \\
 ====at 파일 소유자 및 권한 설정==== ====at 파일 소유자 및 권한 설정====
 +
 점검목적 점검목적
 관리자외 at 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함 관리자외 at 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함
 +
 보안위협 보안위협
 root 외 일반사용자에게도 at 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음 root 외 일반사용자에게도 at 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음
 +
 점검방법 점검방법
-/etc/at.allow <- at 명령어 허용 사용자 +점검 파일 위치 
-/etc/at.deny  <- at 명령어 차단 사용자+''/etc/at.allow'' <- at 명령어 허용 사용자 
 +''/etc/at.deny''  <- at 명령어 차단 사용자
 "cron" 접근제어 설정이 적절하지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함 "cron" 접근제어 설정이 적절하지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
 +
 Step 1) at 명령어 일반사용자 권한 삭제 (at 명령어 위치는 OS별 다를수 있음) Step 1) at 명령어 일반사용자 권한 삭제 (at 명령어 위치는 OS별 다를수 있음)
  ※ at 명령어는 SUID가 설정되어 있으므로 SUID 설정 제거  ※ at 명령어는 SUID가 설정되어 있으므로 SUID 설정 제거
- # ls -l /usr/bin/at +<WRAP prewrap> 
- # chmod 4750 /usr/bin/at+<code bash> 
 +# ls -l /usr/bin/at 
 +# chmod 4750 /usr/bin/at 
 +</code> 
 +</WRAP> 
 Step 2) cron 관련 설정파일 소유자 및 권한 설정 Step 2) cron 관련 설정파일 소유자 및 권한 설정
 +<WRAP prewrap>
 +<code bash>
 # chown root <at 관련 파일> # chown root <at 관련 파일>
 # chmod 640 <at 관련 파일> # chmod 640 <at 관련 파일>
 +</code>
 +</WRAP>
 +
 ■ at 명령어를 일반사용자에게 허용하는 경우 ■ at 명령어를 일반사용자에게 허용하는 경우
-Step 1) /etc/cron.d/at.allow” 및 /etc/cron.d/at.deny” 파일의 소유자 및 권한 변경 +Step 1) ''/etc/cron.d/at.allow'' 및 ''/etc/cron.d/at.deny'' 파일의 소유자 및 권한 변경 
- #chown root /etc/cron.d/at.allow +<WRAP prewrap> 
- #chmod 640 /etc/cron.d/at.allow +<code bash> 
- #chown root /etc/cron.d/at.deny +#chown root /etc/cron.d/at.allow 
- #chmod 640 /etc/cron.d/at.deny +#chmod 640 /etc/cron.d/at.allow 
-Step 2) /etc/cron.d/at.allow” 및 /etc/cron.d/at.deny” 파일에 사용자 등록 +#chown root /etc/cron.d/at.deny 
- # cat /etc/at.allow (at 명령어 사용을 허용하는 사용자 등록) +#chmod 640 /etc/cron.d/at.deny 
- # cat /etc/at.deny (at 명령어 사용을 차단하는 사용자 등록)+</code> 
 +</WRAP> 
 + 
 +Step 2) ''/etc/cron.d/at.allow'' 및 ''/etc/cron.d/at.deny'' 파일에 사용자 등록 
 +<WRAP prewrap> 
 +<code bash> 
 +# cat /etc/at.allow (at 명령어 사용을 허용하는 사용자 등록) 
 +# cat /etc/at.deny (at 명령어 사용을 차단하는 사용자 등록) 
 +</code> 
 +</WRAP> 
 \\ \\
 ====SNMP 서비스 구동 점검==== ====SNMP 서비스 구동 점검====
 +
 점검목적 점검목적
 불필요한 SNMP 서비스 활성화로 인해 필요 이상의 정보가 노출되는 것을 막기 위해 SNMP 서비스를 중지해야함 불필요한 SNMP 서비스 활성화로 인해 필요 이상의 정보가 노출되는 것을 막기 위해 SNMP 서비스를 중지해야함
 +
 보안위협 보안위협
- SNMP 서비스로 인하여 시스템의 주요 정보 유출 및 정보의 불법수정이 발생할 수 있음+SNMP 서비스로 인하여 시스템의 주요 정보 유출 및 정보의 불법수정이 발생할 수 있음 
 점검방법 점검방법
 Step 1) ps –ef | grep snmp로 검색 Step 1) ps –ef | grep snmp로 검색
- root 2028 1 0 Nov 24 ? 0:00 /usr/sbin/snmpdm+<WRAP prewrap> 
 +<code bash> 
 +#ps –ef | grep snmp 
 +root 2028 1 0 Nov 24 ? 0:00 /usr/sbin/snmpdm 
 +</code> 
 +</WRAP> 
 Step 2) snmp 사용하지 않을 시 서비스 중지 Step 2) snmp 사용하지 않을 시 서비스 중지
- #service snmpd stop+<WRAP prewrap> 
 +<code bash> 
 +#service snmpd stop 
 +</code> 
 +</WRAP> 
 \\ \\
 ====SNMP 서비스 커뮤니티스트링의 복잡성 설정==== ====SNMP 서비스 커뮤니티스트링의 복잡성 설정====
 +
 점검목적 점검목적
 Community String 기본 설정인 Public, Private는 공개된 내용으로 공격자가 이를 이용하여 SNMP 서비스를 통해 시스템 정보를 얻을 수 있기 때문에 Community String을 유추하지 못하도록 설정해야함 Community String 기본 설정인 Public, Private는 공개된 내용으로 공격자가 이를 이용하여 SNMP 서비스를 통해 시스템 정보를 얻을 수 있기 때문에 Community String을 유추하지 못하도록 설정해야함
 +
 보안위협 보안위협
 Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 환경설정 파일 열람 및 수정을 통한 공격, Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 환경설정 파일 열람 및 수정을 통한 공격,
 간단한 정보수집에서부터 관리자 권한 획득 및 Dos공격까지 다양한 형태의 공격이 가능함 간단한 정보수집에서부터 관리자 권한 획득 및 Dos공격까지 다양한 형태의 공격이 가능함
 +
 점검방법 점검방법
 +
 +<WRAP prewrap>
 +<code bash>
 #vi /etc/snmp/snmpd.conf #vi /etc/snmp/snmpd.conf
 +
 com2sec notConfigUser default public com2sec notConfigUser default public
-위의 설정과 같이 디폴트 커뮤니티명인 public또는, private"을 사용하는 경우 아래의 보안설정방법에 따라 설정을 변경함+</code> 
 +</WRAP> 
 + 
 +위의 설정과 같이 디폴트 커뮤니티명인 ''public'' 또는, ''private''을 사용하는 경우 아래의 보안설정방법에 따라 설정을 변경함 
 Step 1) vi 편집기를 이용하여 SNMP 설정파일 열기 Step 1) vi 편집기를 이용하여 SNMP 설정파일 열기
- #vi /etc/snmp/snmpd.conf+<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/snmp/snmpd.conf 
 +</code> 
 +</WRAP> 
 Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정) Step 2) Community String 값 설정 변경 (추측하기 어려운 값으로 설정)
- (수정 전) com2sec notConfigUser default public +<WRAP prewrap> 
- (수정 후) com2sec notConfigUser default <변경 값>+<code bash> 
 +(수정 전) com2sec notConfigUser default public 
 +(수정 후) com2sec notConfigUser default <변경 값> 
 +</code> 
 +</WRAP> 
 Step 3) 서비스 재구동 Step 3) 서비스 재구동
- # service snmpd rstart+<WRAP prewrap> 
 +<code bash> 
 +# service snmpd restart 
 +</code> 
 +</WRAP> 
 \\ \\
 ====로그온 시 경고 메시지 제공==== ====로그온 시 경고 메시지 제공====
 +
 점검목적 점검목적
 비인가자들에게 서버에 대한 불필요한 정보를 제공하지 않고, 서버 접속 시관계자만 접속해야 한다는 경각심을 심어 주기위해 경고 메시지 설정이 필요함 비인가자들에게 서버에 대한 불필요한 정보를 제공하지 않고, 서버 접속 시관계자만 접속해야 한다는 경각심을 심어 주기위해 경고 메시지 설정이 필요함
 +
 보안위협 보안위협
 로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 취약점을 이용하여 공격을 시도할 수 있음 로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 취약점을 이용하여 공격을 시도할 수 있음
 +
 점검방법 점검방법
-Step 1) 서버 로그온 메시지 설정: vi 편집기로 "/etc/motd파일을 연 후 로그온 메시지 입력 +Step 1) 서버 로그온 메시지 설정: vi 편집기로 ''/etc/motd'' 파일을 연 후 로그온 메시지 입력 
- #vi /etc/motd+<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/motd
  경고 메시지 입력  경고 메시지 입력
-Step 2) Telnet 배너 설정: vi 편집기로 "/etc/issue.net파일을 연 후 로그온 메시지 입력 +</code> 
- #vi /etc/issue.net+</WRAP> 
 + 
 +Step 2) Telnet 배너 설정: vi 편집기로 ''/etc/issue.net'' 파일을 연 후 로그온 메시지 입력 
 +<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/issue.net
  경고 메시지 입력  경고 메시지 입력
-Step 3) FTP 배너 설정: vi 편집기로 "/etc/vsftpd/vsftpd.conf파일을 연 후 로그인 메시지 입력 +</code> 
- #vi /etc/vsftpd/vsftpd.conf+</WRAP> 
 + 
 +Step 3) FTP 배너 설정: vi 편집기로 ''/etc/vsftpd/vsftpd.conf'' 파일을 연 후 로그인 메시지 입력 
 +<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/vsftpd/vsftpd.conf
  ftpd_banner="경고 메시지 입력"  ftpd_banner="경고 메시지 입력"
-Step 4) SMTP 배너 설정: vi 편집기로 "/etc/mail/sendmail.cf파일을 연 후 로그인 메시지 입력 +</code> 
- #vi /etc/mail/sendmail.cf+</WRAP> 
 + 
 +Step 4) SMTP 배너 설정: vi 편집기로 ''/etc/mail/sendmail.cf'' 파일을 연 후 로그인 메시지 입력 
 +<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/mail/sendmail.cf
  O Smtp GreetingMessage="경고 메시지 입력"  O Smtp GreetingMessage="경고 메시지 입력"
-Step 5) DNS 배너 설정: vi 편집기로 "/etc/named.conf파일을 연 후 로그인 메시지 입력 +</code> 
- #vi /etc/named.conf+</WRAP> 
 + 
 + 
 +Step 5) DNS 배너 설정: vi 편집기로 ''/etc/named.conf'' 파일을 연 후 로그인 메시지 입력 
 +<WRAP prewrap> 
 +<code bash> 
 +#vi /etc/named.conf
  경고 메시지 입력  경고 메시지 입력
 +</code>
 +</WRAP>
 +
 \\ \\
 ====NFS 설정파일 접근 제한==== ====NFS 설정파일 접근 제한====
 +
 점검목적 점검목적
 비인가자에 의한 불법적인 외부 시스템 마운트를 차단하기 위해 NFS 접근제어 파일의 소유자 및 파일 권한을 설정 비인가자에 의한 불법적인 외부 시스템 마운트를 차단하기 위해 NFS 접근제어 파일의 소유자 및 파일 권한을 설정
 +
 보안위협 보안위협
 NFS 접근제어 설정파일에 대한 권한 관리가 이루어지지 않을 시 인가되지 않은 사용자를 등록하고 파일시스템을 마운트하여 불법적인 변조를 시도할 수 있음 NFS 접근제어 설정파일에 대한 권한 관리가 이루어지지 않을 시 인가되지 않은 사용자를 등록하고 파일시스템을 마운트하여 불법적인 변조를 시도할 수 있음
 +
 점검방법 점검방법
 +점검 파일 위치
 +<WRAP prewrap>
 +<code bash>
 #ls -al /etc/exports #ls -al /etc/exports
  rw-r--r-- root <nfs 접근제어 파일>  rw-r--r-- root <nfs 접근제어 파일>
 +</code>
 +</WRAP>
 +
 "NFS" 접근제어 설정파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 "NFS" 접근제어 설정파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
-/etc/exports” 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) + 
- #chown root /etc/exports +''/etc/exports'' 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) 
- #chmod 644 /etc/exports+<WRAP prewrap> 
 +<code bash> 
 +#chown root /etc/exports 
 +#chmod 644 /etc/exports 
 +</code> 
 +</WRAP> 
 \\ \\
 ====expn, vrfy 명령어 제한==== ====expn, vrfy 명령어 제한====
 +
 점검목적 점검목적
 SMTP 서비스의 expn, vrfy 명령을 통한 정보 유출을 막기 위하여 두 명령어를 사용하지 못하게 옵션을 설정해야함 SMTP 서비스의 expn, vrfy 명령을 통한 정보 유출을 막기 위하여 두 명령어를 사용하지 못하게 옵션을 설정해야함
 +
 보안위협 보안위협
 VRFY, EXPN 명령어를 통하여 특정 사용자 계정의 존재유무를 알 수 있고, 사용자의 정보를 외부로 유출 할 수 있음 VRFY, EXPN 명령어를 통하여 특정 사용자 계정의 존재유무를 알 수 있고, 사용자의 정보를 외부로 유출 할 수 있음
 +
 점검방법 점검방법
 noexpn, novrfy 옵션 설정 확인 noexpn, novrfy 옵션 설정 확인
 +<WRAP prewrap>
 +<code bash>
 #vi /etc/mail/sendmail.cf #vi /etc/mail/sendmail.cf
 O PrivacyOptions= (noexpn, novrfy 또는 goaway 옵션 설정 여부) O PrivacyOptions= (noexpn, novrfy 또는 goaway 옵션 설정 여부)
 +</code>
 +</WRAP>
 ※ goaway 옵션 : authwarnings, noexpn, novrfy, noverb, needmailhelo, needexpnhelo, needvrfyhelo, nobodyreturn 통합하는 단축 옵션 ※ goaway 옵션 : authwarnings, noexpn, novrfy, noverb, needmailhelo, needexpnhelo, needvrfyhelo, nobodyreturn 통합하는 단축 옵션
 +
 <서비스 필요 시> <서비스 필요 시>
-Step 1) vi 편집기를 이용하여 /etc/mail/sendmail.cf” 파일을 연 후 (단, AIX는 /etc/sendmail.cf) +Step 1) vi 편집기를 이용하여 ''/etc/mail/sendmail.cf'' 파일을 연 후 
- #vi /etc/mail/sendmail.cf +<WRAP prewrap> 
-Step 2) /etc/mail/sendmail.cf” 파일에 noexpn, novrfy 옵션 추가+<code bash> 
 +#vi /etc/mail/sendmail.cf 
 +</code> 
 +</WRAP> 
 + 
 +Step 2) ''/etc/mail/sendmail.cf'' 파일에 noexpn, novrfy 옵션 추가 
 +<WRAP prewrap> 
 +<code vim>
 (수정 전) O PrivacyOptions=authwarnings (수정 전) O PrivacyOptions=authwarnings
- (수정 후) O PrivacyOptions=authwarnings, noexpn, novrfy 또는 goaway+(수정 후) O PrivacyOptions=authwarnings, noexpn, novrfy 또는 goaway 
 +</code> 
 +</WRAP> 
 Step 3) SMTP 서비스 재시작 Step 3) SMTP 서비스 재시작
 +
 < 서비스 불필요 시> < 서비스 불필요 시>
 Step 1) 실행중인 서비스 중지 Step 1) 실행중인 서비스 중지
- #ps –ef | grep sendmail +<WRAP prewrap> 
- root 441 1 0 Sep19 ? 00:00:00 sendmail: accepting connections +<code bash> 
- #kill -9 [PID]+#ps –ef | grep sendmail 
 +root 441 1 0 Sep19 ? 00:00:00 sendmail: accepting connections 
 +#kill -9 [PID] 
 +</code> 
 +</WRAP> 
 Step 2) 시스템 재시작 시 SMTP 서버가 시작되지 않도록 OS별로 아래와 같이 설정함 Step 2) 시스템 재시작 시 SMTP 서버가 시작되지 않도록 OS별로 아래와 같이 설정함
  1. 위치 확인  1. 위치 확인
- #ls –al /etc/rc*.d/* | grep sendmail+<WRAP prewrap> 
 +<code bash> 
 +#ls –al /etc/rc*.d/* | grep sendmail 
 +</code> 
 +</WRAP> 
  2. 이름 변경  2. 이름 변경
- #mv /etc/rc2.d/S88sendmail /etc/rc2.d/_S88sendmail+<WRAP prewrap> 
 +<code bash> 
 +#mv /etc/rc2.d/S88sendmail /etc/rc2.d/_S88sendmail 
 +</code> 
 +</WRAP> 
 \\ \\
 ====Apache 웹 서비스 정보 숨김==== ====Apache 웹 서비스 정보 숨김====
 +
 점검목적 점검목적
- HTTP 헤더, 에러페이지에서 웹 서버 버전 및 종류, OS 정보 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하기 위함+HTTP 헤더, 에러페이지에서 웹 서버 버전 및 종류, OS 정보 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하기 위함 
 보안위협 보안위협
 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집할 수 있음 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집할 수 있음
 +
 점검방법 점검방법
 ServerTokens, ServerSignature 옵션 설정 여부 확인 ServerTokens, ServerSignature 옵션 설정 여부 확인
 +<WRAP prewrap>
 +<code bash>
 # vi /[Apache_Home]/conf/httpd.conf # vi /[Apache_Home]/conf/httpd.conf
  ServerTokens Prod  ServerTokens Prod
  ServerSignature off  ServerSignature off
-httpd.conf” 파일 내에 ServerTokens, ServerSignature 지시자가 위와 같이 설정되어 있지 않은 경우 아래의 보안설정방법에 따라 옵션 추가 +</code> 
-Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일을 연 후 +</WRAP> 
- #vi /[Apache_home]/conf/httpd.conf+ 
 +''httpd.conf'' 파일 내에 ServerTokens, ServerSignature 지시자가 위와 같이 설정되어 있지 않은 경우 아래의 보안설정방법에 따라 옵션 추가 
 + 
 +Step 1) vi 편집기를 이용하여 ''/[Apache_home]/conf/httpd.conf'' 파일을 연 후 
 +<WRAP prewrap> 
 +<code bash> 
 +#vi /[Apache_home]/conf/httpd.conf 
 +</code> 
 +</WRAP> 
 Step 2) 설정된 모든 디렉터리의 ServerTokens 지시자에서 Prod 옵션 설정 및 ServerSignature Off 지시자에 Off 옵션 설정 (없으면 신규 삽입) Step 2) 설정된 모든 디렉터리의 ServerTokens 지시자에서 Prod 옵션 설정 및 ServerSignature Off 지시자에 Off 옵션 설정 (없으면 신규 삽입)
 +<WRAP prewrap>
 +<code bash>
 <Directory /> <Directory />
- Options Indexes FollowSymlinks +   Options Indexes FollowSymlinks 
- ServerTokens Prod +   ServerTokens Prod 
- ServerSignature Off +   ServerSignature Off 
- - 이하 생략-+   - 이하 생략-
 </Directory> </Directory>
 +</code>
 +</WRAP>
 +
 ServerTokens 지시자 옵션 ServerTokens 지시자 옵션
-키워드  제공하는 정보            예문 +키워드  제공하는 정보            예문                                  | 
-Prod    웹 서버 종류             Apache +Prod    웹 서버 종류             Apache                                | 
-Min     웹 서버 버전             Apache/2.2.3 +Min     웹 서버 버전             Apache/2.2.3                          | 
-OS      웹 서버 버전 + 운영체제  Apache/2.2.3 (CentOS) (기본값) +OS      웹 서버 버전 + 운영체제  Apache/2.2.3 (CentOS) (기본값)        | 
-Full    웹 서버의 모든 정보      Apache/2.2.3 (CentOS) DAV/2 PHP/5.16+Full    웹 서버의 모든 정보      Apache/2.2.3 (CentOS) DAV/2 PHP/5.16  | 
 \\ \\
  
  • 서비스_관리.1642406165.txt.gz
  • 마지막으로 수정됨: 2022/01/17 07:56
  • 저자 fatp11th