OS : Ubuntu 20.04

nginx : 

 

1. 우분투 모든 패키지 최신화하기

sudo apt update
sudo apt upgrade

 

2. 우분투 20.04에 최신 Nginx 설치

2-1. 기존에 Nginx가 설치 되어있다면, 먼저 삭제 합니다.

sudo systemctl stop nginx
sudo apt-get purge nginx -y && sudo apt autoremove nginx -y

2.2 최신 Nginx PPA를 추가합니다.

sudo add-apt-repository ppa:ondrej/nginx-mainline
sudo apt update

2.3 Nginx 설치

sudo apt install nginx-core nginx-common nginx nginx-full

 

3. 저장소에 Nginx 소스코드 추가

(Modsecurity를 컴파일 하기 위해서)

3-1. apt 구성 파일을 엽니다.

sudo nano /etc/apt/sources.list.d/ondrej-ubuntu-nginx-mainline-*.list

3-2. #주석처리 되어있는 라인 해제

# deb-src http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ focal main

** 아래와 같이 형태로 만들면 됩니다 **
deb http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu focal main
deb-src http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu focal main

3-3. apt update

sudo apt update

 

4. Nginx 소스 다운로드

- Modsecurity를 컴파일 하려면 Nginx 소스코드를 다운로드 해야 합니다.

 

4-1. 디렉토리 생성 및 구성

sudo mkdir /usr/local/src/nginx
cd /usr/local/src/nginx

#필요한 경우, 생성한 디렉터리에 권한을 할당합니다.
sudo chown username:username /usr/local/src -R

4-2. 종속성 설치 및 소스코드 다운로드

sudo apt install dpkg-dev
sudo apt source nginx


## 아래와 비슷한 에러메시지가 나타날 수 있지만, 무시해도 됩니다 ##
dpkg-source: info: extracting nginx in nginx-1.21.1
dpkg-source: info: unpacking nginx_1.21.1.orig.tar.gz
dpkg-source: info: unpacking nginx_1.21.1-1+ubuntu20.04.1+deb.sury.org+1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0001-Make-sure-signature-stays-the-same-in-all-nginx-buil.patch
dpkg-source: info: applying 0002-define_gnu_source-on-other-glibc-based-platforms.patch
W: Download is performed unsandboxed as root as file 'nginx_1.21.1.orig.tar.gz' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

4.3 다운로드 받은 Nginx 버전과 현재 설치되어있는 Nginx 버전이 같은지 확인합니다.

- 같은 버전으로 다운받아야 컴파일 할 수 있습니다.

ls

## 결과 예시 ##
onsemiro@ubuntu:/usr/local/src/nginx$ ls
nginx-1.21.1
nginx_1.21.1-1+ubuntu20.04.1+deb.sury.org+1.debian.tar.xz
nginx_1.21.1-1+ubuntu20.04.1+deb.sury.org+1.dsc
nginx_1.21.1.orig.tar.gz
nginx_1.21.1.orig.tar.gz.asc


nginx -v

## 결과 예시 ##
onsemiro@ubuntu:/usr/local/src/nginx$ nginx -v
nginx version: nginx/1.21.1

 

5. ModSecurity용 libmodsecurity3 설치

5.1 GIthub에서 ModSecurity 리포 복제

sudo apt install git

git clone --depth 1 -b v3/master --single-branch https://github.com/SpiderLabs/ModSecurity /usr/local/src/ModSecurity/
cd /usr/local/src/ModSecurity/

5-2. libmodsecurity3 종속성 설치

sudo apt install gcc make build-essential autoconf automake libtool libcurl4-openssl-dev liblua5.3-dev libfuzzy-dev ssdeep gettext pkg-config libpcre3 libpcre3-dev libxml2 libxml2-dev libcurl4 libgeoip-dev libyajl-dev doxygen -y

5-3. 하위 모듈 설치 및 업데이트

git submodule init
git submodule update

 

6. ModSecurity 환경 구축

6-1. build & configure

./build.sh
./configure

## 위 2개 명령 실행 시, 아래의 오류가 표시될 수 있지만 무시해도 됩니다 ##
fatal: No names found, cannot describe anything.

6-2. 코드 컴파일

make

sudo make install

 

