becool

20210430 (금) 본문

linux

20210430 (금)

gusalstm 2021. 4. 30. 16:31
반응형

9:31 review

 

firewalld

firewall-cmd

 

※ firewalld 이전의 방화벽 : ipchain iptables 등

 

service, source, interface, port 등을 추가/제거 할 수 있음. (인터페이스는 여러 존에 중복입력할 수 없음)

[root@host1 ~]# firewall-cmd --add-port=20/tcp --zone=work
]success
[root@host1 ~]# firewall-cmd --list-all --zone=work 
work (active)
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 172.16.0.0/24 192.168.50.1
  services: dhcpv6-client ftp ssh
  ports: 80/tcp 20/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

 

===========================

SELinux 

  리눅스의 커널 보안 모듈

 

동작모드

보안 컨텍스트

 

/etc/selinux/config

setenforce 0   또는 1

 

 

[root@host1 html]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

 

SELinux 동작 Type

 targeted - 대부분의 프로세스를 보호하는 동작 방식

 minimum - 최소한의 프로세스를 보호하는 동작 방식

 mls - 기존 targeted에 민감도를 추가로 검증하여 targeted보다 엄격하게 보호하는 동작 방식

 

보안컨텍스트

 SELINUX_사용자:SELINUX_역할:SELINUX_유형:민감도

 SELINUX_사용자 : 실제사용자가 아닌 SELINUX의 보안정책을 사용자에게 연결함.

 SELINUX_역할 : SELINUX 역할로써 SELINUX_사용자와 도메인을 연결하기 위한 목록

 SELINUX_유형 : Subject가 Object에 접근시 컨텍스트 검증시 확인하는 항목

 민감도 : MLS 동작시 사용됨.


SELinux 보안 컨텍스트 설정(임시)
 # chcon  [option]   SELINUX_CONTEXT   FILE
 # chcon  -t  'user_tmp_t'  FILE

 

[root@host1 /]# touch index1.html
[root@host1 /]# vim index1.html 
[root@host1 /]# cp -a index1.html /var/www/html/
[root@host1 /]# cd var/www/html/
[root@host1 html]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 hosts.html
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 index1.html
[root@host1 html]# ls -lZ index1.html 
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 index1.html
[root@host1 html]# chcon -t httpd_sys_content_t index1.html
[root@host1 html]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 hosts.html
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index1.html

 

SELinux 보안 컨텍스트 설정(영구)
 # semanage fcontext  -a  -t  'TYPE_CONTEXT'  FILE_PATH
 # semanage fcontext  -a  -t  'TYPE_CONTEXT'  '/tmp/testfile'
 # semanage fcontext  -a  -t  'TYPE_CONTEXT'  '/tmp/testdir(/.*)?'

 

 # restorecon [option] FILE_PATH

 # restorecon -v FILE

 # restorecon -R DIRECTORY 

 

====================================================

 

부울 (bool, boolean)

 주체가 객체에 대해 어떤 동작을 수행할 수 있는지 여부를 결정하는 보안정책

 부울은 True, False 값을 가질 수 있다. (# getsebool -a 에는 on, off로 표현)

 

[root@host1 work]# setsebool -P httpd_can_network_connect_db on →  -P permanent
[root@host1 work]# getsebool httpd_can_network_connect_db 
httpd_can_network_connect_db --> on
[root@host1 work]# semanage boolean -l |grep httpd_can_network_connect_db
httpd_can_network_connect_db   (on   ,   on)  Allow httpd to can network connect db

 

현재 runtime 부울 값 확인 (전체)

# getsebool -a

 

현재 runtime 부울 값 확인 (전체)

# getsebool BOOL_NAME

 

runtime 부울, 영구 bool 값 모두 확인

# semanage boolean -l

 

현재 runtime 부울 값 설정

# setsebool BOOL_NAME VALUE

 

영구 부울 값 설정

# setsebool -P BOOL_NAME VALUE

 

SELinux 문제 해결 방법

 

문제 발생

 → 로그 확인 (var/log/masseage, /var/log/audit/audit.log  ※ syslog, Journal Log, Audit Log)

 → SELinux로 인한 문제로 추정되는가? 

 → setenforce 0  퍼미시브로 전환

 → 다시 작동하는가?

 → SELinux로 인한 문제발생으로 확인이 되면, 다양한 설정 상태를 검토하여 문제를 찾는다.

 

 

 

=================


DNS(Domain Name System)
  - 어떤 의미를 포함하는 단어로 이뤄진 주소체계
  - 도메인이 루트 도메인부터 계층적으로 구성되어있음
  - DNS 서버에게 Domain name에 대한 정보를 요청하고 응답 받음

DNS 서버 종류
 - 마스터 서버 : 도메인을 관리할 권한이 있는 서버
 - 슬레이브 서버 : 마스터 서버의 부하를 분산하기 위한 보조서버
 - 캐싱 네임 서버 : 도메인을 직접 관리하는 서버가 아닌 도메인을 관리하는 DNS 서버로부터 DNS 정보를 받아 대신 응답하는 서버

 

Domain 쿼리 영역

 - 정방향 영역 : 도메인 주소에 대한 IP주소를 관리하는 영역 (도메인 → IP주소)

 - 역방향 영역 : IP주소에 대한 도메인 주소를 관리하는 영역 (IP주소 → 도메인)

 

DNS 쿼리의 종류

- 재귀적 쿼리 (Recursive Query) : 도메인 주소에 대해 일반적으로 요청하는 쿼리

- 반복적 쿼리 (Iterative Query) : 도메인 주소에 대해 정보를 알아내기 위하여 루트 도메인 네임 서버부터 반복적으로 수행하는 쿼리

 

 

 

 

 

728x90

'linux' 카테고리의 다른 글

20210504(화)  (0) 2021.05.04
20210503 (월)  (0) 2021.05.03
20210429 (목)  (0) 2021.04.29
20210428 (수)  (0) 2021.04.28
20210427 (화)  (0) 2021.04.27
Comments