2024/09 17

프로젝트 - DB연동

여기 또한 실수를.. 그냥 실력이 몹시 부족하다.... 공부를 더 열심히 해야한다... ======= 1. 연결 테스트 DB 생성 (db서버에 해줘야 한다.)grant all on *.* to 'testdb'@'%' identified by '1234';// 1번째 왼쪽 별 = 내가 접속할수있는데이터베이스(와일드카드문자) 모든 데이터베이스에 접속허용// 2번째 오른쪽 별 = 내가 접근할 테이블 모든 데이터베이스의 모든 테이블 접속허용flush privileges;// 설정 적용 2. tomcat에 테스트 파일 업로드- home 디렉터리에 복사mv /home/moo/mariadb_test.jsp /opt/tomcat/webapps/test/// /home/ 뒤에 붙는건 계정이름 3. 톰캣 / 디렉터리 설정..

프로젝트 진행 - tomcat 웹페이지

여기서도 치명적 오류를 몇개 범했다. ======= 1. 톰캣 웹 어플리케이션 구동 위치 지정/opt/tomcat/webapps 웹마다 디렉터리로 구분하며 각 어플리케이션 디렉터리 안에는 WEB-INF 디렉터리와 하위 파일 web.xml이 존재해야 한다.- web.xml은 생성을 했지만, WEB-INF 가 존재해야하는걸 체크하지 못했기 때문에404 -  요청한 리소스 '/'는 가용되지 않습니다.오류가 자꾸 떴던것 같다. 2. 어플리케이션 디렉터리 생성cd /opt/tomcat/webappsmkdir testcd test - webapps 밑에 있는 test 폴더에 출력할것들을 넣어줄것이다. 3. WEB-INF 디렉터리 생성mkdir WEB-INF 4. WEB-INF / web.xml 디렉터리, 파일을 복..

프로젝트 ing.. - was tomcat9 설정

tomcat9 과 mariadb를 연동을 몇일을 했는데 안되서 조언을 구했더니 여러가지 문제가 많았다 ======= 1. tomcat 사용자 추가 홈 디렉터리는 /opt/tomcat 에 생성 uid는 1010 로그인쉘은 false (nfs 연결 고려)useradd -u 1010 -U -m -d /opt/tomcat -s /bin/false tomcat 2. tomcat 사용자 권한 부여chown -R tomcat:tomcat /opt/tomcat 3. 설치한 자바 (open jdk) 경로 확인read link -f $ (which java)/usr/lib/jvm/java-1.8.0-openjdk-1.8.0- 여기서부터 내가 범한 오류인것 같다...- 기본적으로 1.8.0은 openjdk 8버전이고, 내가..

프로젝트 진행중

3 tier 구성 WAS = ubuntu Linux 20.04 , Tomcat 9 사용DB = ubuntu 20.04 mariadb 사용DB Backup = ubuntu 20.04 mariadb 사용 WAS  tomcat 구성1. tomcat 다운로드wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz 압축 해제tar -xvzf apache-tomcat-9.0.75.tar.gz 설치 디렉터리 이동mv apache-tomcat-9.0.75.tar.gz /opt/tomcat Tomcat 서비스 설정- systemd 서비스 파일을 만들어서 tomcat을 시스템 서비스로 등록한다.vi /etc/systemd/sy..

52일차 - 프로젝트 시작

======= 3 Tier WEB, WAS(Web Application Server), DB APM (Apache PHP Mysql) 연동 중간을 연결해주는 미들웨어 WAS LAMP (Linux Apache Mysql PHP) 연동 nginx /tomcat /mysql web site에서 회원가입을 할 경우 클라이언트가 member_register.php 요청하는 상황 http://web ip/index.html 홈디렉토리 밑에 index.html 파일 요청 http://ip/board/board_list.php 연동에서 사이트 스크립트를 보여주는건 php,jsp,asp client side script html js 클라이언트에게 보내줌 server side script  asp, php, jsp  서..