7. ModSecurity-nginx 커넥터 설치

7-1 ModSecurity-nginx 리포 복제

sudo git clone --depth 1 https://github.com/SpiderLabs/ModSecurity-nginx.git /usr/local/src/ModSecurity-nginx/

7-2. ModSecurity-nginx 종속성 설치

sudo apt build-dep nginx
sudo apt install uuid-dev

7-3. 컴파일

sudo ./configure --with-compat --add-dynamic-module=/usr/local/src/ModSecurity-nginx
sudo make modules

7-4. 동적모듈 복사

sudo cp objs/ngx_http_modsecurity_module.so /usr/share/nginx/modules/

 

8. Nginx conf파일 구성 (ModSeucrity-nginx 커넥터 로드 및 구성)

8-1. nginx.conf 에서 ModSecurity 활성화

sudo nano /etc/nginx/nginx.conf

## 파일 상단에 추가 ##
load_module modules/ngx_http_modsecurity_module.so;

## http {} 섹션에 추가 ##
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsec-config.conf;

8-2. ModSecurity용 디렉토리 및 파일 생성 및 구성

sudo mkdir /etc/nginx/modsec/
sudo cp /usr/local/src/ModSecurity/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf
sudo nano /etc/nginx/modsec/modsecurity.conf

## line 7
SecRuleEngine DetectionOnly -> SecRuleEngine On

## line 224
# Log everything we know about a transaction.
SecAuditLogParts ABIJDEFHZCopied! -> SecAuditLogParts ABCEFHJKZCopied!

8-3. conf 파일 생성

sudo nano /etc/nginx/modsec/modsec-config.conf

8-4. 생성한 파일에, 다음 라인 추가

Include /etc/nginx/modsec/modsecurity.conf

8-5. ModSecurity 유니코드 매핑

sudo cp /usr/local/src/ModSecurity/unicode.mapping /etc/nginx/modsec/

8-6. nginx 테스트

sudo nginx -t

## 결과 ##
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

## nginx 재시작 ##
sudo systemctl restart nginx

 

9. ModSecurity용 OWASP 핵심 규칙 세트 설치

9-1.  OWASP CRS 3.3.2 다운로드

wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.2.zip

9-2. 압축 풀기

## unzip 설치 ##
sudo apt install unzip

## 압축 풀기 ##
sudo unzip v3.3.2.zip -d /etc/nginx/modsec

9-3. Core Rule Set 복사

sudo cp /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf.example /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf

9-4. Core Rule Set 추가

sudo nano /etc/nginx/modsec/modsec-config.conf

