반응형

limits.conf 수정

sudo vi /etc/security/limits.conf

 

아래와 같이 작성해준다.

모든 유저에 대해 최대 로그인수 4

 

ssh 다시 시작

sudo service sshd restart

 

반응형
반응형

우분투 ssh 서비스를 사용하다보면 해외에서 여러번 접속을 시도하면서 서버 해킹을 시도하는 것을 어렵지 않게 볼 수 있습니다. 이를 막기 위해선 몇가지 보안 세팅이 필수입니다. 단순히 접속 시도 로고만 들어가도 많은 시도가 있는 걸 알 수 있습니다.

 

 

보안 세팅에는 해외 ip 차단, 연속접속시도 차단이 있습니다.

 

해외 ip 차단 - GeoIP Country Database

 

[우분투] ssh 보안 세팅: 해외 ip 차단 (+::ffff: 오류 수정)

최근 관련 게시글 중 /usr/local/bin/sshfilter.sh의 코드 문제로 인해 해외 ip 차단 및 정상적인 ssh 접속이 작동하지 않는  경우가 있습니다./var/log/syslog에서 아래 로그와 같이 문제가 생겨 ssh 원격 접속

darkenergy.tistory.com

연속접속시도 차단 - fail2ban

 

[우분투] fail2ban 설정

ssh를 사용하다보면 외부에서 무작위로 접근해 공격하는 일이 생긴다. 따라서, 연속적인 접속 시도를 막아 서버의 보안을 강화할 수 있는 fail2ban을 설정이 필요하다. 오늘은 fail2ban을 세팅해보자.

darkenergy.tistory.com

 

반응형
반응형

fail2ban 상태 확인

sudo fail2ban-client status

 

Ban 풀기

- 단일 ip

sudo fail2ban-client set unbanip <IP 주소>

 

- 다중 ip

sudo fail2ban-client unban <IP 주소> ... <IP 주소>

 

- 전부

sudo fail2ban-client unban --all

로그 확인

sudo vi /var/log/fail2ban.log

 

반응형
반응형

ssh를 사용하다보면 외부에서 무작위로 접근해 공격하는 일이 생긴다. 따라서, 연속적인 접속 시도를 막아 서버의 보안을 강화할 수 있는 fail2ban을 설정이 필요하다. 오늘은 fail2ban을 세팅해보자.

 

목차

1. 시스템 페키지 업데이트

2. fail2ban 패키지 설치

3. config 세팅

4. fail2ban 재시동 및 동작 여부 확인

 

 

1. 시스템 페키지 업데이트

fail2ban 패키지를 설치하기 전 시스템 패키지를 업데이트해준다.

sudo apt update && sudo apt upgrade

 

2. fail2ban 패키지 설치

sudo apt install fail2ban

 

3. config 세팅

패키지가 업데이트될 때 덮어 쓸 수 있으니 설정 파일을 복사하고 다른 파일을 사용한다.

sudo cp /etc/fail2ban/jail.{conf,local}
sudo vi /etc/fail2ban/jail.local

아래로 쭉 내리다보면 아래 내용이 나온다.  #(주석)을 지워주고 내용을 추가해주자.

bantime = -1: 영구 차단

findtime = 10m: 반복적인 접속시도 간격, 10동안 연속 접속하면 차단

maxretry = 5: 최대 연속 접속 횟수

 

4. fail2ban 재시동 및 동작 여부 확인

sudo systemctl restart fail2ban.service
sudo systemctl status fil2ban.service

이렇게 나오면 fail2ban 세팅은 끝이다.

 

+ fail2ban을 사용하다보면 잠긴 계정을 풀거나 로그를 확인할 일이 필요하다. 관련 명령어는 아래 게시글을 참고하기 바랍니다.

 

[우분투] fail2ban 관련 간단 명령어

fail2ban 상태 확인sudo fail2ban-client status Ban 풀기- 단일 ipsudo fail2ban-client set unbanip  - 다중 ipsudo fail2ban-client unban ...  - 전부sudo fail2ban-client unban --all로그 확인sudo vi /var/log/fail2ban.log

darkenergy.tistory.com

 

반응형
반응형

최근 관련 게시글 중 /usr/local/bin/sshfilter.sh의 코드 문제로 인해 해외 ip 차단 및 정상적인 ssh 접속이 작동하지 않는  경우가 있습니다.

/var/log/syslog에서 아래 로그와 같이 문제가 생겨 ssh 원격 접속이 되지 않는 분들은 바로 2번으로 넘어가 shell script만변경하면 됩니다.


 