51일차 - L4 S/W(로드밸런싱)

======= Security - ACL(Access Control List) : S.IP, D.IP, D.Port - NAT(Network Address Translation)  - VPN(Virtual Private Network)  공용망을 사용함으로써 비용절감, 암호화로 인해 보안 수준이 높음 preshared 방식 - 대칭키로 자주 사용 받은내용 알고리즘과 키를 사용해 암호화 보낼땐 목적지 사설IP와 맵핑된 공인 IP로 전송 Tunneling - VPN과 VPN장비 사이의 구간 - VPN과 VPN 통신의 연결통로 - 공용망에서 암호화해서 통신하는것 (안좋은) - 다른쪽으로 라우팅이 될 수 없음(세팅상 출구(목적지)가 하나밖에 없기때문, 그래서 이름도 터널) - VPN 구성을 하면 터널이 뚫린다 ..

50일차 - UTM , VPN

======= UTM Allow , Drop - 네트워크 보안 솔루션 - 망을 지킨다 - 라우터와 스위치 사이에 위치 시킨다. 보안 정책은 늘 위에서부터 본다. 상용 보안 솔루션은 규모가 크지않은곳은 Allow all로 세팅이 되있을수도 있다. - 주소변환만 해주면 바로 통신이 된다. DMZ - 내부사람도, 모르는 외부사람도 들어올 수 있게 하는것 DNAT - Change the destination = 목적지를 바꾸는것, DNAT에서 중요하다 VPN(Virtual Private Network) - 가상 사설망 1. 전용선 : 보안성이 좋음, 비용이 많으딤 2. 공용망 : 비용이 적게듬 , 보안성이 떨어짐 = 암호화통신을 이용한다 망대망 VPN통신 Preshared key 방식(사전공유키) VPN은 불특..

49일차

======= DCL(Data Control Language) 데이터제어어(DCL, Data Control Language) - DB에 대한보안, 무결성, 복구 등 DBMS를 제어하기 위한 언어 - GRANT(권한할당), REVOKE(권한해제), COMMIT(실행), ROLLBACK(복구) - COMMIT, ROLLBACK 은 트랜젝션에 관련된 언어로 TCL 로 구분하기도 함 - 윈도우 = 이벤트로그로 로그 관련은 전부 이벤트 로그로 넣음  계정확인 - mysql DB의 user Table 에서 DBMS 계정에 대한 정보를 관리 > show databases; > use mysql; > show tables; => user 테이블 확인 > desc user; => Host, User, Password 3..

48일차 - MariaDB DML

======= DML : Select, insert into, update, delete DDL : create, drop, alter DCL : grant, revoke DML DATA 수정 - where 로 조건을 지정하지 않으면 테이블 내 모든 레코드의 값이 변경됨 MariaDB> update  set   =  [ , ... ] [ where  ] ; > update kor_mem set pass = '1q2w3e4r', age = 31 where id = 'test3' ; > select * from kor_mem where id = 'test3'; DATA 삭제 - where 로 조건을 지정하지 않으면 테이블 내 모든 데이터가 삭제됨 MariaDB> delete  from  [ where  ] ..

47일차 - MariaDB

======= DataBase 틀을 만들어 데이터를 저장한다는 느낌으로 생각하기 기본SQL 문법종류 데이터정의어(DDL, Data Definition Language) - 데이터베이스의 구조를 정의 하거나 변경, 삭제하기 위해 사용하는 언어 - 주로 DB관리자 또는 설계자가 사용 - CREATE(개체 생성), ALTER(개체 수정), DROP(개체 삭제), TRUNCATE(개체 초기화)  데이터조작어(DML, Data Manipulation Language) - data를 조작하기 위해사용하는언어 - data의 삽입, 수정, 삭제, 조회 등의 동작을 제어 - data를 이용하려는 사용자와 시스템간의 인터페이스를 직접적으로 제공하는 언어 - 가장 많이 사용됨(공격 시에도 가장 많이 사용) - INSERT(..