기본적인 리눅스 보안 설정들 - 설정 명령어 포함
처음 리눅스 설치 시의 디폴트 값으로 사용 시 보안이 취약하므로 아래의 보안 설정 필요
1. SSH 접속 계정 제한
접속이 가능한 계정을 미리 제한해두자.
vi /etc/ssh/sshd_config
AllowUsers '사용자계정명' , 내용 추가
2. SSH로 root 계정 접근 차단
외부에서 바로 root 계정 로그인 시도 가능하므로 애초에 직접 로그인을 차단하자.
vi /etc/ssh/sshd_config
PermitRootLogin 를 YES를 NO으로 변경
이후 서비스 재시작
service sshd restart
일반 사용자 계정으로 로그인한 뒤 su 명령어를 통해 root 계정으로 전환하여 사용하자
3. 특정 계정에만 su 명령어 사용 가능하도록 설정
3.1 etc/group 에 wheel 그룹 사용자 등록
vi /etc/group
wheel:x:10:root,'계정 입력'
3.2 etc/palm.d/su 파일 수정
vi /etc/pam.d/su
auth required pam_wheel.so use_uid (주석 해제)
( wheel 그룹 ID 는 su – 명령어를 통해 root 패스워드 입력 시 root 로그인 )
3.3 bin/su 파일 소유그룹 변경
chown root.wheel /bin/su
3.4 su 명령어 접근 권한 변경
chmod 4755 /bin/su
4. SSH 접속 시도 횟수 설정
vi /etc/ssh/sshd_config
MaxAuthTries 5
이후 서비스 재시작
service sshd restart
5. 패스워드 규칙 설정
vi /etc/login.defs
PASS_MIN_LEN
( 패스워드 최소 길이 )
PASS_MAX_DAYS
( 패스워드 최대 사용기간 )
PASS_MIN_DAYS
( 패스워드를 변경할 최소 주기 )
PASS_WARN_AGE
( 패스워드 최대 사용기간 만료 며칠 전 경고 )
6. /tmp 디렉토리 보안 설정
/tmp 디렉토리에는 누구나 읽고, 쓰고, 실행 가능하여 악성코드 넣어 실행할 수 있다.
보안설정이 매우 필요한 부분
6.1 파티션 유무 확인
df -h
6.2 tmp 파티션 없는 경우
파티션 생성
cd /var
dd if=/dev/zero of=tmpmount bs=1 count=0 seek=원하는 파티션 용량
mkfs.ext4 /var/tmpmount
/etc/fstab 에 파티션 내용 추가
echo "/var/tmpmount /tmp ext4 defaults,nodev,nosuid,noexec 0 0" >> /etc/fstab
/tmp 파티션 마운트
mount -o defaults,nodev,nosuid,noexec /var/tmpmount /tmp
소유권과 사용권한 부여
chmod 0777 /tmp
chown root.root /tmp
6.3 tmp 파티션 있는 경우
vi /etc/fstab
/tmp 설정에서 default로 되어 있는 부분에 noexec,nodev,nosuid 추가
UUID=.... /tmp ext4 defaults,nodev,nosuid,noexec 1 2
( nodev : 장치 사용 금지, nosuid : root 권한 금지, noexec : 바이너리 파일 실행 금지 )
mount -o remount /tmp
6.4 var/tmp 링크 설정
var/tmp 디렉토리 삭제, var/tmp 접속 시 /tmp로 링크 설정
rm –rf /var/tmp
ln –s /tmp /var/tmp
지속적으로 추가 예정