## 아래 명령문 추가 ##
Include /etc/nginx/modsec/coreruleset-3.3.2/crs-setup.conf
Include /etc/nginx/modsec/coreruleset-3.3.2/rules/*.conf

## nginx 테스트 ##
sudo nginx -t

## nginx 재시작 ##
sudo systemctl restart nginx

 

 

참고: https://ko.linuxcapable.com/how-to-install-modsecurity-with-nginx-on-ubuntu-20-04/

오랜만에 다녀온 평일 여행.

어디를 갈까 찾아보다가 찾은 요 포스팅을 보고,

조소앙 생가와 황뱅이수변 산책로를 다녀오기로 했다.

 

https://m.blog.naver.com/yangju619/222016806446

 

서울 근교 산책하기 좋은 곳 : 숲길 걸으며 힐링 여행

올해는 코로나19로 인해 유난히 숲을 자주 찾게 되는데요. 아무래도 사람들이 많은 곳을 피하다 보니 주말...

blog.naver.com

 

 

먼저, 조소앙선생 기념공원에 도착했다.

기념공원은 요렇게 되어있다.

 

 

눈이와서, 주차장이 눈으로 가득 가득.

외부에 있는 화장실은 동파를 방지하기 위해 잠시 폐쇠한다고 되어 있었다.

 

 

조소앙선생님은 독립운동가이자, 대한민국 임시정부 외무총장까지 하신 분이다.

 

요게 정문이고, 생각보다 아담하다.

"합심하면 성립하고 분산하면 무너진다!"

 

"우리 대한은 완전한 우리민족의 대한이다" 

작은 공간이지만 알차게 채워져 있었고, 구석구석 볼것과 배울게 많았다.

 

기념관 옆쪽에는 집 터도 있었는데, 

아쉽게도 들어가볼 수는 없었지만, 보존은 잘 되어 있는 것 같았다.

 

옆으로 조금만 더 가면, 드디어 황뱅애 수변 산책로가 시작된다.

 

요렇게 계단으로 시작하는길.

뽀드득 뽀드득 눈소리가 기분 좋게 들린다.

나무 사이로 햇살이 비치는게, 아름답다.

 

겨울에 평일 아침이라 그런지, 사람이 아무도 없어서

마스크를 벗고 걸어봤는데 정말 너무너무 상쾌했다.

 

가다보면 저수지 둘레를 따라서 걷는 길이 나오는데

조용하고 한적하고 너무 좋다.

 

새하얀 눈이 저수지를 덮었는데

발자국 하나없이 깨긋한게 원래 하얀 땅 같은 느낌이다.

 

길을 걷다 문득 손잡이를 봤는데,

눈 결정이 이렇게 보인다.

신기하고, 이쁘다.

 

걷다보면, 낙엽위로 눈이 깔려 있어서

미끄러운 구간이 중간중간 있었는데,

그런 부분은 미끄러지지 않게 살금살금 걸어야 한다.

 

걷다보면 나오는 자작나무 숲.

다른 계절에 왔으면 하얀 나무들이 더 눈에 띄었을 것 같은데,

겨울이라 그런지, 다른 곳도 다 하얀색이라서

겨울에는 눈에 별로 안띄는 것 같다.

 

다음에 또 다시 오고 싶은 곳이다.

아라랑 두물머리에 놀러갔다가 오는길에

저녁으로 무얼먹을까 ~ 고민하다가

아라가 검색해서 찾아낸 곳

팔당원조 불닭발 오징어 집이다.

뭔가 구석진 곳에 있어서, 네비가 아니면 찾기 힘든 것 같은 곳이다.

사진으로 보니 좀 으스스한가?

이게 원래 아이폰에 있는 Live사진으로 찍은거라서

저 불빛들이 막 움직여서 괜찮은데,

블로그에 올리려고 사진을 변환하니까 좀 으스스하게 보이는것 같다.

 

 

내부는 뭔가 아늑아늑한 분위기인데

사장님이 해병대를 나오셨는지 군인 물품하고

해병대 물품들이 곳곳에 장식되어 있어서

구경하는 재미가 쏠쏠하다

그리고, 큰 난로가 있어서 훈훈함을 더해주고 있다.

 

 

요건 처음에 보고, 광산에서 일하시는

광부분들이 사용하시는 건줄 알았다..

 

 

반찬은 요렇게하고 당근을 주시는데,

깔끔하니 맛났었다.

그리고, 앞으로 메인메뉴를 먹는데 꼭 필요하다..!

 

 

일단, 메뉴는 요렇다.

여기서 불닭발 하고 오징어가 주 메뉴인데

우리는 불오징어볶음하고 칼국수를 주문했다.

 

그런데, 먹다보니 닭발 먹으러 오시는 분들이 많았다.

 

 

불오징어볶음!

주문할때 맵기를 물어보시는데,

가장 안맵게 해달라고 말씀드렸다.

매운게 진짜 얼마나 매울지 무서워서...

 

 

오징어가 어찌나 탱글탱글한지

씹을때마다 식감이 정말 와..

어떻게 조리하시는지 엄청 궁금했다...

 

그리고, 제일 안매운맛으로 했는데도

나는 먹을때마다 땀을 엄청 흘렸는데,

이게 제일 매운맛으로 하면 어떻게 되는거지..?

 

 

그래서, 나같은 맵찔이들은

요 칼국수를 같이 주문해야 한다.

칼국수 자체만으로도 진짜 맛있는데

 

공기밥에 칼국수 국물하고 오징어볶음 섞어서 먹으면

환상 환상 !

 

아라랑 깔끔하게 클리어하고,

여기는 다음에도 꼭 다시오자고 했다.

 

낙성대역과 서울대입구역 중간 즈음에 있는

산이형네 횟집에 다녀왔답니다.

 

방어철에는 역시 방어죠.

우리는 방어 "한마리" + 새우튀김 + 매운탕 세트를 주문했답니다.

 

 

기본 셋팅은 요렇게 깔끔하게 나온답니다.

 

 

그리고, 고등어구이 한마리가 나오는데,

이 고등어구이가 진짜 촉촉하게 구워 나오는데

다른곳에서는 보기 힘든 구이인것 같다.

 

 

고등어구이를 다 먹으니, 

세트중에 하나인 오징어튀김이 나왔는데, 

사진에는 잘 안보이지만 고구마? 감자? 튀김도 아래쪽에 있다.

 

 

한입 베어 물면, 산이형네 횟집 오징어튀김의 진가를 알 수 있는데

진짜 바삭바삭 하고, 안은 꽉차 있는게..

같이 주시는 간장에 살짝 찍어먹으면

입에서 사르르 녹는 튀김이다.

 

막 나와서 따듯할때 먹는게 제일 맛있다!

 

 

드디어, 메인메뉴인 방어회!

아주 굵직 굵직하게 썰어주셔서 한판 꽉차게 나오는데

회만 먹어도 배가 부를것 같은 비쥬얼이다.

 

 

윤기가 좌르르 흐르는게

신선하다는걸 바로 알 수 있는 회인데요.

 

입에 넣으면, 쫄깃쫄깃하고

굵직하게 썰려 있어서 그런지 쫀득쫀득하다.

 

아라의 표현을 빌리자면, 

목구멍으로 넘어가는게 너무 아깝다고 한다.

 

 

마지막으로 해물탕이 나왔는데,

처음 나올때 못찍어서 아쉽다..

 

매운탕은 칼칼하니 딱 회먹고 먹기 딱 좋다.

공기밥도 추가해서 먹으면 배도 아주 든든하게 채울 수 있다.

 

언제가도 후회하지 않는 산이형네 횟집

다음에도 또 갈거랍니다.

마포역 근처에 있는

마포 원조 떡볶이를 먹으러 갔다.

 

 

가자마자, 보이는 길고~ 긴 줄.

맛집은 맛집인가 보다. 

백종원이 3대천왕에 나와서 

더 유명해졌다고 한다.

 

 

들어오자마자 보이는 

옛날감성 달력과 현판

 

 

간신히 자리잡고 앉았는데

밖에는 여전히 기다리는 사람들이 많다.

 

그리고, 들어왔다고 주문을 바로 할 수 있는게 아니고

원래 줄 서있던 자리에 맞춰서,

사장님이 주문하라고 알려주시는데 

그때 주문하면 된다.

 

 

요게 메뉴판인데 

메뉴가 조금 햇갈릴 수 있어서 

잘 봐야 한다.

 

우리는 떡볶이 2인분에

튀김 1인분, 순대 1인분을 시켰다.

 

 

음식은 금방 나오는데,

아쉽게 순대는 못찍었다..

떡볶이는 뭔가 일반 떡보다 두꺼웠는데

쫄깃쫄깃 맛있었다.

 

튀김은 바삭바삭 해서 소스에 찍어먹으면

딱 좋은 맛.

 

전체적으로 맛있었다.

아라도 이런곳이 흔할 것 같지만

막상 찾아보면 없다고 한 곳이다.

 

하지만, 현금으로만 결제가 되는게 조금 아쉬웠다.

 

제목: 소중한 사람에게 우울증이 찾아왔습니다.

지은이 : 휘프 바위선

 

부제인 "나를 잃지 않고 함께 살아가기 위한 심리 안내서" 와 같이

곁에 있는 사람에게 우울증이 찾아왔을때 어떻게 해야

상대방에게 조금이라도 더 도움이 되는 것일지 알려주는 책이다.

 

목차를 보면

우울증이 어떤감정일까? 부터 시작해서 

어떻게 도울 수 있고, 어떤 치료를 받는게 좋은지

그리고, 가족의 우울증이 나에게는 어떤 영향을 끼칠 수 있을지까지

다루고 있다.

 

책을 읽으면서 느낀건,

만약 자기 자신이 우울증이 있다고 하더라도

제 3자의 입장에서 생각할 수 있게 해주기 때문에

자기 자신을 조금더 객관적으로 볼 수 있게 해주는데도

도움을 줄 수 있을 것 같다.

 

가장 인상에 남았던 구절은

마지막 부분에 나온

독일 출신 미국 신학자 라인홀트 니부어가

1935년에 쓴 짧은 기도다.

 

"주여, 제게 평온한 마음을 허락하소서.

바꿀 수 없는 일은 받아들이게 하시고

바꿀 수 있는 일은 바꿀 수 있는 용기를 주소서.

그리고, 이 둘을 분별할 수 있는 지혜를 주소서."

청량리역에서 간단하게 요기거리를 해보자 하고 찾아보다가,

떡볶이를 먹어보자고 막 여기저기 찾아보다가

롯데마트 안쪽에 있는 감탄 떡볶이를 가게 되었다.

 

마트 안쪽에 있어서 찾기는 어렵지 않았다.

우리는 간단한 요기거리만 할거여서 쌀떡볶이 1인분만 주문했다.

3,500원!

 

 

사장님이 센스있게, 1인분만 주문했는데도 국물을 2개나 주셔서, 

따듯하게 마실 수 있었다.

감사합니다 :)

 

떡볶이는 양념이 얼큰하니 맛있고, 쌀떡이라 그런지 쫄깃쫄깃하니 맛있었다.

다음에도 또 들리겠습니다!

아라와 함께 갔던, 신촌 화덕피자 맛집 카페 티문 (TMOON)

조금 일찍가서, 처음 갔을때는 문이 잠겨 있었지만,

한반퀴 돌고 오니 다행이 문이 열려 있었다.

이날, 날씨가 더워서 조금 헥헥 했던 기억이 있다.

 

 

문을 들고 열어가면 요렇게 아늑한 자리들이 있다.

1층에서 커피와 피자를 주문했는데,

내 생각에는 음식점 이라기 보다는 카페가 좀 더 맞는 것 같아서,

맛집 카페라고 제목을 정해 봤다.

 

사진은 못 찍었지만, 카운터 있는 곳에 화덕도 있다..!

 

 

이 곳은, 총 3층으로 이루어져 있다.

요긴 2층으로 올라가는 계단.

 

 

군데 군데, 요렇게 그림이나 소품들이

아기자기 하게 꾸며져 있다.

 

 

2층은 가장 넓은 곳인데,

좌석도 그만큼 많다.

그리고 전체적으로 창이 크게크게 나 있어서

탁 트인 느낌을 줬었다.

 

 

요렇게 바 형식으로 된, 된 곳도 있어서

혼자 오는 사람들도 편하게 있을 수 있을 것 같다.

그리고, 콘센트도 군데군데 생각보다 많아서

노트북 이용하는 손님들도 많을 것 같았다.

 

 

우리가 앉은 곳은 요기,

둥그렇게 되어 있어서, 밖을 볼 수 있었다.

 

 

우리가 너무 이른 시간에 왔는지, 우리 빼고 아무 손님도 없어서, 3층 까지 올라가 봤는데,

3층은 2층보다는 살짝 좁았지만, 아늑했다. 

그리고, 뭔가 더 이쁜 자리들이 있었지만, 2층 보다는 조금 더워서

우리는 2층에 그냥 있기로 !

 

 

참고로, 화장실도 엄청 깔끔했다.!

 

 

커피와 피자 2판을 주문했다.

가격이 조금 있는 듯 했지만, 나중에 보면 알겠지만

음식 퀄리티가 좋아서 비싼게 아니라는 걸 알 수 있다.

 

 

아인슈페너와 아메리카노

이쁘게 담겨져 나온다.

아메리카노도 시원하니 맛있다!

 

 

피자는 요렇게 1인 사이즈로 나오는데,

생각보다 양이 많아서 엄청 배부르다.

그리고, 진짜 잘 구워져서 그런지 엄청 맛있다..!

 

 

아마 요게 마르게리따? 피자일거다.

잘 구분을 못하지만.. 꿀이 없으니까.. 

 

 

요건, 꿀이 있으니까 고르곤졸라 겠지..?

피자 2개 모두 정말 정말 맛있다.

그리고, 1인 사이즈지만 생각보다 커서

한끼 식사로도 전혀 부족함이 없다.

 

다음에 기회되면 또 찾아오기로 !

+ Recent posts