2022년 7월 26일 화요일

apache2 웹서버 인증(basic authentication)

로컬 또는 내부 특정 웹서버 로그인 기능 추가하기.

예제는 Basic 인증으로 작성 됨.


# 대략적인 흐름

도메인 접속 > apache basic 인증 > 프록시 > 내부 웹서버 


# 설치
sudo apt install apache2-utils


# 계정추가
htpasswd -c /etc/apache2/.htpasswd test


# VirtualHost 설정, 프록시 패스

<VirtualHost *:80>

        ServerName 도메인

        ServerSignature Off

        RewriteEngine on

        RewriteCond %{HTTPS} !=on

        RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]

</VirtualHost>

<VirtualHost *:443>

        ServerName 도메인

        ServerSignature Off

        ProxyPreserveHost On

        AllowEncodedSlashes NoDecode

        RequestHeader set X_FORWARDED_PROTO 'https'

        RequestHeader set X-Forwarded-Ssl on

        ProxyPass / http://127.0.0.1:10012/

        ProxyPassReverse / http://127.0.0.1:10012/

        <Proxy *>

                Order deny,allow

                Allow from all

                Authtype Basic

                Authname "Password Required"

                AuthUserFile /etc/apache2/.htpasswd

                Require valid-user

        </Proxy>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>



# 테스트 결과

sudo service apache2 restart




ubuntu 웹캠 연동 메모

 # ubuntu 웹캠 연결 확인 방법

sudo apt install v4l-utils


# 카메라 번호 확인

ls -ltrh /dev/video*


# 포멧 체크

sudo v4l2-ctl -d /dev/video0 --list-formats-ext

sudo v4l2-ctl -d /dev/video1 --list-formats-ext


# 그룹권한 확인 및 추가

sudo groups 계정명

gpasswd -a 계정명 video

sudo usermod -a -G video 계정명


여기까지 설정이 완료되면 웹캠을 사용할 수 있음

만약 안된다면 재부팅 후 다시 확인.


# 테스트 환경

ubuntu 22.04 LTS

앱코 QHD 웹캠 APC930




2022년 7월 21일 목요일

MariaDB 초기 설정 메모

# 설치

apt install mariadb-server



# 설정
ubuntu 기준으로 작성.

- 포트변경 방법
vi /etc/mysql/my.cnf
port = 1234

- 접속IP 변경, 타임존 변경
vi /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address            = 0.0.0.0 
default-time-zone       = '+9:00'

- 설정변경 확인
service mariadb restart
netstat -nl | grep 1234

- 초기화 설정 진행
mysql_secure_installation



# 초기설정 SQL
- 접속
mysql -u root -p

- DB 목록 조회
show databases;
- 계정 조회
select host, user, password from mysql.user;
- DB 생성
create database testdb;
- 계정생성
create user 'testuser'@'%' identified by 'qwer1234';
- 패스워드 변경
UPDATE user SET password = password('원하는비밀번호') WHERE user = 'testuser';
- 권한 부여
grant all privileges on testdb.* to 'testuser'@'%';
flush privileges;
- 전역 인코딩 확인
show variables like "%char%";
- 데이터베이스 인코딩 확인
SELECT default_character_set_name, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA  WHERE schema_name = "testdb";
- 타임존 확인
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone;

2022년 7월 19일 화요일

clamav 설치 및 기본 사용방법

개발계 환경에서 딱히 필요할 것 같지는 않지만 혹시 모르니 메모..



# 설치

apt install clamav

apt install clamav-daemon


# 바이러스 체크

clamscan -r 체크경로 --move=이동경로

move에 설정된 경로에 감염된 파일이 이동 됨


# 바이러스 DB 수동 업데이트 방법

service clamav-freshclam stop

freshclam

service clamav-freshclam start



2022년 7월 18일 월요일

리눅스 로그인 배너 꾸미기

 # Banner 설정

vi /etc/ssh/sshd_config


Banner /etc/issue.net

Banner /etc/issue

Banner /etc/motd


issue.net - 원격접속 배너

issue - 로컬 접속 배너

motd - 로그인 후 배너


# 적용

service sshd restart


배너는 아스키 아트를 사용하여 이쁘게 꾸미면 됩니다.

https://www.asciiart.eu/


적용 예)



ubuntu samba 설치

 # samba 설치

apt install samba


# 설정 변경

vi /etc/samba/smb.conf

[homes]

   comment = Home Directories

   valid users = %S

   browseable = no

   read only = no

   guest ok = no

   writable = yes

   create mask = 0644

   directory mask = 0755

   

# 설정 적용

service smbd restart


# 계정 추가

smbpasswd -a test


# 윈도우 네트워크 드라이브 추가

\\192.168.0.2\test


우분투 SSH 타임아웃 설정

 vi /etc/profile


#타임아웃 지정, 120초
TMOUT=120
export TMOUT

source /etc/profile