본문 바로가기
IT 인프라/리눅스, 가상화

리눅스 서버 구축시 기본 설정

by 전재혁 2024. 3. 29.

- 리눅스는 기본적으로 텍스트 기반이기 때문에 환경 변수가 다수 존재함.

1) Export(환경 변수): LANG, PATH 등 환경 변수 설정 가능

- 세션이 유지되어 있는 동안만 적용됨.

2) /etc/ 밑에 있는 서비스 파일들의 내용을 변경해주어야 영구 적용이 됨.

 

1. SSH 포트번호 변경

* vi /etc/ssh/sshd_config 파일 안의 포트 번호를 변경

2. 사용자 추가와 sudo권한 부여

- sudo는 root 권한을 빌려주는 것. 빌려주는게 더 안전함.

- root로 로그인 하는 사용자와 그 시간은 적으면 적을수록 안전하고 좋음.

* adduser jhjeon

* usermod –aG sodo jhjeon

3. 호스트이름 설정

* hostnamectl set-hostname [사용할 이름]

* hostnamectl로 설정값 확인.

4. 언어 설정

* apt install locales

* dpkg-reconfigure locales

1) 160. en_US.UTF-8 UTF-8

2) 299. ko_KR.EUC-KR EUC-KR

3) 300. ko_KR.UTF-8 UTF-8 을 선택

- 기본 언어는 ko_KR.UTF-8로 선택

* localectl로 설정값 확인 가능.

5. 시간 설정

* timedatectl set-timezone Asia/Seoul

* timedatectl로 설정값 확인 가능

* apt install chrony

* chronyc sources –v

* chronyc tracking

* chronyc makestep

- 200 OK 라는 문구가 나오면 정상

6. 고정 IP 할당 (해당되는 경우만)

* vi /etc/netplan/50-cloud-init.yaml

dhcp: false

vi /etc/netplan/00 ~

network:

ethernets:

ens18:

addresses:

- 192.168.10.12/24 (ip address입력)

Nameservers:

Addresses: [8.8.8.8, 8.8.4.4]

routes:

- to: default

via: 192.168.1.1 (라우팅 경로 입력)

version: 2

7. Apparmor disable

- apparmor: 환경 변조를 못하게 해주는 보안 모듈. 소규모 망에서는 서버 안에 패키지나 설정 변경해야 하는 경우가 많기 때문에 사용시 불편함.

* apparmor_status

* systemctl stop apparmor

* systemctl disable apparmor

8. Systemd-resolved disable

- system-resolved: 자기자신을 DNS 서버인 것처럼 동작하는 것

* systemctl disable system-resolved

* systemctl stop system-resolved

* rm /etc/resolv.conf

* echo ‘nameserver 8.8.8.8’ >> /etc/resolv.conf

* echo ‘nameserver 1.1.1.1’ >> /etc/resolv.conf

9. Snap 지우기

- 기본 패키지도 있지만 snap 툴 안에서 작동하는 패키지도 있음

* snap list

* snap remove --purge ixd

* snap remove --purge core20

* snap remove --purge snapd

* snap list

* apt autoremove --purge snapd

* rm --rf ~/snap/

* rm --rf ~/snap

* rm --rf ~/var/snap

* rm --rf ~/var/lib/snapd

* apt-mark hold snapd

10. Rsyslog

– 네트워크장비 IP별로 로그파일 저장하는 설정

* systemctl status rsyslog

* vi /etc/rsyslog.conf

#module(load=”imudp")

#input(type="imudp" port="514")

#module(load="imtcp")

#input(type="imtcp" port="514")

- 위 라인을 주석해제

* vi /etc/rsyslog.d/51-network.conf

$template dayandhost, "/var/log/network/%FROMHOST-IP%/%$YEAR%/%$MONTH%/%$DAY%.log"

:fromhost-ip, startswitch, "192.168.0." ?dayandhost

* mkdir -p /var/log/network

* chown -R syslog.syslog /var/log/network

* systemctl restart rsyslog