System Hardening

Dongmin Lee·2024년 1월 21일
0

Kubernetes

목록 보기
7/10
post-thumbnail

1. System Access

1.1 시스템의 모든 사용자 계정 보기

$ /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
...

1.2 Password 지정

$ passwd username

1.3 User & Group 삭제

$ userdel username

$ groupdel groupname

1.4 User 로그아웃 & 삭제 X

$ usermod -s /usr/sbin/nologin username

1.5 User 생성

useradd: Linux 시스템의 표준이며, low-level command
adduser: Ubuntu에서 사용하며, high-level command

useraddadduser 둘 다 사용해봤는데 adduser로도 충분히 가능하여 adduser로 작성한다.

$ adduser --home /home/username \
		  --shell /bin/bash \
          --uid uid \
          --ingroup groupname \
          username

group이 제대로 안들어갈 경우

$ adduser username groupname

2. SSH Hardening and sudo

2.1 Public key 복사

$ ssh-copy-id -i .ssh/id_rsa.pub username@hostname

2.2 sudo 권한 유저 추가

$ vi /etc/sudoers
...
username  ALL=(ALL) ALL # 추가
...

Password 입력하지 않도록 추가할 경우

$ vi /etc/sudoers
...
username  ALL=(ALL) NOPASSWD:ALL # 추가
...

2.3 SSH 접근 제한

PasswordAuthentication: SSH 서버에서 password 인증 방식 비활성화 (-> public key 이용하여 인증)
PermitRootLogin: root 사용자가 SSH를 통해 직접 로그인 금지 (-> 다른 사용자로 로그인하여 root 권한으로 로그인)

$ vi /etc/ssh/sshd_config
PasswordAuthentication no # 변경
PermitRootLogin no # 변경

$ systemctl restart sshd

3. Packages, Services, and Ports

3.1 System Packages

$ apt list --installed

3.2 System Service Units

$ systemctl list-units --type service

3.3 Kernel Modules

$ lsmod

3.4 Kernel Module Blacklist

$ echo "blacklist modulename" >> /etc/modprobe.d/blacklist.conf

3.5 Network Ports

netstat: 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구이다.

# -p (pid): 프로그램 이름
# -l (listen) : 연결 가능한 상태
# -n (number port) : 포트 넘버
# -t (tcp) : tcp
$ netstst -plnt

4. UFW Firewall

Ubuntu에서 firewall을 설정한다.

4.1 Firewall Number 확인

$ ufw status numbered

4.2 Firewall Allow 생성

$ ufw allow 22

범위로 허용할 경우

$ ufw allow 100:200/tcp

정확한 IP, port, protocol을 지정하여 허용할 경우

$ ufw allow from 135.22.65.0/24 to any port 9090 proto tcp

4.3 Firewall Deny 생성

$ ufw deny 80

4.4 Firewall Enable

$ ufw enable

0개의 댓글