设为首页 收藏本站
查看: 784|回复: 0

[经验分享] Linux安全应用2

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-5-20 11:02:13 | 显示全部楼层 |阅读模式
  [root@localhost 桌面]# service NetworkManager stop
  [root@localhost 桌面]# chkconfig NetworkManager off
  [root@localhost 桌面]# setup
  [root@localhost 桌面]# vim /etc/udev/rules.d/70-persistent-net.rules
  [root@localhost 桌面]# modprobe -rv e1000
  [root@localhost 桌面]# modprobe -v e1000
  [root@localhost 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  [root@localhost 桌面]#service network restart
  [root@localhost 桌面]# setenforce 0
  [root@localhost ssh]# vim /etc/selinux/config
  SELINUX=disabled
  :wq
  

  ssh -X 192.168.1.1     //加X可以在远程的服务器上打开system-network-date图形界面,在本地显示出来
  ssh 192.168.10.1 'useradd bob'  //在ip地址后面加命令,直接执行命令,不用登陆远程服务器
  ping6 ::1    //拼ipv6本地环回
  ping 127.0.0.1  //拼ipv4本地环回
  netstat -tunlp | nore  //查看监听tcp的端口号有哪些
  :::111   //:冒号后面111代表端口号,前面那两冒号代表ipv6任意地址
  

  /etc/ssh 配置文件
  ssh_config 客户端配置文件
  sshd_config 服务器端软件
  vim /etc/ssh/sshd_config
  Port 3389 //端口号
  Protocol2 2       //版本
  ListenAddress 192.168.168.174  //端听的IP地址,0.0.0.0代表所有的IP地址
  PermitRootLogin no   //不允许root用户登陆
  PermitEmptyPasswords no  //不允许空密码
  UseDNS no//不查找DNS,不查找IP对的名字是多少
  LoginGraceTime 2m       //登陆页面两分钟不动,自动断开
  StrictModes yes
  MaxAuthTries 6          //最大身份认证尝试6次
  :wq
  man ssh     //查ssh命令帮助
  man 5 sshd_config   //查配置文件配帮助,不要加路径
  ssh -p 3389 192.168.10.3   //通过端口号3389连接ssh
  

  sshl黑白名单设置
  配置文件 /etc/ssh/sshd_config
  从上往下
  1.   DenyUsers USER1 USER2 ...
  2.   AllowUsers USER1@HOST USER2...
  3.   DenyGroups GROUP1 GROUP2...
  4.   AllowGroups GROUP1 GROUP2...
  

  例:
  vim /etc/ssh/sshd_config
  AllowUsers tom root@192.168.10.5  //允许tom用户登陆,允许root用户在192.168.10.5的主机上登陆,其他不设允许的主机,默认不允许登陆
  :wq
  

  rsync httpd-2.2.25.tar.gz root@192.168.1.2:/home/demo
  scp httpd..tar.gz root@192.168.1.2:/home/demo
  

  加密技术
  一.加密方式
  1.对称加密:加解密使用相同的密钥。算法:DES/3DES/AES。优点,加密效率高,缺点,
  密钥的传输和保管不方便。
  2.非对称加密:公钥加密、私钥解密。算法:RSA。优点,密钥传输保管方便。缺点,
  加密效率低
  3.单向加密:加密只能向一个方向进行,不能回推。哈希算法。MD5、SHA
  

  [root@localhost ssh]# md5sum /etc/passwd
  [root@localhost ssh]# sha   -> 敲tab健
  sha1sum    sha224sum  sha256sum  sha384sum  sha512sum  sharesec
  [root@localhost ssh]# sha512sum /etc/passwd    //数字越大密钥越长
  

  bob:$6$xA/CY  //6代表sha512加密
  bob:$1$xA/CY  //1代表MD5加密
  

  实现不用密码即可连接ssh
  一.生成密钥对
  # ssh-keygen  ->后续全部回车->第一次回车修改密钥名字,第二次和第三次回车修改密钥密码
  /root/.ssh/id_rsa      //密钥对存放位置
  

  二.上传公钥到服务器root用户下
  # ssh-copy-id -i root@服务器IP地址
  # ssh-copy-id -i root@192.168.1.2
  

  /root/.ssh/id_rsa  私钥
  /root/.ssh/id_pub  公钥
  /root/ known_hosts 保存的密码信息
  

  cd /etc/ssh
  rm -rf ssh_host*
  service sshd restart
  ssh 192.168.1.2   //登陆不了
  这时把known_hosts 删了就可登陆
  rm -rf known_hosts
  ssh 192.168.1.2  //登陆成功
  

  [root@localhost .ssh]# ls
  id_rsa  id_rsa.pub  known_hosts
  [root@localhost .ssh]# rm -f id*
  [root@localhost .ssh]# ssh-keygen  //重新生成密钥
  

  [root@localhost .ssh]# ssh-add  //执行此步可以不用输入密钥就可以进行远程连接
  Could not open a connection to your authentication agent.
  [root@localhost .ssh]#eval `ssh-agent`   //如果ssh-add失败就执行此步
  Agent pid 5267
  [root@localhost .ssh]# ssh-add ~/.ssh/rsa   //如果ssh-add失败就执行此步
  /root/.ssh/rsa: No such file or directory
  [root@localhost .ssh]# ssh-add
  Enter passphrase for /root/.ssh/id_rsa:
  Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
  

  [root@localhost .ssh]# ssh-keygen
  yum list | grep wire  //查抓包工具
  yum -y install wireshark wireshark-gnome    //安装抓包工具
  应用程序-Internet-wireshark //打开抓包工具
  

  二.SSH加密、认证的验证
  1.当客户端第一次SSH到服务器时,服务器会发送他的密钥信息。客户端不能确定该密
  钥就是真正的服务器发过来的,所以屏幕上会提示是否信任该密钥。用户输入YES后,
  可以继续。
  2.在服务器端
  # rm -f /etc/ssh/ssh_host_*
  # service sshd restart
  3.客户端再次连接服务器,因为服务的密钥重新生成了,客户端本地存储的服务器密钥与
  本次会话服务器发过来的密钥信息不一致,所以客户端拒接连接
  4.客户端重新信任密钥
  # rm ~/ssh/known_hosts
  # ssh 服务器
  三.生成ssh密钥,使用密码保护私钥
  1.客户端生成密钥对。
  # ssh-keygen  ->提示输入passphrase的时候,输入密码,该密码是保护私钥的密码
  2.上传至公钥服务器
  # ssh-copy-id -i 服务器ip
  3.连接测试
  # ssh 服务器IP ->提示输入密码,这个密码是保护私钥的密码,而不是服务器的密码
  4.把私钥密码托管给agent
  # ssh-add
  5.再次SSH服务器,就不需要输入任何密码。
  

  四.证书  ->算法的载体
  1.CA证书颁发机构
  

  五.TCP WRAPPERS
  1.统一的保护策略
  多种TCP服务共用,提高效率
  

  2.检查服务是否支持被TCP WRAPPERS保护
  [root@localhost 桌面]# ldd `which sshd vsftpd` | grep wrap
  libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f274758c000)
  libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb676477000)
  

  3.防护规则存放在
  /etc/hosts.allow
  /etc/hosts.deny
  策略应用规律
  先检查hosts.allow,有匹配则允许
  否则再检查hosts.deny,有配匹则拒绝
  若两文件中均无匹配,默认为允许
  

  4.规则的格式
  服务列表:客户机列表
  关于客户机地址
  可使用通配符 ? 和  *
  网段地址,如 192.168.4
     或者 192.168.4.0/255.255.255.0
  区域地址, 如 .wsyht.com
  

  5.例:
  仅允许以下客户机访问 VSFTPD
  网段192.168.4.0/24
  IP范围:192.168.7.1-192.168.7.20
  # rpm -ql telnet-server  //查看他的服务名字
  

  # vim /etc/hosts.allow
  vsftpd : 192.168.4.*,192.168.7.?,192.168.7.1?,192.168.7.20
  sshd : 192.168.1.3
  in.telnetd : 192.168.1.3
  # vim /etc/hosts.deny
  # vsftpd:ALL
  

  五.AAA
  Authentication:身份认证  -> 你是谁
  Authorization:授权    -> 你能干什么
  Audit:审计    -> 你干了什么
  

  六.PAM可插拔身份认证模块
  1.配置文件:/etc/pam.d/
  2.配置文件的内容(栽选一行如下):
  accountrequiredpam_nologin.so
  第一列是认证类型,可用的选项有:
  accout: 执行基于用户管理的非认证行为操作,典型的,它可以限制用户的登陆时间、可用的系统资源
  auth:这个模块提供了驵证用户的两个方面。首先它认证用户是他声称的那个人(比如用密码验证),其次,
  它赋矛用户组成员身份或其他权限。
  password:当用户修改时,需要这个模块
  session:当赋矛用户某些服务之前或之后,要执行哪些操作。例如用户在访问数据时执行写日志操作。
  第二列是控制方式,可用的选项有
  required:检查结果失败,最终一定会失败,但是仍然检查后续。
  sufficient: 该项检查成功,立即通过,不再检查后续项。如果项检查失败,也不意味着最终会失败。
  optional: 可选
  include:包含另一个文件的内容
  第三列是调用的模块,这些模块位于/lib64/security下
  /var/log/secure 安全日志文件
  

  3.例一:只有whell组的成员才可以切换成root用户
  # vim /etc/pam.d/su  -> 打开auth   required  这行的注释
  以tom身份登陆,执行su - 操作,即使输入正确的密码,也不能登陆
  # usermod -aG wheel tom  ->  把tom加入到wheel组  a,追加,G附加
  再次执行su - 操作,tom可以切换成root用户
  

  4.例二:禁止tom从tty2登陆
  # vim /etc/pam.d/login   加入下面一行
  accountrequiredpam_access.so
  

  # vim /etc/security/access.conf   尾部增加,不能追加在最后一行
  - : tom : tty2   //-号代表取消的意思
  

  5.例三:只允许tom用户打开两个文件
  查看/etc/pam.d/system-auth中包含
  sessionrequiredpam_limits.so  尾部添加
  # vim /etc/security/limits.conf   尾部增加
  tomhardnofile 2
  不管是切换成为tom,还是以tom身份登陆,都被禁止
  

  6.例四.创建文件/etc/vsftpd/ftpgrps,该文件中的组不能访问ftp
  

  # groupadd denyftp
  # usermod -aG denyftp tom
  # echo 'denyftp' > /etc/vsftpd/ftpgrps
  # vim /etc/pam.d/vsftpd尾部增加
  auth   requiredpam_listfile.so  item=group  sense=deny
  file=/etc/vsftpd/ftpgrps onerr=succeed
  验证,tom登陆ftp,登陆不成功,检查/var/log/secure 日志
  

  7.例五,设置用户密码最短长度为9位
  # vim /etc/pam.d/system-auth
  password requisite pam_cracklib.so try_first_pass retry=3 minlen=9
  dcredit=0 ucredit=0 lcredit=0 ocredit=0
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-463516-1-1.html 上篇帖子: Linux安全应用1 下篇帖子: linux的find的命令用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表