首页 > 系统相关 >记一次基础学习Ubuntu的经历

记一次基础学习Ubuntu的经历

时间:2023-08-28 18:31:49浏览次数:48  
标签:ssl rwxr 经历 学习 etc plengong Ubuntu xr root

  • 系统版本查阅
plengong@plengong:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
  • 网络配置
plengong@plengong:~$ vim /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: no
      addresses:
              - 192.168.224.110/24
      gateway4: 192.168.224.2
      nameservers:
              addresses:
                      - 223.5.5.5
                      - 114.114.114.114
  version: 2
root@plengong:/home/plengong# netplan apply # 应用配置文件


ubuntu 系统加固
  • 最小密码长度不得少于 12 个字符(所有用户)
  • 密码复杂度设置要求应包含大小写字母,数字和特殊字符(所有用户)
sudo vim /etc/pam.d/common-password
# here are the per-package modules (the "Primary" block)
password        requisite                       pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

配置参数详解:

参数

备注

minlen=12

密码长度

ocredit=-1

密码包含的标点符号个数

ucredit=-1

密码包含的大写字母个数

lcredit=-1

密码包含的小写字母个数

dcredit=-1

密码包含的数字个数

  • 在用户登录系统时,应该有“For authorized users only”的 banner 提示信息。
  • 登录前(终端)
plengong@plengong:~$ vim /etc/issue
Ubuntu 20.04.6 LTS \n \l
"For authorized users only" # 请不要使用任何关于欢迎类的字眼
  • 登陆前(网络)
plengong@plengong:~$ vim /etc/issue.net 
Ubuntu 20.04.6 LTS
"For authorized users only" # 请不要使用任何关于欢迎类的字眼
  • 登陆后
plengong@plengong:~$ cd /etc/update-motd.d/
plengong@plengong:/etc/update-motd.d$ cat 60-my-welcome-info 
#!/bin/bash
printf "For authorized users only"

tips:文件开头数字越小,优先加载

plengong@plengong:/etc/update-motd.d$ ll
total 68
drwxr-xr-x  2 root root 4096 Apr 28 00:56 ./
drwxr-xr-x 99 root root 4096 Apr 28 01:04 ../
-rwxr-xr-x  1 root root 1220 Dec  5  2019 00-header*
-rwxr-xr-x  1 root root 1157 Dec  5  2019 10-help-text*
lrwxrwxrwx  1 root root   46 Mar 14 22:43 50-landscape-sysinfo -> /usr/share/landscape/landscape-sysinfo.wrapper*
-rwxr-xr-x  1 root root 5023 Aug 17  2020 50-motd-news*
-rwxr-xr-x  1 root root  752 Apr 28 00:56 60-my-welcome-info*
-rwxr-xr-x  1 root root   84 Jul  3  2022 85-fwupd*
-rwxr-xr-x  1 root root  106 Feb 28 19:17 88-esm-announce*
-rwxr-xr-x  1 root root  218 Jan 20 19:17 90-updates-available*
-rwxr-xr-x  1 root root  263 Feb 28 19:17 91-contract-ua-esm-status*
-rwxr-xr-x  1 root root  374 Nov 20 22:31 91-release-upgrade*
-rwxr-xr-x  1 root root  165 Apr 25  2022 92-unattended-upgrades*
-rwxr-xr-x  1 root root  129 Jan 20 19:17 95-hwe-eol*
-rwxr-xr-x  1 root root  111 Nov  2  2021 97-overlayroot*
-rwxr-xr-x  1 root root  142 Jan 20 19:17 98-fsck-at-reboot*
-rwxr-xr-x  1 root root  144 Jan 20 19:17 98-reboot-required*
  • 一分钟内仅允许 5 次登录失败的尝试,超过 5 次,登录帐号锁定 1 分钟。(所有用户)
  • pam模块配置文件(ssh远程登录)
plengong@plengong:~$ sudo vim /etc/pam.d/sshd
# PAM configuration for the Secure Shell service
auth required pam_tally2.so deny=5 unlock_time=60
  • pam模块配置文件(终端登录)
plengong@plengong:~$ sudo vim /etc/pam.d/login
#
# The PAM configuration file for the Shadow `login' service
#
auth required pam_tally2.so deny=5 unlock_time=60
  • 非活动超时时间不得超过 1 分钟
plengong@plengong:~$ sudo vim /etc/profile
# 在文件末尾追加
export TMOUT=59 # 非活动时间(秒)
readonly TMOUT # 值设置为readonly 防止用户更改,在shell中无法修改TMOUT
plengong@plengong:~$ source /etc/profile # 刷新配置文件,立即生效

