분류 전체보기 169

계정이 존재하지 않은 GID금지

■ 점검분류항목: 계정관리■ 세부점검항목: 계정이 존재하지 않은 GID 금지■ 대상: 리눅스■ 위험도: 하■ 관련코드: U-12 1) 취약점 개요미흡한 계정 그룹 관리로 인해 구성원이 없는 그룹이 존재할 경우 해당 그룹 소유의 파일이 비인가자에게 노출될 위험이 있음, 계정이 존재하지 않는 GID(Group Identification) 설정을 관리자와 검토 후 제거하여야 함GID(Group Identification): 다수의 사용자가 특정 개체를 공유할 수 있게 연계시키는 특정그룹의 이름으로 주로 계정처리 목적으로 사용되며, 한 사용자는 여러 개의 GID를 가질 수 있음 2) 판단기준양호: 존재하지 않은 계정에 GID 설정을 금지한 경우취약: 존재하지 않은 계정에 GID 설정이 되어있는 경우 3) 조치방..

관리자 그룹에 최소한의 계정포함

■ 점검 분류항목: 계정관리 ■ 새부점검항목: 관리자 그룹에 최소한의 계정포함 ■ 대상: 리눅스 ■ 위험도: 하 ■ 관리코드: U-11 1) 취약점 설명 시스템을 관리하는 root 계정이 속한 그룹은 시스템 운영 파일에 대한 접근권한이 부여되어 있으므로 최소한의 계정만 등록되어 있어야 합니다. 해당 그룹 관리가 이루어지지 않으면 허가되지 않은 일반 사용자가 관리자의 권한으로 시스템에 접근할수 있으며 파일 수정 및 변경 등의 악의적인 작업으로 인해 시스템 운영에 피해를 줄수 있습니다. 2) 판단기준 양호: 관리자 그룹에서 불필요한 계정이 등록되어 있지 않은 경우 취약: 관리자 그룹에 불필요한 계정이 등록되어 있는 경우 3) 조치방법 현재 등록된 계정 현황 확인 후 불필요한 계정 삭제 4) 보안설정 방법 ■..

서버보안_보안성검토_체크리스트_사용설명서

■ 점검 분류항목: 계정관리■ 세부 점검항목: 불필요한 계정의 삭제■ OS 종류: Linux■ 위험도: 하 1) 취약점 설명OS나 Package의 설치시 Default로 생성되는 계정은 대부분 기본 초기값인 Default로 설정되는 경우가 많다. 때문에 패스워드 추측공격에 악용기 가능하고, 시스템에서 사용하지 않는 ip,uucp,nuucp 등의 Default 계정 및 의심스러운 계정의 존재유무를 확인 후 삭제를 해야한다. ex)퇴직, 전직,휴직등으로 더 이상 사용하지 않는 계정, 불필요한 계정, 의심스러운 계정은 삭제해야 한다. 특히, 장기간 사용하지 않는 미사용 계정은 반복적인 패스워드 추측 공격이 가능하고 해당 계정 정보의 유출 여부 확인이 어렵다. 2) 판단의 기준○ (양호) - 불필요한 계정이 존..

클래스 메서드와 인스턴스 메서드의 이론적인 내용

변수에서 그랬던 것과 같이, 메서드 앞에 static이 붙어 있으면 클래스메서드이고 붙어 있지 않으면 인스턴스 메서드이다.클래스 메서드도 클래스변수처럼, 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'와 같은 식으로 호출이 가능핟. 반면에 인스턴스 메서드는 반드시 객체를 생성해야 만 호출할 수 있다.그렇다면 클래스를 정의할 때, 어느 경우에 static을 사용해서 클래스 메서드로 정의해야 하는 것일까?클래스는 '데이터(변수)와 데이터에 관련된 메서드의 집합'이므로, 같은 클래스 내에 있는 메서드와 멤버변수는 아주 밀접한 관계가 있다.인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는 , 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 그런데 인스턴스 변수는 인스턴스(객..

기본형 매개변수와 참조형 매개변수의 차이점

12345678910111213141516171819202122232425 class ReturnTest { public static void main(String[] args) { ReturnTest r = new ReturnTest(); int result = r.add(3, 5); System.out.println(result); int[] result2 = { 0 };// new int [] {0};을 축약하면 {0}으로 변경이 가능하다. r.add(3, 5, result2); System.out.println(result2[0]); } int add(int a, int b) { return a + b; } void add(int a, int b, int[] result) { result[0] =..

배열 메소드의 소환

1234567891011121314151617class referenceParamEx2 { public static void main(String[] args) { int[] x = new int[] { 10 }; System.out.println("메인 메소드의 소환-->main():X=" + x[0]); change(x); System.out.println("메소드 소환후-->After change(x)"); System.out.println("최종 메인 메소드-->main():X=" + x[0]); } static void change(int[] x) { x[0] = 1000; System.out.println("메소드 소환--> change():X=" + x[0]); }} Colored by Co..

기본형 매개변수 VS 참조형 매개변수

1234567891011121314151617181920212223242526272829class Data { int x;} class ReferenceParamEx { public static void main(String[] args) { // 항상 시작은 main부터 시작이 되며 Data타입이 존재하기 때문에 상단의 class가 Data가 존재해야 한다. // 이후 Data 클래스 안의 멤버변수안에 접근이 가능하다. // 멤버변수의 접근은 참조변수의 경우 인스턴스를 생성후에 접근을 해야 한다. // d.x를 통해 x의 값이 10으로 설정을 한다. // 이후 change()의 메소드를 실행하는데 자연스럽게 satic이 붙은 메소드가 실행이 되며 d.x=1000을 통해 전역변수의 //d.x의 값은 10..