美文网首页
Kode Engineer 1月任务记录 (持续...)

Kode Engineer 1月任务记录 (持续...)

作者: 呵呵x3 | 来源:发表于2023-01-18 17:05 被阅读0次

    写在最前面

    文章是记录我在https://kodekloud-engineer.com 这个网站上的练习进度。我的目标主要是提升自己技术周边的能力,然后通过这样一种持续和连续的练习,反过来回顾自己的不足和需要补足的东西。
    梦想在远方,路在脚下
    同时欢迎关注我的个人博客

    2023-01-05: Web服务器的安全配置(Web Server Security)

    目标: 1. 隐藏apache 服务器的版本信息 2.指定路径/media下的文件列表不能显示出来

    # 主要也是修改apache的服务配置文件
    vi /etc/httpd/conf/httpd.conf
    
    # 删除文件结构的索引,
    `Options indexes FollowSymLinks`  -> `Options FollowSymLinks` 
    
    # 添加如下内容来关闭版本信息
    ServerTokens Prod
    ServerSignature Off
    
    # **需要重启服务生效**
    

    2023-01-07: 配置nginx的SSL(Setup SSL for Nginx)

    目标: 配置nginx的ssl 服务

    # 这个虽然不熟,但多少是知道一点,以前也配置过环境
    # 修改默认配置文件
    vi /etc/nginx/nginx.conf
     # 修改服务器地址
    server_name   -> server_name 172.16.238.12
    
    #开启  Settings for a TLS enabled server 下被注释但服务配置
    
    # 修改证书路径配置,具体路径看实际情况
    ssl_certificate "/etc/pki/CA/certs/nautilus.crt";
    ssl_certificate_key "/etc/pki/CA/private/nautilus.key";
    
    # 修改网站的文件路径
     root      /usr/xxxx1/xxxx2/html;
     
    # 重启nginx服务
    systemctl restart nginx
    

    2023-01-09: 使用Linux的GPG 加密(Linux GPG Encryption)

    目标:使用gpg 和已经指定的密钥加密和解密指定的文件

    # 倒入已经指定的密钥对
    gpg --import public_key.asc
    gpg --import private_key.asc
    
    # 加密文件 -r 参数附带信息, --armor 让文件打开后以ascii 显示,输入文件用 -o 参数指定
    gpg --encrypt -r kodekloud@kodekloud.com --armor < encrypt_me.txt  -o encrypted_me.asc
    
    # 解密文件,这里有用户交互,密钥为`kodekloud`,在加密时候也可以指定
    gpg --decrypt decrypt_me.asc > decrypted_me.txt
    

    这个任务主要是工具的使用,参考工具的帮助文档,可以获取到更多的信息

    2023-01-10: 为apache服务添加指定的回复头部(Add Response Headers in Apache)

    目标: 1. 在apache的response中,添加指定的header 信息 2.修改端口,3.修改默认的首页内容

    # 这个任务也主要是修改配置,其中端口修改之前处理过,默认首页修改文件 `/var/www/html/index.html`
    # 打开配置文件
    vi /etc/httpd/conf/httpd.conf 
    # 添加任务中指定的头部
    Header set X-XSS-Protection "1; mode=block"
    Header set append X-Frame-Options SAMEORIGIN
    Header set X-Content-Type-Options nosniff
    
    # 重启服务生效
    systemctl restart httpd
    

    2023-01-11: Linux sudo 配置(Linux Configure sudo) rank: 543

    目标:为指定用户添加sudo的执行权限

    # 先查看指定的用户名是不是存在,不存在的话,需要先创建。保证存在用户才能执行添加管理员权限的逻辑
    cat /etc/passwd|grep javed 
    
    # 执行命令
    visudo
    
    # 可以参考其中的root 对配置,直接复制一行,然后修改用户名
    javed    ALL=(ALL)   NOPASSWD:ALL
    

    2023-01-16: 安装和配置Tomcat 服务(Install and Configure Tomcat Server) rank: 477

    目标: 安装tomcat服务器,开放指定端口,并且部署指定war包服务

    # 首先肯定是安装服务,并建立系统服务
    yum install tomcat -y
    systemctl start tomcat && systemctl enable tomcat
    # 如果需要,查看下服务状态
    systemctl status tomcat
    
    # 配置tomcat服务端口,修改Connector 标签里的端口 8080 -> 3004
    vi /etc/tomcat/server.xml
    # 重启tomcat服务
    systemctl restart tomcat 
    
    #修改文件权限,这里是看情况,不一定是root
    chmod 777 ROOT.war
    
    # 需要将指定的war 包拷贝到tomcat 配置的路径。会自动解压到对应的文件夹(ROOT)
    mv ROOT.war /var/lib/tomcat/webapps/
    
    

    2023-01-19: 安装和配置pgsql的服务 (Install and Configure PostgreSQL) rank:338

    目标:

    • 安装pgsql
    • 创建数据库 db8
    • 创建用户 tim,并该用户赋予对db8的所有全新啊
    • 使用md5校验密码

    这又是一个不太熟悉的操作,开发中多时候都是直接使用docker,然后权限的配置,就会使用GUI来操作,所以还是参考了别人的操作

    # 先要安装pgsql,包括客户端和服务端
    yum install postgresql-server postgresql-contrib -y
    # 需要先对数据库做初始化后,才能正常启动,这一步会创建 /var/lib/pgsql 文件夹以及对应对默认配置
    postgresql-setup initdb
    # 安装完成后需要启动
    systemctl start postgresql && systemctl enable postgresql && systemctl status postgresql
    # pgsql 默认用户为 postgres,所以先切换过去
    su - postgres
    # 之后启动客户端命令,景区pgsql的命令行输入模式
    pgsql
    # 创建名称为kodekloud_8的数据库
    create database kodekloud_8;
    # 创建用户 kodekloud_gem,并指定密码
    create user kodekloud_gem with ENCRYPTED PASSWORD 'YchZHRcLkL'; 
    # 用户和数据库之间的权限处理,赋予所有权限
    grant all privileges on database kodekloud_8 to "kodekloud_gem";
    # 然后退出命令行,并且切回到root 
    \q
    exit
    #尝试直接连接,会发现报错,因为我们密码是经过处理的
    psql -U kodekloud_tim -d kodekloud_db8 -h 127.0.0.1 -W
    # 所以编辑 /var/lib/pgsql/data/pg_hba.conf
    # 在最后部分,修改 IPv4 和IPv6 下host 对应的加密反思为 md5,也就是最后一列的属性
    # 重启pgsql的服务
    systectl restart postgresql
    

    个人感觉这里边的其实要了解的东西还是很多的,但我又并非是dba,所以一边就停留在有限但了解层面

    2023-01-20: 安装IPtables并进行配置 (IPtables Installation And Configuration)rank:290

    目标:

    • 安装iptables 防火墙应用
    • 配置端口 3002 只允许负载均衡服务器访问
    • 配置端口 3002 不允许外网访问
    • 配置必须持久化,服务器重启后依然有效

    iptables 是有一点点熟悉但,之前在学习linux基础知识时候有使用到,工作中也有用到

    # 安装
    yum install iptables-services  -y 
    # 然后是启动三连
    systemctl start iptables && systemctl enable iptables && systemctl status iptables
    
    # 开始配置
    # 这里有特别需要注意但地方,我是用 -I 的参数,也就是插入到 INPUT表的最前面
    # iptables 的匹配规则是从上到下,一旦满足,就不在继续使用后边的规则,所以要注意添加的顺序问题
    # INPUT、 DROP是表名称,大小写敏感
    iptables -I INPUT -p tcp --dport 3003 -j DROP
    iptables -I INPUT -p tcp --dport 3003 -s 172.16.238.14 -j ACCEPT
    
    # 最后需要保持持久化
    service iptables save 
    

    总结:iptables 平时用的也不多,云服务器一般都在控制台那一层就处理了。另外,运维说,一般也不用iptables作为防火墙,会用fire-wall 这样的服务器,类似于ubuntu里的ufw吧,使用上可能是更加方便了。iptables的用去还是挺大的,在k8s的网络那一层,用的就挺多的。但.....这可是个大话题😳

    相关文章

      网友评论

          本文标题:Kode Engineer 1月任务记录 (持续...)

          本文链接:https://www.haomeiwen.com/subject/hshfhdtx.html