WWW

配置https服務

  1. 过滤配置文件
grep -v '#' default-ssl.conf_bak > default-ssl.conf
  1. 添加配置ssl文件
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/html
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/gd.crt
                SSLCertificateKeyFile /etc/ssl/private/gd.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>
  1. 导入ssl模块,重启服务
sudo a2enmod ssl
sudo systemctl restart apache2

配置HTTP重定向HTTPS

<VirtualHost *:80>
        Servername 192.168.224.110
        DocumentRoot /var/www/html
        
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        
        Redirect permanent / https://192.168.224.110
</VirtualHost>

禁止浏览web目录服务

<Directory /var/www/>
#       Options Indexes FollowSymLinks
        Options None
        AllowOverride None
        Require all granted
</Directory>

隐藏apache信息(网站服务,版本号)

ServerTokens Prod
ServerSignature Off

标签:ssl,rwxr,经历,学习,etc,plengong,Ubuntu,xr,root
From: https://blog.51cto.com/plengong/7266038

相关文章

  • 【学习目录】
    大数据后端Elasticsearch黑马https://www.bilibili.com/video/BV1Gh411j7d6/?p=4&spm_id_from=pageDriver&vd_source=6916013ff10f407b3c711485467e61ca前端Vue商医通(vue3+vite+pinia+ts)分类框架技术栈视频连接备注学习周期后端前端Vuehttps:/......
  • dos命令简单学习
    Dos命令打开命令行window+rcmd管理员身份右键window图标.命令dir查看目录cd/d目录名称进入目录cd:changedirectory通常情况下进入不同盘符中的文件需要两次命令:1.进入盘符,2.进入目录加入/d就可以直接进入不同盘符的目录同一盘符中更换目录,若使用/......
  • Markdown学习笔记
    标题标题只有1-6#ctrl+横排数字键字体加粗两个**斜体一个**列表无续列表-/**加空格有序列表数字+点加空格 引用这是一个引用右书名号加空格表格直接右键建立         代码块   这是一个代码块  ......
  • javascript学习笔记day7
    今天学了挺多新东西的,在学校教的东西都是很老了东西了,果然互联网完全真能靠自学,下面是今天的笔记varletconst优先使用const,即不会改变的变量,假设后续发现这个变量会改变就再使用letconsole.log打印属性console.dir打印信息innerText只修改标标签内容不解析标签innerHTML识......
  • 一般图最大匹配学习笔记
    Uoj#79LuoguP6113带花树算法(匈牙利算法\(Pro~max\))我们考虑现在访问到\(u\)点(黑色),\(u\)连向\(v\)点,分类讨论\(v\)点。1、\(v\)点没有被匹配过,直接令\(u\)点和\(v\)点匹配,然后更新答案2、\(v\)点匹配过,但之前还未被访问过,那么把\(v\)点染成白色,然后把\(v\)......
  • python+playwright 学习-78 获取浏览器cookies
    前言playwright操作浏览器上的页面后,后续如果想结合其他的框架操作接口(如:requests),可以直接获取到浏览器的cookies。context.cookies()获取浏览器cookies使用示例fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:browser=......
  • 学习笔记:分块
    前言非常粗略概念什么是分块算法?很简单就是暴力把一段长度为\(n\)的序列分成\(\sqrt{n}\)块块长为\(\sqrtn\)然后进行一系列暴力乱搞它的好处就是非常暴力好!先来看一道板子题目要求我们区间加一个数区间查询一段和这个东西怎么搞?考虑分块!首先呢把原数列......
  • 学习笔记414—Sigmoid函数求导
    Sigmoid函数求导基础知识: Sigmoid函数: Sigmoid图形: 生成Sigmoid图形代码:importtorchfromd2limporttorchasd2l%matplotlibinlinex=torch.arange(-8.0,8.0,0.1,requires_grad=True)sigmoid=torch.nn.Sigmoid()y=sigmoid(x)d2l.plot(x.detach(),y.detach(......
  • 学习mybatis连接
    1.在pom中添加mybatis,Junit依赖,以及MySQL数据库驱动在配置文件夹创建xml文件,默认名称为mybatis-config.xml在xml中配置数据库连接环境,官方文档有模板<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN"......
  • MAUI学习之始--数据绑定,命令绑定 MVVM
    MVVMMVVM(model-view-view-model)模型之前在刚开始学Xamarin的时候,都是把页面的的表示文件(.xaml)和页面中的命令写在一起。一开始只有一两个页面还好,因为每个页面之间的联系都不是特别多,我们还能看得过来。修改的时候也还好,就想改哪里点哪里。但是奥!但是!当我们页面......