Linux 보안
리눅스 보안 7일차
Mostlove
2025. 3. 14. 17:02
728x90
반응형
SELinux 보안 속성 및 파일 보호 관리
1. SELinux 보안 속성 변경 및 복구
(1) chcon 명령어
- chcon: 특정 파일이나 디렉터리의 보안 컨텍스트(Security Context)를 변경하는 명령어
- 기본 사용법:
- chcon --reference=기존파일 대상파일
- 예제:
- chcon --reference=/var/www/html /home/user/my_web
- 변경된 보안 속성 확인:
- ls -lZ /home/user/my_web
(2) restorecon 명령어
- restorecon: SELinux 정책에 맞게 보안 컨텍스트를 원래대로 복원하는 명령어
- 기본 사용법:
- restorecon -Rv /경로
- 예제:
- restorecon -Rv /home/user/my_web
(3) SELinux Boolean 값 확인 및 설정
- getsebool -a: 시스템에서 설정된 SELinux Boolean 값을 확인
- getsebool -a
- 특정 Boolean 값을 변경(일시적):
- setsebool allow_ftpd_anon_write on
- 특정 Boolean 값을 영구적으로 변경:
- setsebool -P allow_ftpd_anon_write on
2. 파일 속성 보호 (chattr & lsattr)
(1) chattr 명령어
- 파일 속성을 변경하여 보호하는 명령어
- +i 옵션: 파일 변경 금지(삭제 및 수정 불가)
- chattr +i /etc/passwd
- -i 옵션: 변경 금지 해제
- chattr -i /etc/passwd
(2) lsattr 명령어
- 파일 속성 확인
- lsattr /etc/passwd
- i 속성이 설정된 경우:
- ----i-------- /etc/passwd
3. 특수 권한 설정 (SetUID, SetGID, Sticky Bit)
(1) SetUID
- 실행 파일에 SetUID를 설정하면 해당 파일을 실행하는 사용자가 파일 소유자의 권한으로 실행
- 예제:
- chmod 4755 /usr/bin/passwd
- 확인 방법:
(s가 표시되면 SetUID 설정됨)-rwsr-xr-x 1 root root 22944 Jun 24 2023 /usr/bin/passwd
- ls -l /usr/bin/passwd
(2) SetGID
- 실행 파일이나 디렉터리에 SetGID를 설정하면 실행 시 해당 그룹의 권한을 상속받음
- 예제:
- chmod 2755 /usr/local/bin/special_program
- 확인 방법:
-rwxr-sr-x 1 root staff 22944 Jun 24 2023 /usr/local/bin/special_program
- ls -l /usr/local/bin/special_program
(3) Sticky Bit
- 디렉터리에 설정하면 사용자가 소유한 파일만 삭제할 수 있음 (주로 /tmp에서 사용)
- 설정 방법:
- chmod 1777 /tmp
- 확인 방법:
(t가 표시되면 Sticky Bit 설정됨)drwxrwxrwt 10 root root 4096 Mar 14 12:00 /tmp
- ls -ld /tmp
4. SSL(Secure Socket Layer) 설정
(1) SSL 인증서 구성 요소
파일 유형설명
*.key | 개인키 (Private Key) |
*.csr | 인증서 서명 요청 (Certificate Signing Request) |
*.crt | 인증서 파일 (Certificate) |
*.pem | 개인키와 인증서 포함된 파일 |
(2) SSL 인증서 생성 및 적용
- 개인키 및 인증서 서명 요청(CSR) 생성
- openssl req -new -days 365 -key mysite.key -out mysite.csr
- 자체 서명된 인증서 생성
- openssl x509 -req -days 365 -signkey mysite.key -in mysite.csr -out mysite.crt
- Apache 웹 서버에 SSL 적용
- /etc/httpd/conf/httpd.conf 파일 수정:
- SSLEngine on SSLCertificateFile /etc/ssl/certs/mysite.crt SSLCertificateKeyFile /etc/ssl/private/mysite.key
- 설정 적용 및 Apache 재시작:
- systemctl restart httpd
5. 웹 서버 보안 강화
(1) .htpasswd를 활용한 사용자 인증
- 사용자 인증 파일 생성
- htpasswd -c /etc/httpd/.htpasswd admin
- Apache 설정 파일(.htaccess)에 인증 적용
- AuthType Basic AuthName "Restricted Area" AuthUserFile /etc/httpd/.htpasswd Require valid-user
(2) 특정 디렉터리 접근 제한
- .htaccess 파일을 사용하여 특정 IP만 접근 허용
- Order Deny,Allow Deny from all Allow from 192.168.1.100
마무리
- SELinux 보안 속성 설정(chcon, restorecon)
- 파일 보호(chattr, lsattr)
- 특수 권한(SetUID, SetGID, Sticky Bit)
- SSL 인증서 설정 및 적용
- 웹 서버 보안 강화(.htpasswd, .htaccess)
반응형