CentOS 7.0 을 인프라로 설치하게되면 Selinux라는 접근을 통제하는 보안 프로그램과 firewalld 라는 방화벽 프로그램이 설치 및 실행이 되어 기본적인 보안이 이루어지게 됩니다.
하지만 설치를 하시고 접속을 하게되면 root 로 로그인할 때마다 로그인시도 70회가 이루어졌습니다. 라는 등의 메세지를 보게됩니다. 마지막 ip가 로그인시에 콘솔에서 보여주는데 ip가 대부분 중국이며 지속적으로 접근 시도를 합니다.
앞서 설치 할때 아에 root 계정을 만들지 않았습니다. 조금더 보안을 강화 하기위해 몇가지 더 보안 조치를 하려 합니다.
1. ssh 기본 포트 변경
- ssh 포트를 변경하기 위하여 /etc/ssh/sshd_config 경로의 파일을 vi 에디터로 오픈해야 하는데 root 권한이 필요합니다.
- 저와 같이 root 를 생성하시지 않으셨다면.. 아래의 명령어로 루트 계정으로 변경합니다. root 를 생성하셨다면 sudo 부분을 빼시면 됩니다.
$ sudo su -
- 변경 후 /etc/ssh/sshd_config 를 에디터로 오픈합니다
$ vi /etc/ssh/sshd_config
- 에디터의 내용중에 아래와같이 되어 있는 부분을 찾으실 수 있는데, ‘#’ 은 주석 이며 #을 해제 한후 원하는 변경할 포트 번호를 입력 합니다. 저는 1999를 입력하였습니다.
#Port 22
Port 1999
- root 로그인을 막습니다.
PermitRootLogin no
- SeLinux가 설치 되어 있기 때문에 아래의 명령어를 실행합니다.
$ semanage port -a -t ssh_port_t -p tcp 1999
- 방화벽에 1999 포트를 추가합니다.
$ firewall-cmd --permanent --zone=public --add-port=1999/tcp
- 방화벽을 다시 로드합니다.
$ firewall-cmd --reload
- ssh서비스를 다시 시작합니다.
$ systemctl restart sshd
2. ping 테스트 응답 차단
- ping 설정 확인하는 아래 명령어를 실행했을 때 값이 0 이 나온다면
$ sysctl -a | grep net.ipv4.icmp_echo_ignore_all
- /etc/sysctl.conf 경로의 파일을 vi로 열고 아래 내용을 추가하고 저장합니다.
net.ipv4.icmp_echo_ignore_all=1
- 재부팅 후 설정이 적용됩니다.
출처 : https://suwoni-codelab.com/linux/2017/05/22/Linux-CentOS-Security/