ssh를 세팅하다 보면 보안 세팅으로 해외 ip 차단이 필요하다. 하루에도 수십번씩 해외에서 무작위로 ip에 접근을 시도하고 있기 때문이다. 마침 Ubuntu 24.04 버전을 서버에 새로 설치한 터라 새로운 버전을 체험할 겸 ssh 보안 세팅을 헤주기로 했다.

 

목차

1. GeoIP Country Database 설치

2. Shell Script 작성 !인터넷에 올라와있는 코드 오류 수정!

3. SSH 잠금 설정

4. 정상 작동 테스트

5. GEOIP의 주기적 UPDATE

 

1. GeoIP Country Database 설치

ip 구분을 위해 geoiplookup 명령어와 GeoIP country database를 설치한다.

sudo apt-get install geoip-bin geoip-database

 

명령어를 입력하여 작동하는지 테스트

geoiplookup 8.8.8.8

GeoIP Country Edition: US, United States가 나오면 정상 작동하는 것이다.

 

2. Shell Script 작성

sudo vi /usr/local/bin/sshfilter.sh

/usr/local/bin/sshfilter.sh 에 아래 내용을 입력하고 저장한다.

#!/bin/bash

ALLOW_COUNTRIES="KR"

if [ $# -ne 1 ]; then
  echo "Usage: `basename $0` <ip>" 1>&2
  exit 1
fi

IP=$1

# IPv6 주소 IPv4 주소로 변환
if [[ $IP =~ ^::ffff: ]]; then
  IP=$(echo $IP | sed 's/^::ffff://')
fi

COUNTRY=$(/usr/bin/geoiplookup $IP | awk -F ": " '{ print $2 }' | awk -F "," '{ print $1 }' | head -n 1)

if [ "$COUNTRY" = "IP Address not found" ] || [[ $ALLOW_COUNTRIES =~ $COUNTRY ]]; then
  exit 0
else
  logger "DENY sshd connection from $IP ($COUNTRY)"
  exit 1
fi


!! 기존의 코드는 ipv6에선 정상작동하지 않는 오류가 있어서

ipv6에서 ipv4로 변경해주는 코드를 추가하였다 !!

 

 

 

 


소유권과 실행 권한을 변경해준다.

sudo chown root:root /usr/local/bin/sshfilter.sh
sudo chmod 775 /usr/local/bin/sshfilter.sh

 

3. SSH 잠금 설정

sudo vi /etc/hosts.deny

아래 내용 새로 추가

sshd: ALL
sudo vi /etc/hosts.allow
sshd: ALL: aclexec /usr/local/bin/sshfilter.sh %a

간단하게 설명을 하자면 hosts.deny로 기본적으로 모든 접속을 허용하지 않도록 하되, hosts.allow를 통해 원하는 ip만 접속을 허용시켜줬다. 이 때 접속을 허용 ip는 sshfilter.sh를 통해 구분해줬다.

 4. 정상 작동 테스트

/usr/local/bin/sshfilter.sh 8.8.8.8
sudo vi /var/log/syslog

ctrl+End를 통해 맨 아래 DENY sshd connection from 8.8.8.8 (US)가 있으면 정상 작동 중인 것이다.

 

5. GEOIP의 주기적 UPDATE

주기적으로 ip를 업데이트 해주는 파일 생성한다.

sudo vi /etc/cron.monthly/updatingGeoIP

 

아래대로 내용을 작성한다.

#!/bin/bash



cd /tmp

wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz

if [ -f GeoIP.dat.gz ]

then

    gzip -d GeoIP.dat.gz

    rm -f /usr/share/GeoIP/GeoIP.dat

    mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat

else

    echo "The GeoIP library could not be downloaded and updated"

fi

여기까지 문제가 없다면 ssh 보안 세팅인 해외 ip 차단은 끝이다.

 

reference

[1]

 

우분투 해외ip ssh차단

우분투에서 해외ip ssh접속을 차단하기. 1. GEOIP DATABASE 설치 geoiplookup 명령어와 GeoIP country (free) database를 설치합니다. $ sudo apt-get install geoip-bin geoip-database 잘 설치 되었는지 다음과 같이 테스트를

shutcoding.tistory.com

반응형
반응형

우분투는 24.04 가쥰 자동 화면 잠금이 기본적으로 5분으로 되어있습니다. 이걸 해제하기 위해선 아래와 같은 설정하면 됩니다.

 

1. 화면 잠금 페이지로 이동

 

한글 기준: 설정 => 사생활 보호 및 보안 => 화면 잠금

영어 기준: Settings => Privacy => Screen Lock

2. 화면 잠금 해제 설정

 

빈 화면 지연 시간: 안 함

자동 화면 잠금: 해제

 

반응형
반응형

 

 

[우분투] 파이참 실행 오류 수정기(java 버전 오류)

# # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f78e07fd960, pid=2455, tid=2559 # # JRE version: OpenJDK Runtime Environment JBR-17.0.8.1+7-1000.32-jcef (17.0.8.1+7) (build 17.0.8.1+7-b1000.32) # Java VM:

darkenergy.tistory.com

 

 이전 글에서 java 버전 오류에 따른 파이참 실행 오류를 수정한 적이 있었는데 이후에도 계속 비슷한 문제가 계속 발생했다. 문제의 원인을 계속 찾던 중 소프트웨어의 문제가 아닌 하드웨어의 문제가 있을 수 있다는 생각이 들었고, 구매한 회사에 점검을 맡긴 결과 램이 문제인 것을 확인했다.

 

 컴퓨터가 단순히 램 오류로 처음부터 부팅이 안 되거나 부팅 후 얼마 안 있다가 꺼지는 것이 아닌, 많은 리소스를 잡아먹는 프로그램을 실행 중에 오류가 나는 처음 봤다..

 

 따라서 오늘은 우분투 환경에서 램을 점검하는 방법을 정리하고자 한다.

 

우분투에는 기본적으로 램을 테스트 할 수 있는 Memtest86+가 있다. 

 

Ubuntu 20.04에서 Memtest를 실행하는 방법

Ubuntu 20.04에서 Memtest를 실행하는 방법 랜덤 액세스 메모리 또는 RAM은 모든 컴퓨터 시스템의 중요한 부분입니다. 새로운 Ubuntu 환경 또는 VPS(Virtual Private Server)를 설정하고 시스템에 설치되고 사용

ko.linux-console.net

 이 시스템이 여러 번 충돌한 경우 유용할 수 있습니다. 버그 보고서를 제출하기 전에 먼저 memtest를 수행해야 합니다.

 

혹시 우분투 시스템이 지속적인 충돌이 발생한다면 memtest를 실행해 봅시다.

반응형

'ubuntu > pycharm' 카테고리의 다른 글

[우분투] 파이참 메뉴바 사라짐 현상 해결  (0) 2023.12.09
반응형

 

오랜만에 친구들과 함께 1박 2일 여행을 가게 되었는데요

무려 실내에서 캠핑 감성을 느낄 수 있다는 곳이 있다고 해서 찾아가봤습니다.

 

 

 

여주 리승 캠프에서 찍은 인생샷 (뒤에 사람이 한 명 더 있는 건 안 비밀~)

 

여주라서 한참 걸릴 줄 알았는데,
바로 가는 고속버스타고 1시간 10분 밖에 안 걸리더라고요.

즐겁게 놀기 위해 수면 중~

 

강가 앞에 있는 곳이라 그런지 전망도 좋고,

무엇보다 캠핑 감성이 미쳤더라고요!

 

 

탁 트인 시야가 답답한 맘도  뚫어주는 것 같았습니다 :)

 

