문제 발생 로그인 시에 IP 제한 기능을 구현하기 위해 다음 코드와 같이 로그인 로직을 처리하기 전에 클라이언트의 IP를 얻어와 허용된 IP인지 체크하려고 했다. @PostMapping("/login") public String login(LoginDto loginDto, HttpServletRequest request) { String remoteAddr = request.getRemoteAddr(); // 1. IP 체크 로직 // 2. 로그인 로직 } 하지만 getRemoteAddr()로 부터 얻어온 IP는 요청한 클라이언트의 IP가 아닌 웹 서버의 IP주소가 담겨있었다. 문제 원인 이러한 현상이 나타나는 이유를 찾아보니 클라이언트와 서버 중간에서 트래픽이 프록시나 로드 밸런서를 거치게 되면, 서버..
Docker를 사용하는데 No space left on device 에러가 발생했다. 확인해보니 디스크 용량이 부족한게 문제였다. 이를 해결하기 위해 Docker Container에서 사용하지 않는 모든 Docker Volume을 정리 하기 위해 아래 명령어를 사용했다. docker volume prune 위의 명령어를 통해 Docker Volume을 정리하였지만 크게 효과를 보지못하였다. 그래서 현재 Docker가 사용하고 있는 디스크 공간을 여유 있는 디스크 공간으로 변경하기로 했다. 먼저, 실행중인 Docker Service를 중지시킨다. systemctl stop docker Docker 종료시에 다음과 같은 내용이 출력된다면 systemctl stop docker Warning: Stopping..
1. fail2ban이란? fail2ban 은 무차별 대입 및 기타 자동화된 공격으로부터 서비스를 보호하는 솔루션이다. 💡 참고: fail2ban은 사용자 이름/비밀번호 인증이 필요한 서비스를 보호하는 데만 사용할 수 있다. 예를 들어 fail2ban으로 ping을 보호할 수 없다. 2. fail2ban 설치 CentOS 7 이전에는 secure 로그파일에 의존하여 동작 했으나 CentOS 7 부터는 systemd에서 통합적으로 관리한다. 로그파일이 없으면 fail2ban 동작불가하기 때문에 fail2ban-systemd를 같이 설치한다. sudo yum -y install fail2ban fail2ban-systemd sudo systemctl enable fail2ban sudo systemctl s..
SSH는 22번 포트를 기본적으로 사용하고, root 계정은 가장 상위 권한을 가지고 있으며, default 계정이기 때문에 보안상의 이유로 SSH 포트를 임의의 포트로 변경하고 root 계정의 원격 접속을 제한하는 것이 바람직합니다. SSH 포트 변경과 root 계정의 원격 접속을 제한하기 위해 /etc/ssh 디렉터리에 존재하는 sshd_config 설정 파일을 vi 편집기를 통해 다음 내용을 수정합니다. sudo vi /etc/ssh/sshd_config Port 포트번호 # 임의의 포트번호 지정 PermitRootLogin no # root 계정 접속 제한 변경한 내용을 적용하기 위해 sshd 서비스를 재시작합니다. sudo systemctl restart sshd 만약 SElinux를 사용할 경..
- Total
- Today
- Yesterday
- docker
- logrotate
- fail2ban
- port
- 몽고DB
- ssh
- Apache
- denied
- catalina.out
- Permission
- tomcat
- X-Forwarded-For
- /tmp/mongodb-27017.sock
- Failed to unlink socket file
- No space left on device
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |