320x100
320x100

리눅스 시스템 보안 관리 방법

- 불필요한 서비스 제거

: 응용 프로그램의 버그를 통한 해킹 시도 차단

 

- /etc/issue, /etc/issue.net에 설정된 메시지 변경

: 시스템 접속 시 출력되는 메시지

: 기본값으로 리눅스 버전과 커널 버전이 명시되어 있어 보안에 위협

 

- root 계정 비밀번호 변경 제한

: root 계정의 비밀번호를 재설정 할 수 있는 grub에 대한 비밀번호 설정

1) grub

 > grub 프롬프트 실행

2) md5script

 > 암호화된 비밀번호 생성

3) vim /etc/grub/grub.conf

 > password --md5 <crypted password> 추가

 

- 보안이 강화된 서비스 이용

: telnet 대신 ssh. ftp 대신 sftp 사용

 

- 파일 시스템 관리

: set-UID, set-GID, sticky-Bit 등의 권한 남용 예방

: 파티션에 대해 /etc/fstab 파일 설정에 nosuid 옵션 추가

 

 

 

 

 

리눅스 시스템 보안 관련 명령어

- sysctl

- sudo

- visudo

- lsattr

- chattr

- nmap

 

 

 

 

 

sysctl

: 커널 변수의 값을 제어하여 시스템을 최적화

: /proc/sys 디렉터리의 변수를 제어

: /proc/sys를 최상위 디렉터리로 인식하여 명령 수행

:디렉터리 구분은 / 대신 . 으로 구분

 

- 형식

: sysctl [option] <variable>[=<value>]

 

- 주요 옵션

: -a, -A

 > 커널 매개변수와 값 모두 출력

: -p [<file>]

 > 환경 변수 파일에 설정된 값 출력. 파일명 미 지정 시 /etc/sysctl.conf 파일의 내용 출력

: -n

 > 특정 매개 변수에 대한 값 출력

: -w <variable>=<value> 

 > 매개변수에 값 설정

 

- 주요 변수

: net.ipv4.icmp_echo_ignore_all

 > ping과 같은 ICMP 패킷에 대한 응답 여부. 0 (응답) / 1 (거절)

: net.ipv4.tcp_syncookies

 > SYN 패킷의 도착 빈도가 일정 횟수 보다 많을 때 거절 여부. 0 (거절) / 1 (응답)

: net.ipv4.tcp_max_syn_backlog

 > SYN 요청 처리의 한계값인 backlog의 크기 설정. 기본값 2048

: net.ipv4.icmp_echo_ignore_broadcasts

 > 브로드캐스트에 대한 응답 여부. 0 (응답) / 1 (거절)

: net.ipv4.conf.all.accept_source_route

 > 라우팅 세부 내용이 노출될 수 있는 IP 소스 라우팅 설정. 0 (설정안함) / 1 (설정) 

: net.ipv4.conf.all.rp_filter

 > 패킷이 들어오는 인터페이스와 나가는 인터페이스가 같은지 검사. 0 (설정안함) / 1 (설정)

: net.ipv4.conf.all.logmaritans

 > 스푸핑 패킷과 redirect 된 패킷의 기록 저장 여부. 0 (저장안함) / 1 (저장)

: net.ipv4.tcp_fin_timeout

 > TCP 세션 종료 후 세션 연결 유지 시간. 기본 60 (초)

: net.ipv4.tcp_keepalive_time

 > TCP 연결 유지 시간. 기본 7200 (초)

: net.ipv4.ip_forward

 > 인터넷 공유나 IP 매스커레이드 등 하나의 서버에서 IP를 공유하여 포워딩 가능 여부. 0 (불가) / 1 (가능)

: net.ipv4.ip_local_port_range

 > TCP 및 UDP를 이용한 클라이언트 포트 범위.

: net.ipv4.tcp_timestamps

 > 외부에서 서버의 날짜정보 확인 가능 여부. 0 (불가) / 1 (가능)

: net.ipv4.conf.all.accept_redirects

 > redirect 관련 패킷 허가 여부. 0 (불가) / 1 (가능)

: net.ipv4.conf.all_send_redirects

 > 서버에서 나가는 ICMP redirect 패킷 허가 여부. 0 (불가) / 1 (가능)

: fs.file-max

 > 커널에서 최대로 사용 가능한 파일 수 설정

 

 

 

 

 

sudo

: root가 아닌 사용자나 그룹이 root 권한으로 명령어를 실행

: /etc/sudoers 파일을 수정하여 사용자 별로 root 권한 명령 지정 가능 

 

- 형식

: sudo <command>

 

 

 

 

 

/etc/sudoers

: sudo의 환경 설정 파일

 

- 형식

user     access_point=command,command,...

 

- 예시

```

2mukee  ALL=ALL

: 2mukee 사용자에 대해 접속 장소와 상관없이 모든 명령 사용 가능하도록 설정

 

hackerman1 localhost=/usr/bin/useradd, /usr/bin/passwd

: hackerman1 사용자는 localhost에서 접속한 경우에만 useradd와 passwd 명령 사용 가능

```

 

 

 

 

 

visudo

: sudo의 환경설정 파일인 /etc/sudores 파일을 편집 할 때 사용

 

 

 

 

 

lsattr

: 파일에 설정된 속성 확인

 

- 형식

: lsatter [option] [file]

 

- 주요 옵션

: -R

 > 하위 디렉터리까지 확인

: -a

 > .으로 시작하는 숨김 파일과 디렉터리까지 확인

 

 

 

 

 

chattr

: 파일의 속성 변경

 

- 형식

: chatter [option] mode <file>

 

- 주요 옵션

: -R

 > 하위 디렉터리까지 변경

 

- mode (+, -, =으로 속성 부여 및 해제)

: A

 > 파일 수정 시 atime은 수정하지 않음

: a

 > 해당 파일에 추가만 가능. 삭제 불가

: d

 > dump로 백업 되지 않음

: i

 > 해당 파일에 대한 변경, 삭제, 파일 추가, 링크 파일 생성 등 불가

: S

 > 파일 변경 시 디스크 동기화 실행

: e 

 > 디스크 블록에 매핑하기 위해 확장된 파일임을 표시하는 속성. 제거 불가

 

- 예시

```

chattr -i +a /etc/log/messages

```

 

 

 

 

 

nmap

: 네트워크 탐지 및 보안 스캐너 도구

: 시스템에서 서비스 중인 포트를 스캔하여 관련 정보를 출력

: 서버에 불필요하게 작동하고 있는 포트 확인

 

- 포함되는 패키지

: ncat

 > 소켓 리다이렉트 도구

: ndiff

 > 스캔 결과 비교 도구

: nping 

 > 패킷 생성 도구

 

- 형식

: nmap [option] [<port number>]

 

- 예시

```

nmap -O -p 1-65535 localhost

: localhost의 운영체제와 열린 포트 출력

```

 

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90