그리고 안 쪽엔 아늑한 텐트도 있었습니다.

아래 전기 매트도 있어서 따뜻하게 잘 수 있게 되어있더라고요!

 

금강산도 식후경이라고

도착하자마자 짐을 풀고 근처에 시장에 다녀왔습니다.

 

근처에 탕후루집도 있어서 먹어봤는데,

딸기상큼해서 생각보다 너무 달지 않아서 좋았습니다.

 

그리고 마침 슈크림 붕어빵도 팔아서 바로 사서 먹어줬습니다.

붕어빵은 역시 슈크림~

 

마침 보쌈 맛집이 있다고 해서

저녁으로 보쌈도 한가득 사왔습니다.

 

후식으로 베라도 뚝딱 해줬습니다~

 

 

 

 

 

 

그렇게 맛있게 저녁을 해치우고 나니 눈 앞에 펼쳐진 건~

 

 

 

 

 

 

 

정말 아름답고 감성 넘치는 야경!

 

 

 

그리고 트리!

 

 

 

저희는 감성에 취해 인생샷도 찍고~

 

신나게 도 춰줬습니다~

 

 

 

 

 

 

 

 

 

 

 

그리고

 

 

 

다음날에 발견된 건?

 

 

 

 

 

 

 

 

 

 

 

 

숨쉰 채 발견된 친구....

 

 

 

 

 

 

 


음주적당히 합시다.


 

 

 

 

 

 

 

 

 


여주 리송 캠프 스튜디오


 

 


 

반응형

+ Recent posts